【Scrum】基礎 - フレームワークの役割・イベント・成果物を完全解説
Scrum(スクラム)は、複雑なプロダクト開発を実現するためのフレームワークです。「3つの役割」「5つのイベント」「3つの成果物」というシンプルな構成で、チームが迅速に価値を届けることを支援します。
この記事では、Scrum の基本概念から実践的な導入方法まで、段階的に解説します。アジャイル開発を始めたい方や、Scrum の理解を深めたい方に最適な内容です。
基本的な概要
アジャイルとスクラムの違い
Scrum を学ぶ前に、アジャイルとの違いを理解しておきましょう。
考え方・哲学。2001年の「アジャイルソフトウェア開発宣言」で定義された価値観。具体的な実践方法は規定していない。
フレームワーク。アジャイルの価値観を実現するための具体的な手法。役割・イベント・成果物が明確に定義されている。
アジャイル(哲学・価値観)
├── スクラム ← 本記事で解説
├── カンバン
├── XP(エクストリーム・プログラミング)
└── その他
| 比較項目 | アジャイル | スクラム |
|---|---|---|
| 性質 | 哲学・価値観 | フレームワーク |
| 具体性 | 抽象的な原則 | 具体的なルール |
| 役割定義 | なし | 3つの役割を定義 |
| イベント定義 | なし | 5つのイベントを定義 |
アジャイル開発をするからといって、必ずスクラムを使う必要はありません。チームの状況に応じて最適な手法を選択しましょう。
Scrum とは
Scrum は、不確実性の高い環境で価値を継続的に届けるためのフレームワークです。以下の2つの考え方を基盤としています。
- 経験主義: 実際の結果から学び、観察に基づいて意思決定する
- リーン思考: ムダを省き、本質に集中する
これらの考え方により、Scrum は反復的(短い期間を繰り返す)かつインクリメンタル(毎回動くプロダクトを届ける)な開発を実現します。
3つの基本原則
Scrum は経験主義に基づき、以下の3つの原則で成り立っています。
| 原則 | 説明 | 具体例 |
|---|---|---|
| 透明性 | 状況を全員が把握できる | バックログやボードの公開 |
| 検査 | 定期的に成果を確認する | スプリントレビューでのデモ |
| 適応 | 問題があれば改善する | レトロスペクティブでの振り返り |
5つの価値観
- コミットメント: 目標達成に全力を尽くす
- フォーカス: スプリント目標に集中する
- オープンネス: 情報をオープンに共有する
- リスペクト: お互いの能力と意見を尊重する
- 勇気: 正しいことを言い、難しい問題に立ち向かう
Scrum の3つの役割
Scrum では、チームを3つの役割で構成します。それぞれの責任が明確に分かれているため、意思決定がスムーズになります。
プロダクト・オーナー(PO)
プロダクト・オーナーは「何を作るか」を決める人です。プロダクトの価値を最大化する責任を持ちます。
主な責任
- プロダクト・バックログの管理と優先順位付け
- 要件の明確化と説明
- ステークホルダーとの調整
- プロダクト目標の設定
求められるスキル
- ビジネス知識とドメイン理解
- 決断力と優先順位付け能力
- コミュニケーション能力
プロダクト・オーナーは1人です。委員会ではありません。意思決定の責任を明確にするためです。
スクラム・マスター(SM)
スクラム・マスターは「Scrum がうまく機能するよう支援する」人です。チームのコーチ役として、障害を取り除きます。
主な責任
- Scrum の理解と実践をサポート
- イベントのファシリテーション
- 障害(ブロッカー)の解決
- チームの成長支援
- 外部からの干渉を防ぐ
求められるスキル
- Scrum に関する深い知識
- ファシリテーション能力
- コーチング能力
- 問題解決能力
スクラム・マスターは管理者ではありません。チームに指示を出すのではなく、チームが自律的に動けるよう支援します。
開発チーム
開発チームは「どう作るか」を決め、実際にプロダクトを作る人たちです。
主な特性
- 自己組織化: 作業の進め方は自分たちで決める
- 機能横断的: 必要なスキルをチーム内に持つ
- 小規模: 3〜9名が推奨(コミュニケーションのため)
求められるスキル
- 技術的スキル(開発、テスト、デザイン等)
- コラボレーション能力
- 自律性と責任感
開発チーム内に階層はありません。「シニア」「ジュニア」という区別はあっても、全員が対等にスプリント目標に責任を持ちます。
役割の関係図
┌─────────────────────────────────────────────┐
│ Scrum チーム │
├─────────────────────────────────────────────┤
│ プロダクト・オーナー(1名) │
│ └── 何を作るか決める │
│ │
│ スクラム・マスター(1名) │
│ └── Scrum がうまく回るよう支援 │
│ │
│ 開発チーム(3〜9名) │
│ └── 実際にプロダクトを作る │
└─────────────────────────────────────────────┘
Scrum の5つのイベント
Scrum には5つのイベント(会議)があります。これらは「検査と適応」の機会を定期的に設けるためのものです。
スプリントの流れ
Step 1
計画
Step 2
デイリー
Step 3
開発
Step 4
レビュー
Step 5
振り返り
スプリント
スプリントは、他の4つのイベントを包含するコンテナです。固定された期間で開発を繰り返します。
| 項目 | 内容 |
|---|---|
| 期間 | 1〜4週間(固定) |
| 目的 | 一定のリズムで価値を届ける |
| 特徴 | 終了後すぐに次のスプリントが始まる |
- 短い(1週間): フィードバックが早い、計画の精度が高い
- 長い(4週間): 大きな機能を開発しやすい、オーバーヘッドが少ない
多くのチームは2週間を採用しています。まずは2週間で始めて、チームに合わせて調整しましょう。
スプリント計画
スプリントの最初に行う計画会議です。「何を作るか」「どう作るか」を決めます。
| 項目 | 内容 |
|---|---|
| 時間 | 最大8時間(2週間スプリントの場合は最大4時間) |
| 参加者 | スクラムチーム全員 |
| 成果物 | スプリント目標、スプリント・バックログ |
進め方
POがバックログの上位項目を説明します。
スプリント目標を設定します。
開発チームがタスクに分解します。
デイリー・スクラム
毎日行う短い同期ミーティングです。チームの状況を共有し、1日の計画を立てます。
| 項目 | 内容 |
|---|---|
| 時間 | 15分以内(厳守) |
| 参加者 | 開発チーム(必須)、SM(ファシリテーター) |
| 頻度 | 毎日同じ時間・場所 |
共有する内容
- 昨日やったこと
- 今日やること
- 困っていること(障害)
デイリー・スクラムは「報告会」ではありません。チームメンバー同士の同期が目的です。上司への報告の場にしないようにしましょう。
スプリント・レビュー
スプリントの成果物をステークホルダーに見せ、フィードバックをもらう場です。
| 項目 | 内容 |
|---|---|
| 時間 | 最大4時間(2週間スプリントの場合は最大2時間) |
| 参加者 | スクラムチーム全員、ステークホルダー |
| 目的 | 成果物の検査とフィードバック収集 |
進め方
- 完成した機能をデモンストレーション
- ステークホルダーからフィードバックを収集
- プロダクト・バックログの調整を議論
「完成していない機能」はデモしません。Definition of Done を満たしたものだけを見せます。
スプリント・レトロスペクティブ
スプリントの最後に行う振り返り会議です。チームのプロセスを改善します。
| 項目 | 内容 |
|---|---|
| 時間 | 最大3時間(2週間スプリントの場合は最大1.5時間) |
| 参加者 | スクラムチーム全員 |
| 目的 | プロセスの検査と改善 |
よく使われるフォーマット(KPT)
| 項目 | 内容 |
|---|---|
| Keep | 続けたいこと |
| Problem | 問題だったこと |
| Try | 次に試すこと |
具体例
Keep:
- ペアプログラミングが効果的だった
- 朝会の時間が守れた
Problem:
- テストが後回しになりがち
- 仕様の認識ずれがあった
Try:
- テストを先に書く(TDD)
- 仕様確認のチェックリストを作る
イベントの時間枠まとめ
2週間スプリントの場合の目安です。
| イベント | 時間枠 | 頻度 |
|---|---|---|
| スプリント計画 | 最大4時間 | スプリント開始時 |
| デイリー・スクラム | 15分 | 毎日 |
| スプリント・レビュー | 最大2時間 | スプリント終了時 |
| レトロスペクティブ | 最大1.5時間 | スプリント終了時 |
Scrum の3つの成果物
Scrum では、3つの成果物(アーティファクト)で作業を管理します。2020年版のスクラムガイドでは、各成果物に対応する「確約(コミットメント)」が明確化されました。
| 成果物 | 確約(コミットメント) | 説明 |
|---|---|---|
| プロダクト・バックログ | プロダクトゴール | プロダクトの長期目標 |
| スプリント・バックログ | スプリントゴール | スプリントの唯一の目的 |
| インクリメント | 完成の定義 | 品質基準を満たす状態 |
成果物の流れ
Step 1
プロダクト・バックログ
Step 2
スプリント・バックログ
Step 3
インクリメント
プロダクト・バックログ
プロダクトに必要なすべての作業を一覧にしたものです。
特徴
- プロダクト・オーナーが管理する
- 優先順位が付いている(上位ほど重要)
- 常に更新される(生きたドキュメント)
- 上位の項目ほど詳細に記述
プロダクトゴール
プロダクトゴールは、プロダクトの将来の状態を表す長期目標です。スクラムチームは、このゴールに向かって各スプリントで価値を届けます。
ひとつのプロダクトゴールを達成(または放棄)するまで、次の目標には移りません。チーム全員が同じ方向を向くための指針です。
リファインメント
リファインメントは、将来のスプリントに備えてバックログを準備する活動です。スプリント中に継続的に行い、アイテムの分割、見積もり、優先順位の調整などを行います。
リファインメントは5つの公式イベントには含まれません。スプリント計画とは別の活動で、次のスプリント以降の準備として行います。
プロダクト・バックログ・アイテム(PBI)の例
| 優先度 | アイテム | 見積り |
|---|---|---|
| 高 | ユーザーがログインできる | 5 |
| 高 | ユーザーがプロフィールを編集できる | 3 |
| 中 | ユーザーがパスワードをリセットできる | 5 |
| 低 | 管理者がユーザー一覧を見れる | 8 |
スプリント・バックログ
現在のスプリントで実施する作業のリストです。
特徴
- 開発チームが管理する
- スプリント計画で作成
- スプリント期間中も更新可能
- タスク単位に分解されている
スプリントゴール
スプリントゴールは、そのスプリントの唯一の目的です。開発チームが確約するものであり、作業に一貫性と集中をもたらします。
作業が予想と異なる場合、スプリントゴールに影響しない範囲でスコープを調整できます。ゴールを守りつつ、柔軟に対応しましょう。
スプリント・バックログの例
スプリント目標: ユーザーがログインできるようにする
PBI: ユーザーがログインできる
├── タスク: ログイン画面のUI作成 [完了]
├── タスク: 認証APIの実装 [進行中]
├── タスク: セッション管理の実装 [未着手]
└── タスク: ログイン機能のテスト [未着手]
インクリメント
スプリントで完成した成果物の総和です。スプリント中に複数のインクリメントを作成することもできます。
特徴
- 「完成の定義(Definition of Done)」を満たしている
- 実際に使用可能な状態
- 毎スプリント積み上がっていく
完成の定義(Definition of Done)
完成の定義は、インクリメントが品質基準を満たしているかを判断する基準です。これを満たさない作業はリリースできず、スプリントレビューでも提示できません。
チーム全員で合意し、文書化しておくことが重要です。
完成の定義の例
- コードレビューが完了している
- 単体テストが書かれている
- 統合テストが通っている
- ドキュメントが更新されている
- 本番環境にデプロイ可能な状態
実践的な導入方法
チーム構成のポイント
| 項目 | 推奨 | 理由 |
|---|---|---|
| チームサイズ | 3〜9名 | コミュニケーションの効率 |
| PO | 専任1名 | 意思決定の明確化 |
| SM | 専任または兼任1名 | Scrum の定着支援 |
| メンバーの安定性 | 固定が望ましい | チームの成熟 |
導入ステップ
役割を決め、メンバーを集めます。
Scrum の基礎を全員で学びます。
バックログ管理ツールを用意します(Jira、Trello等)。
小さく始めて学びます。
レトロスペクティブで改善を続けます。
よくある間違い
スプリント目標がない
「このスプリントでログイン機能を完成させる」と明確な目標を設定
タスクをこなすだけで、何のためにやっているか不明確
「このスプリントで何を達成したいか」を必ず言語化しましょう。スプリント目標は1〜2文で表現できる具体的なものにします。
デイリー・スクラムが報告会になる
メンバー同士が向き合って「困っていること」を共有し、助け合う
SMやPOへの報告の場になり、チームの同期ができていない
レトロスペクティブで改善が実行されない
振り返りはするが、次のスプリントで何も変わらないパターンに注意。Try は1〜2個に絞り、次のスプリントで必ず実行しましょう。スプリント・バックログに改善タスクを入れるのも効果的です。
POが不在・兼任過多
優先順位が決まらない、質問に答えられない状態になります。
POは専任が望ましいです。難しければ、判断を委譲する範囲を明確にしましょう。
Definition of Done が曖昧
「完成」の基準が人によって違い、品質がバラつきます。
チーム全員で Definition of Done を合意し、文書化しましょう。定期的に見直すことも大切です。
他の手法との比較
Scrum vs カンバン
| 項目 | Scrum | カンバン |
|---|---|---|
| 周期 | 固定スプリント | 継続的フロー |
| 計画 | スプリント計画で決定 | 随時追加 |
| 役割 | 3つの役割を定義 | 役割は自由 |
| 変更 | スプリント中は原則固定 | いつでも変更可 |
| 適した場面 | プロダクト開発 | 運用・保守 |
Scrum vs ウォーターフォール
| 項目 | Scrum | ウォーターフォール |
|---|---|---|
| 進め方 | 反復的 | 直線的 |
| 要件変更 | 歓迎 | 困難 |
| フィードバック | 頻繁 | 最後に一度 |
| リスク | 早期に発見 | 後半に集中 |
| 適した場面 | 不確実性が高い | 要件が明確 |
参考文献
- スクラムガイド 2020年版 - Scrum の公式ガイド
- アジャイルソフトウェア開発宣言 - アジャイルの原点
まとめ
Scrum は「3つの役割」「5つのイベント」「3つの成果物」で構成されるシンプルなフレームワークです。
- プロダクト・オーナー: 何を作るか決める
- スクラム・マスター: Scrum がうまく回るよう支援
- 開発チーム: 実際にプロダクトを作る
- スプリント: 1〜4週間の開発サイクル
- スプリント計画: 何をどう作るか決める
- デイリー・スクラム: 毎日15分の同期
- スプリント・レビュー: 成果物を見せてフィードバックをもらう
- レトロスペクティブ: プロセスを振り返り改善する
- プロダクト・バックログ: 全体の作業リスト
- スプリント・バックログ: 今回の作業リスト
- インクリメント: 完成した成果物
Scrum を導入する際は、まず小さく始めることが大切です。完璧を目指すのではなく、レトロスペクティブで継続的に改善していきましょう。