~開発のサイクルを回す鍵~
こんにちは、開発チームのカーキです!
前回は、開発チームのメンバーやスクラムの基本的な考え方についてご紹介しました。今回は、スクラム開発をスムーズに進める上で欠かせない「スクラムイベント」について、詳しく解説していきます。
スクラムでは、「スプリント」と呼ばれる短い期間(一般的には1〜4週間で設定されます)を繰り返し、開発を進めます。このスプリント期間中に、特定の目的を持って開催されるのがスクラムイベントです。主なスクラムイベントは以下の4つです。
- スプリントプランニング: スプリントの計画を立てるイベント
- デイリースクラム: 日々の進捗を確認し、課題を共有するイベント
- スプリントレビュー: 開発成果を確認し、フィードバックを得るイベント
- スプリントレトロスペクティブ: スプリントの振り返りを行い、改善点を見つけるイベント
それぞれのイベントについて、詳しく見ていきましょう。
スクラムイベントの種類
スプリントプランニング
スプリントプランニングは、スプリントの最初に行われる計画のためのイベントです。
プロダクトオーナー(PO)が事前に作成したプロダクトバックログ(実現したい機能や要望を優先順位順に並べたリスト)の中から、今回のスプリントでどのタスクを完了させるかをチーム全員で決めます。
プロダクトバックログの各項目(プロダクトバックログアイテム)は、1スプリント以内で完了できるサイズになっていることが望ましいです。開発チームは、選択したプロダクトバックログアイテムを実現するために、具体的な作業計画であるスプリントバックログを作成します。ここで作成する個々のタスクは、1日以内で終わる作業に分割することが推奨されます。
デイリースクラム
デイリースクラムは、スプリント期間中、毎日同じ時間・同じ場所で、15分間行われる短いミーティングです。
このイベントでは、各メンバーが「昨日何をしたか」「今日何をするか」「何か困っていることはないか」を共有し、作業の進捗確認や問題点の早期発見を行います。15分という時間制限は非常に重要で、もし詳細な議論が必要な場合は、デイリースクラム後に別途時間を設けて話し合います。
スプリントレビュー
スプリントレビューは、スプリントの最後から2番目に行われるイベントです。
このイベントでは、今回のスプリントで「何が達成されたのか」をプロダクトオーナー(PO)、スクラムマスター(SM)、開発者、そして他のステークホルダー(関係者)が共に確認します。特に重要なのは、実際に動く成果物を使って確認することです。
単にプレゼンテーションを行うだけでなく、参加者からのフィードバックを受けて、必要に応じてプロダクトバックログに新しい機能を追加したり、既存の要件を調整したりといった作業も行われます。
スプリントレトロスペクティブ
スプリントレトロスペクティブは、スプリントの最後に行われるイベントです。
このイベントでは、今回のスプリントをチーム全員で振り返り、「何がうまくいったか」「どのような問題が発生したか」「それらの問題がどのように解決されたか(または解決されなかったか)」について話し合います。スプリント中に発生した問題に対して改善案を考え、それを次のスプリントで実行に移すことで、チームと開発プロセスを継続的に改善していくことが目的です。
開発チームのスプリント事例
私たちの開発チームでは、スプリントを以下のように進めています。
| 曜日 | 火曜日 | 水曜日 | 木曜日 | 金曜日 | 月曜日 |
| 1週目 | スクラムイベント日(レビュー、レトロスペクティブ、プランニング) | スプリント開発 | スプリント開発 | スプリント開発 | スプリント開発 |
| 2週目 | スプリント開発 | スプリント開発 | スプリント開発 | スプリント開発 | スプリント開発 |
| 3週目 | スクラムイベント日(レビュー、レトロスペクティブ、プランニング) | スプリント開発 | スプリント開発 | スプリント開発 | スプリント開発 |
私たちは2週間スプリントを採用しており、火曜日をスクラムイベントの日としています。この日にスプリントレビュー、スプリントレトロスペクティブ、そして次のスプリントプランニングをまとめて実施しています。
スプリントプランニングの例
訓練では、以下のようなプロダクトバックログから、スプリントバックログを作成して開発を進めました。
プロダクトバックログ例
| 優先順位 | タイトル | 要望の説明 | ユーザーストーリー(ユーザー視点での要望) |
| 1 | 投稿できる | 投稿できるようにして欲しい | 自分の思っていることを他のユーザーへ共有するために、文章を書いて投稿したい。 |
| 2 | 全投稿を見れる | 全投稿を見れるようにして欲しい | 他のユーザーが共有したいと思っていることを知るために、これまでの投稿を見たい。 |
| 3 | 未読の投稿を識別できる | 全投稿のうち、未読の投稿だけをユーザーが識別できて読めるようにして欲しい | 未読の投稿を読むために全投稿を確認したくないので、どれが未読か識別できるようになっていて欲しい。 |
| 4 | ログインできるようにする | ログインしてユーザーを識別できるようにして欲しい | 投稿に記載されている名前が本当にその人という確証があれば安心できる。自分の名前を騙った投稿がされることが心配なので、自分と他人の投稿の区別が簡単で確実につくと安心できる。 |
| 5 | ログアウトできるようにする | ログインした状態からログアウトできるようにして欲しい | ログインとログアウトは対となっていると感じ、ログインしかないのは不自然に感じる。 |
| 6 | … | … | … |
スプリントバックログ例(「投稿できる」と「全投稿を見れる」に対応)
- プロダクトオーナーと画面イメージの共有をする
- URL設計をする
- HTML画面を作成して表示させる
- データベースの設計をする
- 投稿機能の実装(投稿できる)
- 投稿機能のテスト(Controller層)
- 投稿機能のテスト(Service層)
- 一覧表示機能の実装(一覧表示できる)
- 一覧表示機能のテスト(Controller層)
- 一覧表示機能のテスト(Service層)
スプリントレトロスペクティブの例
私たちの開発チームでは、KPT法(Keep, Problem, Try)で振り返りを行っています。
- Keep(継続): 良かったこと、成果が出ていること、続けるべきこと
- Problem(問題): 課題、改善すべき点、解決すべき問題
- Try(挑戦): 次に試したいこと、挑戦したいこと、改善策
スクラムイベントの日は、みんなで付箋を壁に貼りながら活発に意見交換を行っています。

まとめ
今回はスクラムにおける重要なイベントについてご紹介しました。
訓練を始めたばかりの頃はスクラムの手法に慣れるまで時間がかかりましたが、スプリントごとにやることを明確にして集中し、定期的にレビューと振り返りを行うことで、多くのメリットを実感しています。特に、進捗が明確になり、問題点などの共有も早くできるようになること、そして仕様変更などにも柔軟に対応できる点が大きな利点だと感じています。
次回も、日々の訓練で学んでいることや作業の様子を発信していけたらと思います。どうぞお楽しみに!


