見出し画像

顧客の要望を捉えるエンジニアリング

グッズではEveryone, entrepreneurのミッションのもと、卸売という伝統的な産業の生産性を高め、より多くの人が自信、期待をもって挑戦できるようなプラットフォームの提供を目指しています。そのためには、現実の取引の中でおきている複雑で曖昧な顧客の要望を正確に捉えることが非常に重要です。特に、これまでオフラインで行われてきた相対の取引をデジタル化、自動化するためには、抽象度の高い要望を一つ一つ精度高く具体化していくことが求められます。そのためのエンジニアリングチームの活動の一部を紹介します。

顧客ニーズの理解と分析を支えるログ基盤

構造化されたユーザー行動ログ収集基盤

顧客のサイト上での行動ログは、プロダクト開発の基礎となる貴重なインサイトとなります。このフィードバックを効果的に収集し、分析することで顧客ニーズに合致したプロダクトを設計することが可能になります。

グッズではユーザーの行動ログを重要な資産ととらえ、サイト上でのあらゆる行動を精緻に把握できるような構造化ログを収集する基盤をシステムに組み込んでいます。このログは、だれが、いつ、どこで、どのようなアクションをしたのか、といったことだけではなく、その行動のもとになったレコメンドや検索の結果などもひもづけて分析できるようになっています。たとえば、あるユーザが商品カードをクリックしたとき、その商品カードがどこの表示枠の何番目に表示されていて、その一覧がどのような検索条件、ソート順でならんでいて、同時にどのような商品群が表示されていたのか、といったことがすべてログとして記録されています。この情報をもとに検索やレコメンドロジック、UIのパフォーマンスを定量的に分析できます。

ユーザーのN1分析

膨大な量のログデータをもとにした統計分析も重要ですが、ユーザーのN1分析も欠かせません。特定の切り口でピックアップしたユーザーの行動ログを時系列に並べて、順番に読み解いていく、という分析を基本動作として行っています。また、この作業を何人かで集まって集中的にやるという取り組みもタスクフォース的に実施しており、そのなかで新たなインサイトや仮説が生まれるなど、活発な議論が行われています。

顧客志向の開発プロセス

提供価値の見極め

グッズのコアバリューの1つとして「Start with Value」というものがありますが、何かをつくる前には、それが誰にどのような価値を提供できるのかを必ず明確にする、ということを開発スプリントのチケットなかに組み込んで徹底しています。そのためには、データ分析やユーザーインタビューを重ねて、根拠となる仮説を精度高く構築することが求められます。

また、仮説検証のサイクルをより早くまわすための工夫は常に考えます。プロダクトの機能や本格的なオペレーションとして組み込む前に、開発をせずに、もしくは開発したとしても他のツールなどと組み合わせることで、最速で価値を提供できる方法がないか、という観点で考えることでも提供価値を研ぎ澄ませて無駄なもの削ぎ落とします。重要だと思っていた機能が必要な頻度が低く別の方法で代替できる、というケースは往々にしてあります。

完了の定義と目線のすりあわせ

機能を開発する際は完了の定義を必ず明確にします。開発をしていく中で新たな要件が現れたり軌道修正が必要な場面は一定は避けられませんが、ゴールを事前に明確にすることによって、事前に不確定な部分や一貫性の矛盾を認識しやすくなります。

UXピラミッドの考え方も活用しており、ユーザに提供したい体験の質はどの程度のレベルなのかを意識しながら設計します。これにより何に焦点を当てるべきか、何が最も重要かを判断しやすくなります。仮説検証や情報収集を目的にしたものと、MVP(Minimum Viable Product)がある程度確認できた機能をより積極的に使ってもらうことを目的にしたものとでは、必要な要件は大きく異なります。

UXピラミッドの基準をチーム全体で共通認識としてもつことで、コミュニケーションコストを下げる効果もあります。目指しているUXピラミッドのレベルをすりあわせておくことで、適切な目線や粒度のフィードバックを得られやすくなります。

多角的なフィードバックと品質保証

一定規模以上の機能は、本番リリースする前に、実際に機能をさわってもらいながら、できるだけ多くの開発メンバー以外からの多面的なフィードバックをあつめる、ということもしています。この段階でのフィードバックは粒度が細かく都度チケット化するほどではないものが多いため、QAシートという形で1箇所に集約して管理しています。QAシートでは課題を一覧で共有でき、修正の進捗状況もそのシート上で追跡できるようになっているため、効率的に改善プロセスを回すことができます。このプロセスにより品質が可視化されるため、その後のリリース判断もしやすくなります。

