7-2 スクラム
Scrum Framework
1. スクラムの概要
1.1 スクラムとは
スクラムは、複雑な問題に対応するための軽量なフレームワークである。 1990年代にJeff SutherlandとKen Schwaberによって開発され、 現在はScrum.orgとScrum Allianceが認定を行っている。 「スクラムガイド」が公式のルールブックであり、 シンプルなルールセットで構成されている。
1.2 スクラムの3本柱
スクラムは経験主義に基づいており、 透明性、検査、適応の3本柱で成り立っている。 これらの柱が機能しなければ、スクラムの効果は発揮されない。
| 柱 | 説明 |
|---|---|
| 透明性 | プロセスと成果物を全員が見える状態にする |
| 検査 | 成果物とゴールへの進捗を頻繁に検査する |
| 適応 | 検査の結果に基づき、プロセスや成果物を調整する |
@startuml !theme plain skinparam backgroundColor #FEFEFE skinparam defaultFontName Noto Sans JP title スクラムフレームワーク rectangle "プロダクトバックログ" as PB #DBEAFE rectangle "スプリントプランニング" as SP #D1FAE5 rectangle "デイリースクラム" as DS #D1FAE5 rectangle "開発作業" as Dev #D1FAE5 rectangle "スプリントレビュー" as SR #D1FAE5 rectangle "レトロスペクティブ" as Retro #D1FAE5 rectangle "インクリメント" as Inc #FEF3C7 PB --> SP : バックログ項目を選択 SP --> Dev Dev --> DS : 毎日15分 DS --> Dev Dev --> SR : 成果物をデモ SR --> Retro : プロセスを振り返り Retro --> PB : 次のスプリントへ Dev --> Inc : 完成 note bottom of PB プロダクトオーナーが管理 優先順位付けされたリスト end note note bottom of Inc 完成の定義を満たす リリース可能な成果物 end note @enduml
図1: スクラムフレームワークの全体像
2. スクラムチーム(3つのロール)
スクラムチームは、プロダクトオーナー、スクラムマスター、開発者で構成される。 マネージャーや技術リーダーといった階層的な役職はなく、 3つのロールが対等な立場で協力する。 チームの規模は通常10人以下が推奨される。
| ロール | 責任 | 人数 |
|---|---|---|
| プロダクトオーナー(PO) | プロダクトバックログの管理、価値の最大化 | 1人 |
| スクラムマスター(SM) | スクラムの促進、障害の除去、チーム支援 | 1人 |
| 開発者 | インクリメントの作成 | 3〜9人 |
プロダクトオーナーは、プロダクトの価値を最大化する責任を持つ。 ステークホルダーの要望を集約し、優先順位をつける。 スクラムマスターは、スクラムが正しく機能するよう支援する。 開発者は、毎スプリント「完成の定義」を満たすインクリメントを作成する。
スクラムチームは自己管理型であり、 誰が何をいつどのように行うかをチーム内で決定する。 外部からの指示待ちではなく、自律的に動く。 これには、信頼と権限委譲が不可欠である。
3. スクラムイベント(5つのイベント)
スクラムでは、5つの公式イベントが定義されている。 これらのイベントは、透明性を確保し、検査と適応の機会を提供する。 各イベントにはタイムボックス(時間制限)が設定されており、 効率的な進行が求められる。
| イベント | 目的 | 時間(2週間スプリント) |
|---|---|---|
| スプリント | 固定期間での開発サイクル | 1〜4週間 |
| スプリントプランニング | スプリントの計画、ゴール設定 | 最大4時間 |
| デイリースクラム | 進捗確認、計画の調整 | 15分 |
| スプリントレビュー | 成果物のレビュー、フィードバック収集 | 最大2時間 |
| スプリントレトロスペクティブ | プロセスの振り返り、改善 | 最大1.5時間 |
3.1 デイリースクラムの3つの質問
デイリースクラムでは、各メンバーが以下の3つの質問に答える形式が よく用いられる。ただし、これは必須ではなく、 チームに合った方法を選択してよい。 重要なのは、15分以内にスプリントゴールに向けた同期を取ることである。
| 質問 | 目的 |
|---|---|
| 昨日やったことは? | 進捗の共有 |
| 今日やることは? | 計画の共有 |
| 障害はあるか? | 問題の早期発見 |
デイリースクラムは上司への報告会ではなく、 チームメンバー同士の同期・協調のための場である。 スクラムマスターは必要に応じて参加するが、主役は開発者である。
4. スクラム成果物(3つの成果物)
スクラムでは、3つの成果物が定義されている。 各成果物には「コミットメント」が紐づいており、 透明性を高め、進捗を測定する基準となる。
| 成果物 | 説明 | コミットメント |
|---|---|---|
| プロダクトバックログ | 製品に必要な機能・改善のリスト | プロダクトゴール |
| スプリントバックログ | スプリントで実施する項目と計画 | スプリントゴール |
| インクリメント | 動作する製品の増分 | 完成の定義(DoD) |
4.1 プロダクトバックログの管理
プロダクトバックログは、プロダクトに必要な機能、改善、修正の 優先順位付けされたリストである。 プロダクトオーナーが管理し、常に最新の状態に保つ。 上位の項目ほど詳細化され、すぐに着手できる状態にする。
| 活動 | 内容 |
|---|---|
| 優先順位付け | 価値の高い項目を上位に |
| 見積もり | ストーリーポイントによる相対見積もり |
| リファインメント | 項目の詳細化、分割 |
完成の定義(Definition of Done)
インクリメントが「完成」とみなされる基準である。 例:コードレビュー済み、単体テスト合格、結合テスト合格、 ドキュメント更新済み、ステージング環境にデプロイ済み。 チーム全員が合意し、守ることが重要である。
5. スクラムの実践ポイント
スクラムを効果的に実践するためのポイントを以下に示す。 フレームワークのルールを守ることは重要だが、 形式だけを追うのではなく、その意図を理解することが大切である。
| ポイント | 説明 |
|---|---|
| タイムボックス厳守 | イベントの時間を守る |
| スプリント中の変更禁止 | スプリント中はゴールを変えない |
| ベロシティの計測 | チームの生産性を把握 |
| 継続的な改善 | レトロスペクティブでの改善を実践 |
[1] Schwaber, K. (2020). The Scrum Guide.
[2] Rubin, K. (2012). Essential Scrum.