2022年05月26日に行われたイベント EC Tech Talk -カラーミーショップとSTORESを支えるチームづくりと開発の裏側- の発表資料です。
参考リンク ・小さなチームで大きな成果を〜STORES 新決済手段追加の舞台裏〜 ・STORES レジ のVOC駆動開発 ・hey | エンジニア採用
ヘイ株式会社STORES・STORES レジを支えるチーム開発文化どのようにつくるか・なにをつくるか山下 隼人
View Slide
はじめまして、こんばんは氏名:山下 隼人(やました はやと)Twitter, GitHub:@phayacellバックエンドエンジニアとして機能開発を担当しています趣味は朝4時に起きて筋トレをすることです
遍歴2011年4月:社会人になる主に受託開発2019年8月:ヘイ株式会社(当時 ストアーズ・ドット・ジェーピー)に転職STORES で自社プロダクト開発に携わる2021年7月:STORES レジの開発チームに参画STORES レジのサービス開始1ヶ月後のジョイン引き続き STORES の開発にも携わっている
STORES・STORES レジを支えるチーム開発文化今日のテーマ
今日のテーマSTORES・STORES レジを支えるチーム開発文化● 顧客への価値提供を最短かつ着実に届けるためいろいろな工夫をチーム開発文化に取り入れています● バックエンドエンジニア目線で「良い」と思っていることをご紹介させていただきます
今日のテーマ - STORES・STORES レジを支えるチーム開発文化チーム開発文化
「チーム開発文化」を2つに分解● どのようにつくるか● なにをつくるか今日のテーマ - STORES・STORES レジを支えるチーム開発文化
今日のテーマ - STORES・STORES レジを支えるチーム開発文化どのようにつくるか - STORES なにをつくるか - STORES レジ
プロジェクトの進め方どのようにつくるか
どのようにつくるか - STORESSTORES(当時 STORES.jp)は2012年8月にサービス開始
どのようにつくるか - STORESサービス運営期間の長いサービス● 歴史を積み重ねてきたプロダクトコードが生きている● 機能開発、改善、改修を加えるのは大変(なこともある)顧客への価値提供を最短かつ着実に届けたい● 開発プロセスを工夫して、価値提供を早めていきたい● つまり「どのようにつくるか」を考えることが主題
どのようにつくるか - STORES前提:開発チームについて● 採用プロセス:スクラム● メンバ数:3名(時期、プロジェクトによる)チーム開発でやっている工夫● チーム全員でひとつの課題に向き合う● モブプログラミング・プロトタイピング
チーム全員でひとつの課題に向き合うどのようにつくるか
どのようにつくるか - チーム全員でひとつの課題に向き合うチーム全員でひとつの課題に向き合う● スプリントプランニングでチーム全員がタスクを見積もりPull Request を出せるまで理解が深まっている状態を目指す● 誰でもタスクに取り組める状態をつくりボトルネックの排除やチーム開発の可用性を向上させる
どのようにつくるか - チーム全員でひとつの課題に向き合う📝 具体的にやっていること● タスク(Issue)の内容を読み合わせて不明点があればその場で挙げ、ストーリーポイントを付ける● その場で解決しなければ調査タスクをつくり出し実装イメージできなければ、モブプロ・プロトタイピングを試みる(後述)
どのようにつくるか - チーム全員でひとつの課題に向き合う(ほぼモザイク)
どのようにつくるか - チーム全員でひとつの課題に向き合う🎉 得られた効果● チーム全員が課題に対して同じ理解度を持つことによっていろんな観点から課題解決の方法を出せるようになった● すでに理解している箇所になるので、コードレビューが早くなり開発速度が向上した(手戻りなどのリスクも削減)
モブプログラミング・プロトタイピングどのようにつくるか
どのようにつくるか - モブプログラミング・プロトタイピングモブプログラミング・プロトタイピング● ある程度動くコードを書いて、課題に対して議論をする● 動くものを見ることで課題への理解度を上げ、不確定要素や懸念を洗い出す
どのようにつくるか - モブプログラミング・プロトタイピング📝 具体的にやっていること● 実装方針からふわっとしていたらモブプログラミングある程度の方向性が決まっていればプロトタイピングでコードを書く● チームメンバーでレビューする時間を設けてコードを眺めたり、実際に動かしてみたりして課題や懸念を話し合う● このときに書いたコードはそのまま採用せず取り組むべきタスクに落とし込んだら思い切って捨てる
どのようにつくるか - モブプログラミング・プロトタイピング(だいたいモザイク)
どのようにつくるか - モブプログラミング・プロトタイピング🎉 得られた効果● 実際に書いてみないと判断できない課題に対する理解度が深まったのでもし、何もせずにタスクに着手していたら「あの機能にも影響してしまう」「このフローの考慮を入れなくちゃ」と膨れ上がっていたかもしれない工数を未然に食い止められた● 各自が持っている業務知識、歴史的経緯の把握など多くの暗黙知を共有することができた
どのようにつくるか小さなチームで大きな成果を〜STORES 新決済手段追加の舞台裏〜https://tech.hey.jp/entry/2022/05/12/101620
プロダクト開発の工夫なにをつくるか
なにをつくるか - STORES レジSTORES レジは2021年6月にサービス開始
なにをつくるか - STORES レジサービス開始直後の新しいプロダクト● 最新の最善を尽くしたプロダクトコードによってつくられている● たくさんの足りていない機能があり、盛りだくさんの開発ロードマップ顧客への価値提供を最短かつ着実に届けたい● より大きな価値を選び、優先的に届けていきたい● つまり「なにをつくるか」を考えることが主題
なにをつくるか - STORES レジ前提:プロダクトについて● iOS アプリ、Web ページの2つのフロントエンドがある● レジ業務は iOS アプリで、バックオフィス業務は Web ページチーム開発でやっている工夫● VOC(Voice of Customer)の活用● 週次で開発ロードマップの確認
VOC(Voice of Customer)の活用なにをつくるか
なにをつくるか - VOC(Voice of Customer)の活用VOC(Voice of Customer)の活用● オンボーディング・カスタマーサポート・セールスのメンバーから直近リリースした機能に関する声、アカウント開設に至らなかった理由など顧客の声を取り上げてもらい、みんなで議論して深堀りをする● なぜそのような声があがるのか、根底になる課題とは競合と比較して「STORES レジの強み」などを考える場として機能
なにをつくるか - VOC(Voice of Customer)の活用📝 具体的にやっていること● ユーザーから寄せられる機能要望・質問を集めて特に要望頻度の高いものや課題感の強いものをピックアップして議論● 開発ロードマップで予定している機能開発で解決できるものなのか・足りていないのかプロダクトをどうしていくか考えて、適宜反映させていく(後述)
なにをつくるか - VOC(Voice of Customer)の活用(まあまあモザイク)
なにをつくるか - VOC(Voice of Customer)の活用🎉 得られた効果● 顧客の抱えている課題を一次情報として知りPM、エンジニア、セールス、カスタマーサポートなどの隔たりなくチーム全体で顧客への理解が深まった● プロダクトをより使いやすくするためのヒントを得られている
週次で開発ロードマップの確認なにをつくるか
週次で開発ロードマップの確認● つくるべき機能はたくさんあるため顧客の抱えている「より強い課題」について考え見直し、修正していく● VOC で深堀りした議論が活きてくる場になっており「プロダクトとしてやらないこと」「やりたいけど今はやらないこと」を明確にして納得感のある状態でチーム開発を行うなにをつくるか - 週次で開発ロードマップの確認
📝 具体的にやっていること● 現在進捗中のプロジェクトの状況を確認して前倒し・後倒しがあれば修正して、後続プロジェクトを調整する● VOC などで開発優先度の前後があればロードマップに反映なにをつくるか - 週次で開発ロードマップの確認
なにをつくるか - 週次で開発ロードマップの確認(ぜんぶモザイク)
🎉 得られた効果● 日々深まっていく顧客理解に応じて開発優先度を同期するため開発チームが「自分たちのつくるもの」に対する納得感が生まれやすい● 常に「自分たちのつくるもの」が整理されている状態が維持されているので次にやる、その次にやるプロジェクトに向けて先んじて手を打ちやすくなっている(仕様検討や設計・実装の考慮など)なにをつくるか - 週次で開発ロードマップの確認
STORES レジ のVOC駆動開発https://note.com/chocoyama/n/n42fb50adde0fなにをつくるか
最近の課題
最近の課題顧客の声だけではなく、定量的な指標も併せ持ちたい● 取り上げられる顧客の声はとても定性的● 声があがらないところで困っているユーザーもいるかもしれないすでに喜ばれているから声があがっていないのかもしれない● 問い合わせや要望の声だけを見ているとこうした「見えない部分」の意識が抜けてしまう恐れがある絶賛取組中● 改善する機能の利用率・離脱率などの計測● 現状取りうる数値からの KPI 設定
まとめ
まとめ● 顧客への価値提供を最短かつ着実に届けることを考えたチーム開発文化づくりをしている● どのようにつくるか○ チーム全員でひとつの課題に向き合う○ モブプログラミング・プロトタイピング● なにをつくるか○ VOC(Voice of Customer)の活用○ 週次で開発ロードマップの確認
hey | エンジニア採用https://hello.hey.jp/engineerおわりに - We are hiring!