LabHub

ブログ

アジャイル・スクラム・カンバン — 実践フレームワーク比較

한국어English日本語

はじめに

「私たちはアジャイルに働いています」という言葉を聞いたことがないチームは、ほとんどないでしょう。ところがよく見てみると、毎日集まって進捗を報告する会議が長引き、スプリントはいつまでも終わらず、ふりかえりは形式的に流れている、というケースが少なくありません。アジャイルという言葉は身近でも、その中身であるスクラムとカンバンが何で、どう違うのかを正確に説明できる人は意外と少ないものです。

本記事では、アジャイル宣言と12の原則という根っこから出発し、スクラムとカンバンという二つの代表的フレームワークを実践的な視点で比較します。役割とイベント、成果物、WIP制限、見積もり手法を整理し、よく陥る偽アジャイルのアンチパターンと現実的な導入ガイドまで扱います。ツールや会議の名前を覚えることが目的ではなく、「なぜこう働くのか」を理解することが目標です。


1. アジャイルとは何か

アジャイル宣言

2001年、17名のソフトウェア開発者が米国ユタ州スノーバードに集まり、「アジャイルソフトウェア開発宣言(Agile Manifesto)」を発表しました。重厚な文書と計画中心の従来型開発への反省から生まれたこの宣言は、四つの価値を示しています。

アジャイル宣言の四つの価値

  プロセスやツールよりも  ──▶  個人と対話を
  包括的な文書よりも      ──▶  動くソフトウェアを
  契約交渉よりも          ──▶  顧客との協調を
  計画に従うことよりも    ──▶  変化への対応を

  「左側にも価値はあるが、
   私たちは右側により高い価値を置く。」

ここで最も誤解されやすいのは、左側を捨てよという意味ではない、という点です。文書も必要ですし、計画も必要です。ただ、どちらかを選ばなければならない状況であれば、右側により重きを置く、という優先順位の宣言なのです。

アジャイル12の原則

宣言の後ろには、それを具体化した12の原則が続きます。すべて暗記する必要はありませんが、要点をまとめると次のようになります。

これらの原則を一文に圧縮すると、こうなります。「小さな単位で頻繁に届け、素早くフィードバックを得て、改善し続ける。」スクラムとカンバンは、この哲学を実行するための異なる具体的な方法論です。


2. スクラム詳細

スクラムは最も広く使われているアジャイルフレームワークです。決まった長さの反復周期であるスプリント(Sprint)を中心に、明確な役割とイベント、成果物を定義します。

2.1 スクラムの三つの役割

スクラムチームは三つの責任で構成されます。よく「役割」と呼ばれますが、最新のスクラムガイドではこれを説明責任(accountability)として表現しています。

理想的なスクラムチームの規模は、通常10名以下です。大きすぎると意思疎通のコストが増え、小さすぎると多様なスキルを備えにくくなります。

2.2 スプリント周期

スプリントは通常1週間から4週間の固定された期間です。一つのスプリントの中で、複数のイベントが決まった順序で起こります。

スプリント周期(2週間の例)

  ┌──────────────────────────────────────────────────────┐
  │                スプリント(2週間)                     │
  │                                                        │
  │  スプリントプランニング                                │
  │       │                                                │
  │       ▼                                                │
  │  ┌─────────────────────────────────────────────┐      │
  │  │  Day 1 ── Day 2 ── ... ── Day 9 ── Day 10    │      │
  │  │    │       │                 │       │       │      │
  │  │  デイリー デイリー          デイリー デイリー │      │
  │  │  スクラム スクラム          スクラム スクラム │      │
  │  └─────────────────────────────────────────────┘      │
  │       │                                                │
  │       ▼                                                │
  │  スプリントレビュー  ──▶  スプリントレトロスペクティブ │
  └──────────────────────────────────────────────────────┘
                  次のスプリント開始

2.3 スクラムの五つのイベント

