Scrum と Kanban を比較します。タイムボックス化されたスプリントと継続的なフロー、役割、WIP 制限、メトリクス、そしてイテレーションを基本とする East Agile Tracker のボードが両者の間のどこに位置するか。
Scrum と Kanban は、チームが最もよく比較する 2 つのアジャイル手法です。どちらも作業を可視化し、どちらも小さな単位で届けることを目指します。違うのは作業のペースの取り方です。Scrum は固定のタイムボックスで計画し、Kanban は作業を継続的にプルして、同時に進行中の作業量を制限します。
このページでは両者を比較します。XP や Lean を含む手法群全体については アジャイル開発とは? を参照してください。
Scrum の概要
Section titled “Scrum の概要”Scrum は作業を スプリント に分けて進めます。スプリントは固定のタイムボックスで、通常は 1〜4 週間です。各スプリントはスプリント計画で始まり、チームはそこで終えられると見込む作業を選びます。そして、作ったもののレビューと、チームの働き方についての振り返りで終わります。
Scrum は 3 つの役割を定めています。
- Product Owner — プロダクトバックログとその順序を所有する。
- Scrum Master — プロセスについてチームを導き、障害を取り除く。
- Developers — インクリメントを作る。
主な尺度は ベロシティ です。チームがスプリントごとに終える作業量で、次のスプリントの計画に使われます。ベロシティとは? を参照してください。
Kanban の概要
Section titled “Kanban の概要”Kanban は、チームがすでに持っているワークフローから出発します。作業項目は、工程を表す列で構成されたボードの上を移動します(たとえば To do → In progress → Review → Done)。この手法は 3 つの考え方で成り立っています。
- ワークフローを可視化する — すべての項目とすべての工程がボード上にある。
- 仕掛り作業(WIP)を制限する — 各列に上限があり、1 つ出ていったときにだけ新しい項目が入る。
- フローを管理する — 項目にかかる時間(サイクルタイム、リードタイム)を測り、ボトルネックを取り除く。
Kanban にはタイムボックスがなく、役割も定めていません。計画は、キューの補充が必要になったときに行われます。
| Scrum | Kanban | |
|---|---|---|
| ケイデンス | 固定のスプリント(1〜4 週間) | 継続的なフロー |
| コミットメント | スプリントのために計画した作業 | まとめてのコミットはなく、キャパシティがあればプルする |
| 役割 | Product Owner、Scrum Master、Developers | 定めなし |
| サイクル途中の変更 | スプリント中は避ける | いつでも可能 |
| 作業量の制限 | スプリントのキャパシティ | 列ごとの WIP 制限 |
| 主なメトリクス | ベロシティ、バーンダウン | サイクルタイム、リードタイム、スループット |
| ボード | スプリントごとにリセット | 継続して使う |
どちらを選ぶか
Section titled “どちらを選ぶか”一般的にどちらが優れているということはありません。Scrum は、定期的な計画のリズムと過去のスプリントに基づく予測を求めるチーム、たとえば予定に沿って機能を出荷するプロダクトチームに向いています。Kanban は、予測できないタイミングで届き、来た順に対応しなければならない作業、たとえばサポート、運用、保守に向いています。
両者を組み合わせるチームも多くあります(「Scrumban」)。計画のケイデンスを保ちつつ、進行中の作業量にも気を配ります。
East Agile Tracker の位置づけ
Section titled “East Agile Tracker の位置づけ”East Agile Tracker は イテレーションを基本 としているため、Kanban よりも Scrum や eXtreme Programming に近い位置にあります。上記の概念のいくつかには独自の用語を使います。
- スプリントはイテレーションと呼ばれます。 プロジェクトごとにイテレーションの長さを 1〜4 週間で設定します。イテレーションは自動的に作成され、開いたり閉じたりするスプリントはありません。イテレーション を参照してください。
- バックログは単一の順序付きリストです。 プロダクトオーナーが厳密な優先順位で並べ、Backlog はベロシティから今後のイテレーションを投影します。ユーザーストーリーとイテレーション計画 を参照してください。
- ベロシティが計画のサイズを決めます。 auto-plan iterations がオンのとき、現在のイテレーションはベロシティまで埋まり、それ以上は埋まりません。イテレーションを計画する を参照してください。
- 各ストーリーが自分の状態を持ちます。 ストーリーはボードの列を移動するのではなく、Unstarted → Started → Finished → Delivered → Accepted と進み、その状態はカード上に表示されます。状態機械 を参照してください。
WIP 制限はなく、イテレーションを使わないフローモードもありません。引き継がれている Kanban の考え方は、可視性(すべてのストーリーとその状態が 1 つのボード上にある)とフローのメトリクスです。メトリクス ページには、ベロシティの傾向、バーンダウン、イテレーション間で繰り越されたストーリーが表示されます。
- アジャイル開発とは? — マニフェストと手法群。
- ベロシティとは? — ベロシティの計算方法と使い方。
- ストーリーポイントとは? — 相対見積もり。