🍄

[個人開発]機能開発の方針をどう決めているのか?~ユーザーの行動を考える~

2023/08/10に公開

皆さん、個人開発楽しいですよね?
私は楽しいです。でも「あれもこれも機能を盛り込みたい!」だとか、「ここまで作ったけど、次はどうしよう...」など
悩みはいっぱい出てくると思います。
私は特に、「ここまで作ったけど、次はどうしよう...」と何度も思いました。
その時に次に開発する機能をどう考えたか、どんな計画を立てて機能開発を進めているかについて私の作成しているアプリ「BARISTAI」とともに見ていきたいと思います。
https://baristai.net
本記事は以下の小城さんのnoteの方法に沿って実践して理解した範囲でしてみているという記事です。
私は参考にさせてもらっているnoteです。一度読んでみてください。
https://note.com/takashi_koshiro/n/n091f2dfe3f58

ドリップ支援サービス「BARISTAI」

みなさん、コーヒーは飲みますか?
私は毎日飲みます。めっちゃ好きです。
コーヒー豆を挽き、粉にして、その上からお湯を注いでコーヒーを抽出するのです。それがドリップです。
私はそのドリップ体験を向上させるベく、このアプリBARISTAIを開発しています。
いつもドリップする時は、
コーヒー豆を焙煎したお店のドリップレシピを検索して、それに沿ってドリップしていました。
やはり、焙煎するお店にもドリップレシピのこだわりがあり、そのお店のレシピでコーヒーを淹れる方が美味しかったりするのです。
ただこれは非常にめんどくさいのです。何がめんどくさいかというと、

  • ドリップレシピを検索する→めんどくさい
  • 妻と二人分のコーヒーを淹れたいがレシピは一人分なので二人分の量に計算し直す。→めんどくさい
  • タイマーとg数とレシピを全部みながらドリップする→めんどくさい

非常にめんどくさいです。なのでそれを全部いい感じにしてくれるのがBARISTAIなのです。

1.ターゲットを決める

ターゲットを決める理由

まず開発するにあたってターゲットを決めることが大事です。
なぜならここを決めないと、いろんな意見に振り回されてしまいます。
例えば
「コーヒーなんてカフェイン取るために苦汁を飲んでいるだけの人が大半」
友人にアプリの宣伝したときに、こんな風に言われてしまいました。
私はこの意見に足して「確かにその層の方が多いよな」と思ってしまったのです。この考えになってしまうと、次にこう考えてしまうのです。
「じゃあコーヒーのおいしさをわかって楽しんでもらえるようにしないとダメだな、じゃあそのため機能ってどんなのだろう?」

この問いを考えること自体は無駄ではないと思います。そこからいろんな知見が得られるかもしれません。ただ、今考えるべきことなのでしょうか?最初にドリップするアプリとして開発を始めたのに方向性が明後日の方向に飛んでいってしまいます。
もし先の意見に耳を傾け解決策を考え開発を進めてしまうと、機能がとっ散らかり何をしたいアプリかわからなくなってしまう可能性があります。その結果ユーザーの体験は大きく損なわれユーザーが離れてしまうと思うのです。
そのため、しっかりターゲットを決めて言語化することで大量のアイデアや意見から大事なアプリを守リましょう。

「コーヒーなんてカフェイン取るために苦汁を飲んでいるだけの人が大半」と言われた時、すかさずこう返せばよかったのです。
「そこはターゲットではない。ターゲットにしているのは、すでにコーヒーをドリップして楽しんでいる人だ。」

ターゲットを決めるときはユーザーの行動を考える。

ここでターゲットを決める時に注意しないといけないことは、年齢や性別などの属性でターゲットを決めないことです。
小城さんのnoteから引用させてもらうのですが、属性でターゲットを決めてクリティカルに刺さる機能を考えることは難しい可能性があるのです。
https://note.com/takashi_koshiro/n/n091f2dfe3f58