スプリント自体も一つのイベントとみなされ、その中に四つのイベントが含まれます。

デイリースクラムでよく使われる三つの質問は次のとおりです。

デイリースクラムの伝統的な3つの質問

  1) 昨日は何をしたか?
  2) 今日は何をするか?
  3) スプリントゴールを妨げる障害はないか?

  ※ 最新のスクラムガイドは形式を強制しません。
     核心は「スプリントゴールへの進捗点検と計画調整」です。

2.4 スクラムの三つの成果物

各成果物には透明性を高める約束(commitment)が結びつきます。プロダクトバックログにはプロダクトゴール(Product Goal)、スプリントバックログにはスプリントゴール(Sprint Goal)、インクリメントには完成の定義(Definition of Done)が結びつきます。

バックログのフロー

  アイデア / 要求
  ┌───────────────┐   refinement   ┌───────────────┐
  │ プロダクト     │ ─────────────▶ │ 細かく分割し   │
  │ バックログ     │   洗練         │ 見積もった項目 │
  │ (優先順位順)   │                │               │
  └───────────────┘                └───────────────┘
        │  プランニングで上位項目を選ぶ
  ┌───────────────┐                ┌───────────────┐
  │ スプリント     │ ───────────▶  │ インクリメント │
  │ バックログ     │  開発/統合     │ (リリース可能) │
  │ (今回の作業)   │                │               │
  └───────────────┘                └───────────────┘

2.5 完成の定義(Definition of Done)

完成の定義は、「この仕事が終わった」と言える共通の基準です。コードを書けば終わりではなく、テスト通過、コードレビュー、文書化、デプロイ可能な状態までを合意しておきます。完成の定義が曖昧だと、「ほぼできています」という言葉が毎スプリント繰り返され、インクリメントの品質を信頼できなくなります。

完成の定義の例

  [ ] 機能要求を満たす
  [ ] ユニットテスト作成と通過
  [ ] コードレビュー承認 1件以上
  [ ] リント/フォーマット検査の通過
  [ ] 文書の更新
  [ ] ステージング環境へのデプロイ確認

3. カンバン詳細

カンバンは、トヨタ生産方式から生まれたフロー(flow)管理の方法です。日本語で「看板」や「合図のカード」を意味し、ソフトウェア開発では作業の流れを可視化し、進行中の仕事の量を制限する方法として使われます。

スクラムが決まった周期で区切って働くのに対し、カンバンは途切れのない連続的な流れを追求します。決まった役割も、固定された反復周期も強制しません。

3.1 カンバンの中心的なプラクティス

カンバンには変化を扱う原則とプラクティスがあります。プラクティスの核心は次のとおりです。

3.2 カンバンボード

カンバンボードは作業の流れを列(column)で表します。最もシンプルな形は次のとおりです。

