こんにちは。カイザーです。
今回はプロジェクト開発手法の1つである「スクラム開発」のフレームワークについて、まとめてみました。
スクラムのフレームワークはシンプルで軽量です。ルールブックと呼ばれる「スクラムガイド」はたった17ページしかありません。しかし、スクラムは「フレームワーク」であり、問題を簡単にするものではありません。
難しい課題は、難しく、様々なケースに当てはめて、柔軟にスクラムを考える必要があります。そのため「習得は困難」とされています。
スクラムでは、フィードバックループを短期間で反復させながら、開発を進めます。そうすることにより、素早いフィードバックを得ることができます。また、問題があったとしても小さいうちに迅速に対応してしまうのも、スクラムの特徴です。
スクラムでは、様々な事がらについて、検査・適応を行います。例えば、スプリントレビューではそのスプリントで完成したプロダクトを検査します。その結果は、今後の開発に適応されていきます。(スプリントレビュー)
また、デイリースクラムも検査と適応の場です。毎朝、メンバーの状況共有を通じて検査し、スプリントゴールを達成するための障壁がある場合は、チームでそれを解消するために適応します。
さらに、スクラムでは、プロダクトだけでなく、そのプロセスに対しても、検査と適応を行います。(スプリントレトロスペクティブ)
こうした検査・適応をうまく行うために、「透明性」を心がける必要があります。つまり、重要な情報には、プロジェクトに関わる全員がアクセスできるようにし、誰もがそれについて確認したり、議論したり出来るようにしなければなりません。
また、スクラムでは「分からないことを受け入れる」としており、このような「検査・適応」を繰り返すことにより、チームが学習し、より良いプロダクト(価値)を考えて実践できるようになったり、より良いやり方を考えて実践できるようになるとしています。
スクラムでは、「プロダクトオーナー」「スクラムマスター」「開発チーム」が1つのスクラムチームとなります。スクラムチームは、自己組織化し、機能横断的であると言われています。
自己組織化チームは、作業のやり方や順番について、最善策を自ら考え選択します。いちいち、チーム外から指示を受ける訳ではなく、能動的なチームである必要があるのです。
機能横断的チームは、この1つのスクラムチームで、プロダクトを「完成」させることのできる能力を持っている必要があります。
また、「プロダクトオーナー」「スクラムマスター」「開発チーム」は役割であり、役職ではありません。そこにピラミッドのような上下関係はなく、お互いの役割を達成するために、各々のが責任、協力してゴールを達成します。
プロダクトバックログの管理に責任を持つ1人の人間であるとされています。
プロダクトバックログは、簡単に言うと「実現したいことリスト」です。
詳細は後ほど説明します。
プロダクトオーナーの役割は以下です。
こうした役割を達成するため、プロダクトバックログの管理に責任を持ちます。
スクラムマスターは、スクラムの価値・原則・学びを全員に浸透させる手助けをします。
そのため、プロジェクトリーダーのように、開発するプロダクトの方向性を決めたり、コントロールしたりはしません。
あくまで、スクラムを全員に浸透させ、円滑にスクラムが進むように、手助けするのが役割です。
実際に、プロダクトを設計・開発・テストできるチームです。
プロダクトバックログは、一言で言うと「実現したい要求リスト」です。
最終的には、プロダクトオーナーが責任を持って管理します。
また、プロダクトバックログの要求の一つひとつを「プロダクトバックログアイテム」と呼びます。
スクラムでの開発は、短期間にタイムボックス化された反復を繰り返して行われます。これを「スプリント」と呼びます。
期間が短期間で、かつ固定化されているので、ウォーターフォールと比較して、計画を立てるのが容易になります。
スプリントの初日に実施し、そのスプリントでの作業を計画します。
これにも時間制限があり、スプリントが2週間の場合、最大で4時間で終わらせる必要があります。
スプリント計画会議で、そのスプリントで何をどのようにやるか合意できたら、スプリントの実施がスタートします。
スプリントの実施中、チームの状況を検証・適応するための機会が、デイリースクラムです。
スプリント計画会議で計画し、合意したアイテムについて、開発チームはスプリント内の「完成」を目指して開発を進めます。
「完成」したプロダクトを、関係者全員にデモし、プロダクトの検査を行う機会です。
これにも時間制限があり、スプリントが2週間の場合、最大で2時間で終わらせる必要があります。
自分たちの開発したプロダクトに対して、検査と適応を行うスケジュール化された機会です。
これを、スプリント毎に必ず行うことで、スクラムチームは頻繁なフィードバックを得ることができます。
スプリントの1番最後のイベントです。いわゆる「振り返り」です。スクラムチームやスクラムのやり方を検査し、次のスプリントへの適応をする機会です。
これにも時間制限があり、スプリントが2週間の場合、最大1時間半で終わらせる必要があります。
ここまで終わったら、1スプリント終了です。翌日からは、1番初めに戻り、スプリント計画会議からスタートです。
スクラムのフレームワークはシンプルですが、実際には様々なシチュエーションに応じて、柔軟に対応する必要があると思います。
スクラムガイドをルールとしつつ、各スプリントで、スクラムのやり方を良くしていきたいものですね。