属性が違っても、顧客体験はそれほど変わらない」のではないだろうか。
このような空間に対峙すると、30代女性も60代男性も「番号札の発行方法が分からない」という共通したペインポイントを感じることになる。そこに、年齢・性別・価値観といった属性変数はほとんど影響を及ぼさないのだ。
このような事例から読み取れるように、顧客体験は「属性」よりも「対象物を使用する際の状況・文脈」によって大きく変化する、という性質を有している。属性の違いよりも状況・文脈の違い(婚姻届 or 生活保護)の方が、そこで生じる顧客体験に与える影響は大きい。

つまりはターゲットを決めるときは対象物を使用する際の状況・文脈で考えるべきだということです。
私は以下の行動を実施しているような人をターゲットにしてアプリを開発することに決めました。
言葉で表すと「すでにコーヒーをドリップして楽しんでいる人」ですね。

では「そこはターゲットではない。ターゲットにしているのは、すでにコーヒーをドリップして楽しんでいる人だ。」というのは、ターゲットとして適切でしょうか?もっと深く掘り下げれるでしょうか?
人に話す時だとこれで良いんじゃないかと私は思ったりしています。
ただ開発の方針を決める時はこれだと決められないことの方が多いので、もっとターゲットを深掘りする必要があります。
ここでドリップを楽しんでいる人の状況を考えることで掘り下げていきたいと思います。

では次に「コーヒーをドリップして楽しんでいる人」について掘り下げていきたいと思います。
深掘りする際には私自信がコーヒーを入れるシーンを想像しながら、掘り下げてみました。そうすると以下の行動フローが考えられました。

こう考えるとターゲットとなるような行動は二つ出てきました。

  1. コーヒー豆を購入→レシピを調べる→コーヒー豆を挽く→レシピ通りにドリップ→コーヒーを飲む
  2. コーヒー豆を購入→いつものレシピを調べる→コーヒー豆を挽く→レシピをアレンジしてドリップ→コーヒーを飲む

これをピックアップした理由は自分の実際に行う流れで一番多いものを二つピックアップして書きました。
これが機能開発を考える必要のある場所になると私は思っています。このように考えると機能開発を考えるべき点が割とすんなりフォーカスでき他の可能性を一旦排除することができます。
つまりターゲットを決める時に大切なのでは属性でなくて「対象物を使用する際の状況・文脈」だったんですね。

ただこれ以外にももっといろんな流れでドリップをすることはあると思います。
それを考えるときは、今の考えた行動フローに対しての機能が煮詰まり、次以降に開発するものを考えるステップの時に考えるべき点だと思っています。

2.顧客体験を理解する

ターゲットとなる行動が決まったのであれば、あとはペインポイントを抽出して・・・。どうやってペインポイントみつければいいの!?
このペインポイントを抽出するにあたって重要なのはまずは「顧客体験を理解する」ことです。
では顧客体験を理解ってなんでしょうか?理解する必要があるのでしょうか?小城さんのnoteには以下のように書いています。
https://note.com/takashi_koshiro/n/n091f2dfe3f58

まず、顧客体験を理解するうえでもっとも重要なことを提示しよう。それは「①ターゲット顧客から見える認知世界」と「②顧客の情動」をセットで理解することである。
顧客の情動のみを理解しただけでは、そこから仮説を立案することは難しい。市役所のケースでも、「番号札の発行方法が分からない」という痛みを顧客が抱えているという情報だけでは、具体的にどうすれば体験品質を高められるかを提案することは難しいのではないだろうか。

ターゲットとなる行動とその気持ちをセットで理解することが顧客理解だということです。確かに辛いってことだけ言われても何をどうすればいいの?となるので行動と合わせて気持ちも理解すると言うことが大事なようです。
では早速ですが気持ちと行動を考えるために、ドリップする時の行動ををもっと深掘ります。