カンバンボード(WIP制限あり)

  ┌──────────┬──────────┬──────────────┬──────────┬──────────┐
  │ Backlog  │  To Do   │ In Progress  │  Review  │   Done   │
  │          │ (WIP 3)  │   (WIP 2)    │ (WIP 2)  │          │
  ├──────────┼──────────┼──────────────┼──────────┼──────────┤
  │ [ #12 ]  │ [ #08 ]  │  [ #05 ]     │ [ #03 ]  │ [ #01 ]  │
  │ [ #13 ]  │ [ #09 ]  │  [ #06 ]     │          │ [ #02 ]  │
  │ [ #14 ]  │ [ #10 ]  │              │          │          │
  │ [ #15 ]  │          │              │          │          │
  └──────────┴──────────┴──────────────┴──────────┴──────────┘
                  │            │
                  └─ 引き取り ─┘
       (前の段階が空けば次のカードを引き取る = Pull システム)

ここで In Progress 列の「WIP 2」は、同時に二つまでしか進められないという意味です。三つ目の作業を始めたくても、まず進行中の一つを Review に渡して枠を空ける必要があります。

3.3 WIP制限が重要な理由

進行中作業(Work In Progress)を制限することは、カンバンの心臓です。直感に反して、同時にもっと多くの仕事を抱えると、処理量が増えるどころか、むしろ減ります。

リトルの法則(Little's Law)は、この直感に数学的な根拠を与えます。平均処理時間は、進行中作業の数を処理率で割った値に比例します。つまり、同じ処理率でも進行中作業が多いほど、各作業が終わるまでにかかる時間が長くなります。

リトルの法則(概念)

  平均リードタイム  =  進行中作業の数  /  平均処理率

  進行中作業が多いほど → リードタイムが長くなる
  WIPを減らせば       → 個々の作業がより早く終わる

3.4 カンバンの測定指標

カンバンはデータに基づく改善を重視します。よく使われる指標は次のとおりです。


4. スクラム vs カンバン 比較

二つのフレームワークは同じアジャイル哲学を共有しますが、強調点が異なります。どちらが優れているかではなく、チームの働き方と業務の性質によって適合度が分かれます。

区分スクラムカンバン
リズム固定長スプリントの反復途切れのない連続フロー
役割PO、スクラムマスター、開発者を定義役割の強制なし
変更時点スプリント中の範囲変更は避けるいつでも優先順位を調整可能
主要指標ベロシティ、バーンダウンリード/サイクルタイム、スループット
WIP管理スプリント単位で暗黙的に制限列ごとに明示的なWIP制限
イベントプランニング、デイリー、レビュー、レトロ強制会議なし
成果物プロダクト/スプリントバックログ、インクリメントボード、方針、フロー指標
適した状況計画可能な機能開発運用、支援、流入が不規則な業務
変化の強度働き方を新たに導入既存プロセスの上に段階的に適用

実務では、両者を混ぜたスクラムバン(Scrumban)もよく使われます。スクラムのリズムとふりかえりを保ちながら、ボードにWIP制限を加える形です。フレームワークは目的のための手段にすぎないので、教条的に片方だけに固執する必要はありません。

選択ガイド(おおまかな直感)

  仕事が事前に計画可能で、周期的なリリースが合う
        └──▶ スクラム

  仕事が外部から不規則に入り(運用/支援)、フローが重要
        └──▶ カンバン

  既存プロセスを刷新するのが負担
        └──▶ カンバンで始めて段階的に改善

  チームが自律とリズムの両方を望む
        └──▶ スクラムバン

5. 見積もり(Estimation)

アジャイルにおいて「この仕事はどれくらいかかるか」を扱う方法は、従来型とは異なります。時間を正確に当てることが目的ではなく、相対的な大きさと複雑さについての共通理解を作ることが目的です。

5.1 ストーリーポイント

ストーリーポイントは作業の大きさを、時間ではなく相対的な数値で表します。「この仕事はあの仕事より二倍ほど複雑だ」といった比較です。通常、次の三つを合わせて考えます。

時間の代わりにポイントを使う理由は、人によって作業の速さが異なり、「3日」という絶対的な見積もりがよく外れるからです。相対的な大きさは比較的一貫して合意されます。複数のスプリントが積み重なると、チームの平均処理量であるベロシティ(Velocity)が見えてきて、それをもとに今後の計画を立てられます。

5.2 プランニングポーカー

プランニングポーカーは、ストーリーポイントを一緒に見積もる代表的な技法です。よくフィボナッチ数列を変形したカードを使います。

プランニングポーカーのカード(変形フィボナッチ)

  0   1   2   3   5   8   13   20   40   100   ?   (コーヒー)

  数字が大きくなるほど間隔が広がる
  → 大きな作業ほど不確実性が大きく、精密な見積もりが無意味なことを反映
  → 「?」 はわからないという合図、「コーヒー」 は少し休もうという合図

進め方はシンプルです。

プランニングポーカーの進行

  1) POがバックログ項目を説明する
  2) メンバー各自がカードを同時に公開する
  3) 数字が大きく割れたら、最も高い/低い人が理由を話す
  4) 議論の後、再び見積もる
  5) 合意に近づくまで繰り返す

  核心は「正解」ではなく「理解のそろえ」

