エンジニアと顧客理解

この記事は、CYBOZU SUMMER BLOG FES '24 (kintone Stage) DAY 8 の記事です。

kintone 新機能開発チームでエンジニアをしているぶっちーです。

私のチームでは、有志のメンバーで集まって顧客、ユーザーとの接点の情報がたくさん詰まった「コンタクト履歴」を読んで、顧客の理解を深める活動を行いました。
コンタクト履歴とは、営業やカスタマーサクセスなどのメンバーと顧客のやり取りが記録されているデータベースです。
数ヶ月このコンタクト履歴を読むことを続けた結果、理解が進んだ感覚はあるものの、まだまだ改善の余地があるのではないかと感じました。そこで一度立ち止まって、なぜエンジニアが顧客理解をすると良いのかについて改めて考えてみました。

なぜエンジニアが顧客理解に取り組む必要があるのか

私がなぜ顧客理解に取り組むのか?それは「良いプロダクトを創る」ためです。
この「良いプロダクト」とは何なのか。よく耳にする条件として、「プロダクトの価値はどれだけ顧客・ユーザーの課題や要望を解決しているか」というものがあり、自分もその通りだと考えています。
そのため、課題や要望を解決していないとプロダクトにどれだけ機能があっても、そのプロダクトに機能分だけ価値があるとは言えないと思います。それと同時に、機能がどんな課題や要望を解決しているかまでを含めてプロダクトだと考えることもでき、解決している課題や要望を知らないことはプロダクトを理解していないことと同じだとも考えられます。そして、この課題や要望は顧客やユーザーの存在があるから生まれるものであり、理解するためには顧客、ユーザーの理解が必要だと考えます。
しかし、普段の機能開発はこの価値の部分を理解していなくても進めることが可能です。そのため、エンジニアは顧客・ユーザー理解は必要ないんじゃないか、とも考えられます。

ただ、一つ考えたい視点があります。それは、機能の作り込みと課題の解決度合いの関係です。その関係性を考えてみると、機能を作り込めば作り込むほど、課題の解決度合いも向上する、というわけではなさそうだと思います。ある一定の解決度合いに達した後は、同じ時間を使うならば、より価値を創出できる開発に充てた方がプロダクト全体の価値は向上します。つまり、作り込みと創出する価値の度合いのバランスが良いところを見つけられると、プロダクト全体の価値を効果的に向上させることができて嬉しいです。この落とし所を見つけるには、「実装コストの見積もり」と「創出できる価値」を理解しておく必要があります。エンジニアは、「実装コストの見積もり」の精度に関しては普段の業務で向上させることができますが、「創出できる価値」の理解は普段の業務内では難しく、ここがわからないとちょうど良いバランスになる落とし所がわからないというわけです。そのため、顧客がどんな課題や要望を持っているのかの理解を深め、実装コストと顧客への価値とのちょうど良いバランスのラインを見極められるようになることで、作り込みすぎを防止して新しい価値の創出に時間を当てられるようになり、製品全体の価値を向上させることができます。やはり、良いプロダクトを作るために顧客理解は重要だと考えます。

ただ、チームメンバー全員が必ずしも両方の視点の理解を深めておく必要はないと思います。エンジニアでなくとも、PM メンバーのサポートを受けながら効率の良い価値創出をしていくこともできます。しかし、全ての機能に対して PM のサポートを受けていると、コミュニケーションやヒアリング等のコストがかかりますし、PM の負担も大きくなります。そのため、エンジニアメンバーの中に顧客へ提供する価値の理解が深く、見極められるメンバーがいることで、開発スピードの向上とリソースの最適化が図れるようになると考えられます。

どのような顧客理解をすると効果が出るか

改めて、良いプロダクトを作るためには、顧客理解、特に顧客の課題や要望への深い理解が、プラスの効果を生むと言えそうです。どのように課題や要望を理解し、プロダクト開発に繋げていくか。私自身が一番に思いついたのは、顧客の困っていること・課題と感じていることを深く理解することです。そしてこれが、コンタクト履歴を読み始めようと思った最初の動機です。ただ、このアプローチだと、実際の製品の改善に繋げるまでに少し距離が遠く、プロダクトの開発に適用するのが難しいと感じています。また、顧客の状況、立場、業界の掛け合わせによってその内容も変わり、より難易度が上がります。
そこで、別のアプローチを考えたところ、「顧客とプロダクトの間に生まれる体験や変化を理解すること」が、顧客が抱えていて、私たちのプロダクトで解決すべき課題や要望を見つけられるのではないかと考えました。このアプローチであれば顧客が感じている課題や要望とプロダクトに繋がりが生まれ、製品開発に生かしやすいインプットが得られます。ただ、顧客のプロダクトに対しての体験や変化は、利用文脈によって感じるポイントは変化します。そのため、顧客の属性に加えて状況や利用文脈を含めて理解する必要があります。実装コストと顧客の価値の良いバランスの解決策を見つけるためには、顧客の属性や状況、利用文脈に応じて、プロダクトに対してどんな印象や感情を抱いているのかを理解することが必要そうです。

実際にチームメンバーに、「顧客理解があればもっと上手にやれたと感じる場面はありましたか?」と質問してみたところ、「機能がどんな人にどのような使われ方をするのか理解しておくと仕様検討がやりやすかった」や「試験を設計する上で、顧客の理解度の高い人にヒアリングをしたいと思うことがある」といった声が上がりました。やはり、実装コストと顧客価値の良いバランスの解決策を見つけるために、顧客の属性や状況、利用文脈に応じて、プロダクトに対してどんな印象や感情を抱いているのかに関する理解が必要だなと改めて感じました。

私たちの取り組みを振り返ると

では、冒頭で述べた私たちのチームで取り組んだ活動はどんな効果があったのでしょうか。私たちの取り組みで得られた情報は、プロダクトを選定する際の観点や関心事、プロダクトに触れる文脈や用途、顧客の属性、といったものでした。これらは、顧客のプロダクトに対する印象や感情の理解のベースとなる情報です。このベースがない状態で理解を進めようとすると、顧客の情報とプロダクトの印象や感情のつながりを正しく認識することができず、製品開発において誤った仮説を立ててしまったり、良い解決策を導けない可能性があります。つまり、私たちはこのベースの情報を得るために顧客理解の活動をしていたのです。行っていた活動単体で製品開発において良い解決策を導けるということではありませんが、良い解決策を導くためのベースを作る活動をしていたようです。そして、その活動に「コンタクト履歴」は最適であり、私たちは確実に前に進んでいたことがわかりました。

kintone 開発チームでは顧客理解に取り組む場合、このコンタクト履歴をまずは 1000 件読みましょう、とよく言われます。「1000」という数字に特段強い意味はありませんが、スタートラインに立つためには量を読みましょう、ということです。そして、コンタクト履歴は数・多様さ・分からない具合の観点においてそれぞれメリットが多くあるため、おすすめされています。コンタクト履歴をたくさん読むことは、今後も継続的に行なっていく顧客理解の活動の土台を作る大事な取り組みです。私は現在 550 件ほど読み、ちょうど折り返したところです。良いプロダクト開発をしていくためにこれからも引き続き、顧客理解に取り組んでいきたいと思います!