Holmesでエンジニアをしている三澤です。
Holmesではアジャイル開発を採用しており、開発部には複数のスクラムチームが存在しています。 私はその中のWakaruチームに所属しているのですが、日々、ホームズクラウドが分かりやすいものになるよう改善を続けています。
今回はWakaruチームの一週間の活動を通して、開発メンバーに焦点を当てて、どのようにスクラム開発を行っているのか、その雰囲気をお伝えしたいと思います。
前提として、Holmesの各スクラムチームはコンポーネントチームではなく、フィーチャーチームとして構成されています。つまり、開発の企画からリリースまでを一貫して行う機能を持ったチームになっています。具体的に言うと、Epic作成→PBI作成→デザイン→実装→テスト→リリース(※一部Opsチームに依頼)をチーム内の作業で完結させています。
チーム構成とスプリントについて
人数:7名(チーム専任メンバー:3人、チーム横断メンバー:4人)
役割
- チーム横断メンバー:PM、PO、SM、アドバイザー
- チーム専任メンバー:デザイン、バックエンドエンジニア、フロントエンドエンジニア
→本記事はこの専任メンバーにフォーカスしてお届けします
Slack、Miro、Discord、Zoom、GoogleDriveを駆使して全員フルリモート(今のところ)
スプリントについて
スプリントは1週間、水曜日午後始まりで水曜日午前終わりです。
主なスクラムイベント
一週間の流れ
デイリースクラムとデイリーレビュー&レトロは水曜日以外毎日行われているため、木曜日以降は記載を割愛させていただきます。
水曜日(午後)
15:30〜18:00 スプリントプランニング
プロダクトゴールの確認、取り組むPBIの提案がなされ、その後スプリントゴールを決めるために話し合いがなされます。 その後、チームメンバーの一週間の稼働状況を確認して開発対象となるアイテムを選択します。その後、デザイナーからモックの説明があり、エンジニアが細かいタスクに切り出してカンバンを作成していきます。 詳しくは下記のブログ記事をご参照ください。 tech.holmescloud.com
木曜日
9:00〜9:30 ディスカバリー
今後の開発対象となるEpicを作り出す作業です。不定期で開催されます。参加は任意なので聞くだけも良し、意見を出すも良しです。この日はある機能の名前をどうするかに関する議論でした。
9:30〜10:00 デイリースクラム
デイリースクラムは朝にメンバー全員で集まりスプリントゴールへの確度とそのためのデイリーゴールを設定します。チームメンバーが順番に司会を担当します。司会者の一言から始まるのですが、この日のお題は「好きなポン酢」でした。その後、カンバンの更新、スプリントゴール達成確度の確認、本日のゴール設定が行われます。
各メンバーの個別作業
- デザイナー:ユーザーテスト実施のための各種下調べ。準備。
- バックエンド:問い合わせ対応。機能開発。
- フロントエンド:黙々と機能開発。
17:00〜17:30 デイリーレビュー&レトロ
デイリースクラムで設定した本日のゴールの達成状況、開発した機能のデモンストレーションを行います。その後KPT(Keep/Problem/Try)を出し合って一日の振り返りをします。
金曜日
9:00〜9:30 ディスカバリー
この日は競合の調査。昨日に引き続き機能名について話し合いがなされました。CLMの市場拡大に伴い業界のデファクトスタンダードが生まれつつあることが分かり興味深かったです。
各メンバーの個別作業
- デザイナー:次スプリントのための画面デザイン。午後から有休。
- バックエンド:テストケースの確認。午後から有休。
- フロントエンド:テストケースの確認。機能開発。エンジニアリング部門共有会。開発部全体の週次実績確認
月曜日
各メンバーの個別作業
- デザイナー:ユーザーテストの予行演習。
- バックエンド:ユーザーテストの予行演習。元々独り言が多いので、言われた通りちゃんと声を出してテストしてくださり、良いテストができた(デザイナー談)
- フロントエンド:レビュー指摘対応。次スプリント作業について下調べ。
- 全員:他チームのスプリントレビューのための資料読み込み会。
火曜日
11:00〜12:00 PBIのリファインメント
今後開発予定のPBIについて深堀りして要件を詰めていきます。今回はプロダクト内で利用者の次のアクションが適切に通知されるためにはどうしたらいいか話し合われました。
弊社のPBIの作成プロセスについては下記のブログ記事をご参照ください。 tech.holmescloud.com
各メンバーの個別作業
- 全員:Wakaruチームでリリースした機能がどの程度使われているか、計測結果を考える会を実施。
- デザイナー:リファインメントに基づいて通知フローを図示化。インテグレーションテスト。デザイン指摘。
- バックエンド:ソースコードレビュー。インテグレーションテスト。デバッグ。
- フロントエンド:インテグレーションテスト。デバッグ。デザイン指摘修正。
水曜日(午前)
9:30〜10:30 スプリントレビュー
スプリントレビューでは開発部だけでなく、他部署(カスタマーサポート、営業、etc..)の方々に参加していただいてより良いプロダクトにするための議論がなされます。また、カスタマーサポートからの、近々リリースされる機能などのお知らせ内容などが発表されます。顧客に接点の多いカスタマーサポートとの情報共有を多くすることにより、より顧客目線に立った開発が可能になっています。
弊社のスプリントレビューの改善活動については下記記事をご参照ください。
10:30〜12:00 スプリントレトロスペクティブ
スプリントレトロスペクティブでは、方法は様々ですが(KPT、YWT、etc..)、リラックスした雰囲気で一週間を振り返る場となっています。 チェックインとして毎回ユニークなお題が選ばれ、今回は好きな洗剤について一人ずつ上げてもらうのですが、意外と盛り上がり、最後は乾燥機の話に。 今回の振り返りは、ポジティブ振り返りマッピングでした。スプリント内で素晴らしかった点を全員で共有し、その後、どうすれば更によくすることができるか、そのための方法を議論して深掘りしました。 弊社のスプリントレトロスペクティブについては、RSGT(Regional Scrum Gathering Tokyo)から得られた知見も生かされています。下記ブログ記事もご参照ください。
まとめ
一週間を振り返ってみて、各メンバーがそれぞれの役割を持ちつつも、共通のスクラムフレームワークの中で働くことによって、共通の目標に向けてチームとしてゴールできるようお互い努力していること、また、お互いに敬意を払いながらも和気あいあいと働いていること、有休を自分の取りたい時に取れること(大事)を再確認できました。
また、Holmesでは、フィーチャーチームとして各開発メンバーがEpicの作成から参加し、ユーザーに喜んで使っていただけるプロダクトにするためにアイデアを出すという、単に機能開発に留まらない自社開発ならではの面白みを感じることもできます。興味がある方はぜひこちらからご連絡ください!