値が割れること自体が価値ある合図です。誰かが5を、誰かが13を出したなら、その差はたいてい要求への理解の差から来ます。その隔たりを埋める対話こそが、見積もりの本当の目的です。

5.3 バーンダウンチャート

バーンダウンチャートは、スプリントの間に残りの作業量が減っていく推移を示します。理想の直線と実際の推移を比べて、進捗とリスクを見積もります。

スプリントバーンダウン(概念)

  残り
  作業量
   │\
   │  \        \ 理想線(均等な減少)
   │    ●          \
   │      \●         \
   │        \  ●        \
   │          \   ●        \
   │            \     ●●      \
   │              \        ●     \
   └────────────────────────────────▶ 時間
   開始                            終了

  実際の線が理想線の上にとどまると → 遅延リスクの合図

バーンダウンは監視の道具ではなく、対話の道具として使うべきです。「なぜ遅れたのか」を追及するのに使えば、チームは見積もりを水増しし始め、指標は意味を失います。


6. アンチパターン — 偽アジャイル

アジャイルの形式だけをまね、精神を取りこぼした状態を、よく「偽アジャイル(Fake Agile)」または「ダークスクラム(Dark Scrum)」と呼びます。会議の名前とツールはそろっていても、実際には統制と圧力の道具に変質してしまった場合です。

よく見られるアンチパターン

本物のアジャイル vs 偽アジャイル

  本物                         偽物
  ─────────────────           ─────────────────
  目標(なぜ)に集中     vs    儀式(手順)に集中
  自己組織化チーム      vs    上から統制するチーム
  変化を歓迎            vs    変化を封じる
  指標で学ぶ            vs    指標で罰する
  ふりかえりで改善      vs    ふりかえりを省略
  完成 = リリース可能   vs    完成 = 「ほぼ完了」

偽アジャイルの共通の根は「統制したい欲求」です。アジャイルは本質的に、チームへの信頼を前提とします。信頼なしに形式だけを導入すると、すべてのイベントが監視の道具に変質します。


7. 導入ガイド

新しいチームにアジャイルを導入するときは、本に書いてあるすべてを一度に適用しようとする欲を捨てるのが賢明です。小さく始めて段階的に洗練していくこと自体が、アジャイルなやり方です。

段階的なアプローチ

段階的導入ロードマップ

  ステップ1  現在の流れを可視化
            └ どう仕事をしているかをボードにそのまま描く
  ステップ2  小さなルールを一つ追加
            └ ふりかえりを隔週で導入 / または一列にWIP制限を適用
  ステップ3  測定を開始
            └ サイクルタイム、スループットなど一つ二つの指標だけ追う
  ステップ4  ふりかえりで調整
            └ データを根拠にルールを足したり引いたりする
  ステップ5  反復
            └ チームに合う形に収束するまで改善

フレームワーク選択の基準

導入時によくある落とし穴


おわりに

アジャイルは特定の会議やツールの集合ではなく、「小さく作り、頻繁にフィードバックを得て、絶えず改善する」という考え方です。スクラムは決まったリズムと役割でこの考え方を構造化し、カンバンはフローとWIP制限で同じ目標に近づきます。どちらにせよ大切なのは形式ではなく、その中に込められた精神、すなわちチームへの信頼と継続的な改善です。

最も警戒すべきは、儀式だけをまねる偽アジャイルです。デイリースクラムが報告会議になり、ベロシティが評価の道具になり、ふりかえりが消える瞬間、フレームワークは抜け殻だけが残ります。小さく始め、データで学び、ふりかえりで調整してください。チームに合わせて収束していくその過程自体が、最もアジャイルな実践です。


参考資料

コメント

まだコメントはありません。

ログインするとコメントできます