$30 off During Our Annual Pro Sale. View Details »

STORES・STORES レジを支えるチーム開発文化 / Sustaining the team culture of STORES EC Regi

STORES・STORES レジを支えるチーム開発文化 / Sustaining the team culture of STORES EC Regi

phayacell

May 26, 2022
Tweet

Other Decks in Technology

Transcript

  1. ヘイ株式会社
    STORES・STORES レジを支えるチーム開発文化
    どのようにつくるか・なにをつくるか
    山下 隼人

    View Slide

  2. はじめまして、こんばんは
    氏名:山下 隼人(やました はやと)
    Twitter, GitHub:@phayacell
    バックエンドエンジニアとして機能開発を担当しています
    趣味は朝4時に起きて筋トレをすることです

    View Slide

  3. 遍歴
    2011年4月:社会人になる
    主に受託開発
    2019年8月:ヘイ株式会社(当時 ストアーズ・ドット・ジェーピー)に転職
    STORES で自社プロダクト開発に携わる
    2021年7月:STORES レジの開発チームに参画
    STORES レジのサービス開始1ヶ月後のジョイン
    引き続き STORES の開発にも携わっている

    View Slide

  4. STORES・STORES レジを支えるチーム開発文化
    今日のテーマ

    View Slide

  5. 今日のテーマ
    STORES・STORES レジを支えるチーム開発文化
    ● 顧客への価値提供を最短かつ着実に届けるため
    いろいろな工夫をチーム開発文化に取り入れています
    ● バックエンドエンジニア目線で「良い」と思っていることを
    ご紹介させていただきます

    View Slide

  6. 今日のテーマ - STORES・STORES レジを支えるチーム開発文化
    チーム開発文化

    View Slide

  7. 「チーム開発文化」を2つに分解
    ● どのようにつくるか
    ● なにをつくるか
    今日のテーマ - STORES・STORES レジを支えるチーム開発文化

    View Slide

  8. 今日のテーマ - STORES・STORES レジを支えるチーム開発文化
    どのようにつくるか - STORES なにをつくるか - STORES レジ

    View Slide

  9. プロジェクトの進め方
    どのようにつくるか

    View Slide

  10. どのようにつくるか - STORES
    STORES(当時 STORES.jp)は2012年8月にサービス開始

    View Slide

  11. どのようにつくるか - STORES
    サービス運営期間の長いサービス
    ● 歴史を積み重ねてきたプロダクトコードが生きている
    ● 機能開発、改善、改修を加えるのは大変(なこともある)
    顧客への価値提供を最短かつ着実に届けたい
    ● 開発プロセスを工夫して、価値提供を早めていきたい
    ● つまり「どのようにつくるか」を考えることが主題

    View Slide

  12. どのようにつくるか - STORES
    前提:開発チームについて
    ● 採用プロセス:スクラム
    ● メンバ数:3名(時期、プロジェクトによる)
    チーム開発でやっている工夫
    ● チーム全員でひとつの課題に向き合う
    ● モブプログラミング・プロトタイピング

    View Slide

  13. チーム全員でひとつの課題に向き合う
    どのようにつくるか

    View Slide

  14. どのようにつくるか - チーム全員でひとつの課題に向き合う
    チーム全員でひとつの課題に向き合う
    ● スプリントプランニングでチーム全員がタスクを見積もり
    Pull Request を出せるまで理解が深まっている状態を目指す
    ● 誰でもタスクに取り組める状態をつくり
    ボトルネックの排除やチーム開発の可用性を向上させる

    View Slide

  15. どのようにつくるか - チーム全員でひとつの課題に向き合う
    📝 具体的にやっていること
    ● タスク(Issue)の内容を読み合わせて
    不明点があればその場で挙げ、ストーリーポイントを付ける
    ● その場で解決しなければ調査タスクをつくり出し
    実装イメージできなければ、モブプロ・プロトタイピングを試みる(後述)

    View Slide

  16. どのようにつくるか - チーム全員でひとつの課題に向き合う(ほぼモザイク)

    View Slide

  17. どのようにつくるか - チーム全員でひとつの課題に向き合う
    🎉 得られた効果
    ● チーム全員が課題に対して同じ理解度を持つことによって
    いろんな観点から課題解決の方法を出せるようになった
    ● すでに理解している箇所になるので、コードレビューが早くなり
    開発速度が向上した(手戻りなどのリスクも削減)

    View Slide

  18. モブプログラミング・プロトタイピング
    どのようにつくるか

    View Slide

  19. どのようにつくるか - モブプログラミング・プロトタイピング
    モブプログラミング・プロトタイピング
    ● ある程度動くコードを書いて、課題に対して議論をする
    ● 動くものを見ることで課題への理解度を上げ、不確定要素や懸念を洗い出す

    View Slide

  20. どのようにつくるか - モブプログラミング・プロトタイピング
    📝 具体的にやっていること
    ● 実装方針からふわっとしていたらモブプログラミング
    ある程度の方向性が決まっていればプロトタイピングでコードを書く
    ● チームメンバーでレビューする時間を設けて
    コードを眺めたり、実際に動かしてみたりして課題や懸念を話し合う
    ● このときに書いたコードはそのまま採用せず
    取り組むべきタスクに落とし込んだら思い切って捨てる

    View Slide

  21. どのようにつくるか - モブプログラミング・プロトタイピング(だいたいモザイク)

    View Slide

  22. どのようにつくるか - モブプログラミング・プロトタイピング
    🎉 得られた効果
    ● 実際に書いてみないと判断できない課題に対する理解度が深まったので
    もし、何もせずにタスクに着手していたら
    「あの機能にも影響してしまう」「このフローの考慮を入れなくちゃ」
    と膨れ上がっていたかもしれない工数を未然に食い止められた
    ● 各自が持っている業務知識、歴史的経緯の把握など
    多くの暗黙知を共有することができた

    View Slide

  23. どのようにつくるか
    小さなチームで大きな成果を〜STORES 新決済手段追加の舞台裏〜
    https://tech.hey.jp/entry/2022/05/12/101620

    View Slide

  24. プロダクト開発の工夫
    なにをつくるか

    View Slide

  25. なにをつくるか - STORES レジ
    STORES レジは2021年6月にサービス開始

    View Slide

  26. なにをつくるか - STORES レジ
    サービス開始直後の新しいプロダクト
    ● 最新の最善を尽くしたプロダクトコードによってつくられている
    ● たくさんの足りていない機能があり、盛りだくさんの開発ロードマップ
    顧客への価値提供を最短かつ着実に届けたい
    ● より大きな価値を選び、優先的に届けていきたい
    ● つまり「なにをつくるか」を考えることが主題

    View Slide

  27. なにをつくるか - STORES レジ
    前提:プロダクトについて
    ● iOS アプリ、Web ページの2つのフロントエンドがある
    ● レジ業務は iOS アプリで、バックオフィス業務は Web ページ
    チーム開発でやっている工夫
    ● VOC(Voice of Customer)の活用
    ● 週次で開発ロードマップの確認

    View Slide

  28. VOC(Voice of Customer)の活用
    なにをつくるか

    View Slide

  29. なにをつくるか - VOC(Voice of Customer)の活用
    VOC(Voice of Customer)の活用
    ● オンボーディング・カスタマーサポート・セールスのメンバーから
    直近リリースした機能に関する声、アカウント開設に至らなかった理由など
    顧客の声を取り上げてもらい、みんなで議論して深堀りをする
    ● なぜそのような声があがるのか、根底になる課題とは
    競合と比較して「STORES レジの強み」などを考える場として機能

    View Slide

  30. なにをつくるか - VOC(Voice of Customer)の活用
    📝 具体的にやっていること
    ● ユーザーから寄せられる機能要望・質問を集めて
    特に要望頻度の高いものや課題感の強いものをピックアップして議論
    ● 開発ロードマップで予定している機能開発で
    解決できるものなのか・足りていないのか
    プロダクトをどうしていくか考えて、適宜反映させていく(後述)

    View Slide

  31. なにをつくるか - VOC(Voice of Customer)の活用(まあまあモザイク)

    View Slide

  32. なにをつくるか - VOC(Voice of Customer)の活用
    🎉 得られた効果
    ● 顧客の抱えている課題を一次情報として知り
    PM、エンジニア、セールス、カスタマーサポートなどの隔たりなく
    チーム全体で顧客への理解が深まった
    ● プロダクトをより使いやすくするためのヒントを得られている

    View Slide

  33. 週次で開発ロードマップの確認
    なにをつくるか

    View Slide

  34. 週次で開発ロードマップの確認
    ● つくるべき機能はたくさんあるため
    顧客の抱えている「より強い課題」について考え見直し、修正していく
    ● VOC で深堀りした議論が活きてくる場になっており
    「プロダクトとしてやらないこと」「やりたいけど今はやらないこと」
    を明確にして納得感のある状態でチーム開発を行う
    なにをつくるか - 週次で開発ロードマップの確認

    View Slide

  35. 📝 具体的にやっていること
    ● 現在進捗中のプロジェクトの状況を確認して
    前倒し・後倒しがあれば修正して、後続プロジェクトを調整する
    ● VOC などで開発優先度の前後があればロードマップに反映
    なにをつくるか - 週次で開発ロードマップの確認

    View Slide

  36. なにをつくるか - 週次で開発ロードマップの確認(ぜんぶモザイク)

    View Slide

  37. 🎉 得られた効果
    ● 日々深まっていく顧客理解に応じて開発優先度を同期するため
    開発チームが「自分たちのつくるもの」に対する納得感が生まれやすい
    ● 常に「自分たちのつくるもの」が整理されている状態が維持されているので
    次にやる、その次にやるプロジェクトに向けて
    先んじて手を打ちやすくなっている(仕様検討や設計・実装の考慮など)
    なにをつくるか - 週次で開発ロードマップの確認

    View Slide

  38. STORES レジ のVOC駆動開発
    https://note.com/chocoyama/n/n42fb50adde0f
    なにをつくるか

    View Slide

  39. 最近の課題

    View Slide

  40. 最近の課題
    顧客の声だけではなく、定量的な指標も併せ持ちたい
    ● 取り上げられる顧客の声はとても定性的
    ● 声があがらないところで困っているユーザーもいるかもしれない
    すでに喜ばれているから声があがっていないのかもしれない
    ● 問い合わせや要望の声だけを見ていると
    こうした「見えない部分」の意識が抜けてしまう恐れがある
    絶賛取組中
    ● 改善する機能の利用率・離脱率などの計測
    ● 現状取りうる数値からの KPI 設定

    View Slide

  41. まとめ

    View Slide

  42. まとめ
    ● 顧客への価値提供を最短かつ着実に届けることを考えた
    チーム開発文化づくりをしている
    ● どのようにつくるか
    ○ チーム全員でひとつの課題に向き合う
    ○ モブプログラミング・プロトタイピング
    ● なにをつくるか
    ○ VOC(Voice of Customer)の活用
    ○ 週次で開発ロードマップの確認

    View Slide

  43. hey | エンジニア採用
    https://hello.hey.jp/engineer
    おわりに - We are hiring!

    View Slide