ドリップレシピを検索する→ドリップレシピを計算する→ケトル、サーバー(抽出されたコーヒーをうけるもの)、スケールなど器具を用意する→コーヒー豆を計り、挽いて粉にします。→ タイマーとg数とレシピを全部みながらドリップする→抽出したコーヒーをグラスに移す

では次にそれぞれでどんな気持ちになっているかをみてみましょう。

  1. ドリップレシピを検索する→まあまあめんどいな
  2. ドリップレシピを計算する→めちゃくちゃめんどいな
  3. ケトル、サーバー(抽出されたコーヒーをうけるもの)、スケールなど器具を用意する→近くに器具置いてるけどちょっとめんどいな
  4. コーヒー豆を計り、挽いて粉にします。→中挽きってどのダイヤルに合わせたらいいの?
  5. タイマーとg数とレシピを全部みながらドリップする→注ぐのめっちゃ大変やけど、ドリップは楽しいな!注ぐタイミング間違えた!やべ!過抽出になったら嫌やな。
  6. 抽出したコーヒーをグラスに移す→どんな味かな?楽しみだな。

いやー、楽しみはほとんど5と6だけなんですね。5は楽しいけど、快適ではないって感じです。他はめんどくさいが強いですね。
自分が顧客なので情動への解像度がめちゃくちゃ高い!!個人開発は自分が顧客になるのでめっちゃ良いですね。
行動と気持ちを見ていくことで綺麗に何がペインポイントでどれから解決するべきか整理しやすくなりますね。

次に自分ではない人の理解(多分大体の人はこっちが一番の顧客理解)
これを実際に友人へユーザーインタビューした時も後からメモを見直して考えたりもしました。その結果生まれたものもあります。それが音声アシストです。
ここの話は長くなりそうなので別記事で書きます。

3.ペインポイントを言語化し、そこから機能を考える

Iteration#1

まずはさっき書いた気持ちからペインポイントを言語化してみよう。

  1. ドリップレシピを検索する→まあまあめんどいな
    [ペインポイント]いちいちブラウザで検索して、そこからレシピ探すのが面倒。or もらったレシピカード探すの面倒。
  2. ドリップレシピを計算する→めちゃくちゃめんどいな
    [ペインポイント]二人分とかならまだしも三人分でかつ複雑なレシピとか暗算するの頭使うからだるい。
  3. ケトル、サーバー(抽出されたコーヒーをうけるもの)、スケールなど器具を用意する→近くに器具置いてるけどちょっとめんどいな
    [ペインポイント]いちいち準備するのが面倒。
  4. コーヒー豆を計り、挽いて粉にします。→中挽きってどのダイヤルに合わせたらいいの?
    [ペインポイント]挽き目を決めるのが難しい。
  5. タイマーとg数とレシピを全部みながらドリップする→注ぐのめっちゃ大変やけど、ドリップは楽しいな!注ぐタイミング間違えた!やべ!過抽出になったら嫌やな。
    [ペインポイント]いろんなところに視線が行くので、注ぐタイミングを間違えてしまう可能性がある。その過抽出になってせっかくのコーヒーがあんまり美味しくなかったら悲しい。
  6. 抽出したコーヒーをグラスに移す→どんな味かな?楽しみだな。
    [ペインポイント]特になし

ここまでペインポイントを言語化できたら、次はそのペインポイントを解決するための機能を2,3個考えてみます。

ペインポイント 機能案
いちいちブラウザで検索して、そこからレシピ探すのが面倒。or もらったレシピカード探すの面倒。 これに対してはもうレシピを集めてレシピ検索作れば解決!
二人分とかならまだしも三人分でかつ複雑なレシピとか暗算するの頭使うからだるい。 コーヒー豆のg数から自動で計算できるようにしちゃえば解決!
いろんなところに視線が行くので、注ぐタイミングを間違えてしまう可能性がある。その過抽出になってせっかくのコーヒーがあんまり美味しくなかったら悲しい。 これはタイマーとレシピを纏めて、目のやり場をタイマーとg数だけにすると解決に近づくかも!