顧客目線でのプロダクトレビュー

顧客目線でレビューするためには、できるだけ本番環境に近い状態であることが重要です。よりリアリティのあるデータでレビューすることで、実際のユーザの体験と近い状況が再現できるため、テストデータでは気付きにくい体験上の違和感をキャッチしやすくなる効果があります。さらに、網羅できていなかったデータパターンやパフォーマンス上の課題に気づく場合もあります。

本番環境に近い状態のテスト環境を構築するには、通常はリスクやコストがかかるものですが、グッズではそれを手軽に構築するためのツールが整備されており、GitHubのPull Request上からワンアクションで立ち上げることが可能です。こうしてできたテスト環境はメールアドレスや秘匿情報などがマスクされた状態になっており、安心して操作をすることができます。

顧客体験を高めるその他の取り組み

JenkinsとChatGPTの活用

グッズでは社内の管理、オペレーションツールとしてJenkinsを活用しています。カスタマーサポートチームはJenkinsを通して顧客の情報を確認したり、必要な更新操作を行います。Jenkinsはコードを書かなくてもユーザーインターフェースを作れるため、開発工数を削減するという点では多大なメリットがありますが、本来はCI/CDのためのツールであるため、エンジニア以外にとってはあまり使いやすいものとはいえません。特に、エラーが発生したときは、コンソール出力から内容を理解する、というエンジニアではないメンバーにとっては負荷の高い作業が必要でした。この問題を解決するためにChatGPTを活用し、コンソールに出力されたログや例外の内容を、カスタマーサポートが理解できるように説明する、ということをしています。これにより、カスタマーサポートが自分で問題解決できる割合が飛躍的に高まり、エンジニアへのエスカレーションがへり、顧客対応のスピードをあげることができました。生成AIはこの事例だけでなくプロダクト内外のあらゆるところで活用されており、グッズの成長の一翼を担うものとなっています。

Cleanup Day

顧客からのサービスの改善のリクエストは毎日のようにあがってきます。これらの個々のリクエストは細かいながらも積み重ねによって使い勝手に大きく影響するため、うまくプロダクトに反映させていくプロセスが必要です。しかし、都度リクエストに応じていたのでは割り込み過多の状態になってしまい、開発効率をあげにくいという問題があります。このようなリクエストを効率的にさばくためにCleanup Dayという日を定期的に設けており、開発メンバー全員で集中的にやる、という取り組みをしています。このCleanup Dayの成果物をQAしてリリースする、というところまでを1日でやりきる、という形にすることで、タスクのスコープの明確化と期日が強制され、単に割り込みによるロスを減らす以上の開発効率の上昇を実感できています。顧客からの改善リクエストだけではなく、ライブラリのアップデートやLinterの適用など、普段の開発プロセスのなかではQAやコンフリクトのコストの都合でやりにくいことも、Cleanup Dayのなかで一斉に協調的に作業することでやりやすくなる、という効果もあります。

Design System

グッズでは複利が効くような仕組み、つまり一度作れば継続的に価値を産み続ける仕組みをつくることを推奨しており、Design Systemはその最たる例の一つです。Design Systemは最初に導入コストがかかりますが、一度導入してしまえば開発プロセスを大幅に効率化することができ、迅速かつ高品質なプロダクトを顧客に提供することができるようになります。

Design Systemはかなり初期から開発プロセスに導入されており、エンジニアとデザイナーの共通言語として定着しています。Design Systemがあることでちょっとした機能改善であればデザイナーの手を借りることなくエンジニアだけで高い品質のUIを組み上げることができます。Cleanup Dayの取り組みも、Design Systemがあるからこその成果といえます。

おわりに

グッズでは顧客の要望を捉え、その期待を超えるプロダクトの提供を目指していきます。その過程で直面するであろう新たな技術的課題や、市場の変化に柔軟に対応していくために、情熱を持って挑戦できる仲間を常に求めています。共に革新的なプロダクトを創り出し、多くの人が自信を持って挑戦できる世界を実現しましょう。

いいなと思ったら応援しよう!