すぐに作る機能が出てきますね。
でもこれって割とすぐに出てくるようなアイデアですよね?
じゃあそれぞれ使ってみて、そこからまた顧客理解を深めていくことを繰り返すのですよ。

Iteration#2

例えば、レシピ検索部分の機能とレシピの自動計算の作りました。
ここから同じように実際に使ってみてどうだったかを行動と気持ちでまとめてみます。

  1. BARISTAIでドリップレシピをお店名で検索する→文字入力めんどいな。他で簡単に検索したいな。
    [ペインポイント①]:レシピの特徴がわからない。
    [ペインポイント②]:レシピの検索がお店名を覚えていないとできない。
  2. BARISTAIでドリップレシピを計算→便利やな。でも文字小さいな
    [ペインポイント]:文字が小さくてみづらい。レシピがバラバラで目を動かさないといけない。
  3. {以下省略}
    次にここからペインポイントを言語化し、それに対して機能を考えてみましょう。

そしてペインポイントが言語化できたら、それに対して再度機能が提案しやすくなりますね。考えてみます。

ペインポイント 機能案
レシピの特徴がわからない。 タグなどでレシピに特徴を載せる。
レシピの検索がお店名を覚えていないとできない。 タグ検索できるようにする。
文字が小さくてみづらい。レシピがバラバラで目を動かさないといけない。 レシピに関する情報はできるだけまとめて表示する。

上記のようにペインポイントをはっきりと言語化することでクリティカルにヒットしそうな機能を考えることができるのです。
これを繰り返していくことでもっと良いアプリが作れるのではないかと私は期待しています

そして、Iteration#Nへ

上記を繰り返すことで、顧客に最適な機能がだんだんと追加されていくことになると思います。
ただ、これの出来上がった機能に足して改善サイクルを繰り返すだけでは顧客にとっては局所最適なアプリになってしまう可能性があります。
全体最適な変化を生み出すためには、何回もターゲットを再定義し全体を見て顧客理解をアップデートしていくことが大事だと思っています。
つまり

1.ターゲットを決める → 2.顧客体験を理解する → 3.ペインポイントを言語化し、そこから機能を考える

を何回もサイクルを回してアップデートし続けることが大事です。
と、ここまでこんなことを巨人の肩を借りて偉そうに言っているのですが、BARISTAIはまだIteration#2で止まっているようなものです。
今後も精進していきたいと思っています。暖かく見守っていて欲しいです。

最後に

ここまであたかもこのサイクルを守りながら開発を進めているように見えますが、そんなことはなくて結構思いつきで進めている部分も多いです。優先順位も私が欲しいと思った順で進めています。
ただ「ここまで作ったけど、次はどうしよう...」となった時、もしくは「あれもこれも機能を盛り込みたい!」となった時は、ここで書いたことを振り返ってどんな機能を作るかを考えるようにしています。
BARISTAIはまだあまり使ってくださる人は少ないのですが、私は完全にヘビーユーザーになってしまいました。
確実に良いものを作るにあたって上記の考え方はすごく大事だと実感しています。(自分の思うペインポイントを解決したからというのが大きい気もしますが...)

BARISTAIへ追加して欲しい機能などどんどん募集しておりますので、@hudebakonosoto
もしくは以下の問い合わせからご連絡ください!
https://docs.google.com/forms/d/15T28xUPg07iyoUikAAisk6ePwAHcavgV9fiPlhuoPH4

BARISTAIのアプリ現在、iOS 版を配布中です。以下のリンクからダウンロードしてみてください!
https://apps.apple.com/jp/app/baristai/id6451368281

Androidの方はPWAに対応しているのでWebブラウザからinstallいただけますのでぜひインストールしてみてください!
http://baristai.net

Discussion