要約: カンバンは視覚的なタスクを利用してワークフローを管理するためのプロジェクト管理フレームワークであり、スクラムはチームが一連の価値観、原則、実践を通じて作業を構造化し、管理するのに役立つプロジェクト管理フレームワークです。
アジャイルとは、指針となる一連の目標と原則です。DevOps は、ソフトウェア開発チームと運用チームの間のプロセスを自動化し統合する方法です。アジャイルと DevOps を実装する場合、カンバンとスクラムはさまざまな方法を提供します。
スクラムとカンバンの実践方法の違いは簡単に区別できますが、それは表面的な違いに過ぎません。実践方法は違っても原則は概ね同じです。どちらのフレームワークもより優れた製品 (およびサービス) をできるだけスムーズに構築するのに役立ちます。
ここで、整理しておきます。
アジャイルとは、構造的かつ反復的なプロジェクト管理および製品開発手法です。製品開発の変動的な性質を念頭に置き、チームが脇道にそれることなく自己管理をして変化に対応できるようにします。今やアジャイルは競争についていくために不可欠な手法です。ブラックボックスで数年 (あるいは数か月) かけて製品を開発する余裕など誰にもないためです。ですからアジャイルの適切な実践が今まで以上に重要になっています。
カンバンの本質は作業を可視化し、進行中の作業に上限を設け、効率 (またはフロー) を最大化することにあります。カンバン チームは、プロジェクト (またはユーザー ストーリー) の開始から終了にかかる時間の短縮に焦点を当てます。そのためにカンバン ボードを使用し、作業フローを継続的に改善します。
スクラム チームは、"スプリント" と呼ばれる一定期間中に作業のインクリメントを完了する (出荷可能な状態にする) ようコミットします。目標は、顧客のフィードバックをすぐに収集し、統合する学習ループの構築にあります。スクラム チームは特定の役割の導入、特別なアーティファクトの作成、セレモニーの定期的な開催を通じて、作業を進行させます。スクラムの詳細な説明は『スクラム ガイド』をご覧ください。
自分にとって最適なプロジェクト管理フレームワークがどちらであっても、すぐに使い始めるのに役立つ Jira テンプレートをご用意しております。スクラム テンプレートかカンバン ボード テンプレートをご確認ください。どちらも無料で使用できます。
| スクラム | カンバン |
---|---|---|
ソース | スクラム ソフトウェア開発 | カンバン リーン生産 |
考え方 | スクラム 経験を通じて学び、自立的に取り組んで優先順位付けし、成功した点と失敗した点を振り返って、継続的に改善する | カンバン ビジュアルを利用して、進行中の作業を改善する |
期間 | スクラム 一定の固定長のスプリント (2 週間など) | カンバン 継続的なフロー |
実践 | スクラム スプリント計画、スプリント、デイリー スクラム、スプリント レビュー、スプリントの振り返り | カンバン 作業フローの可視化、進行中の作業の上限設定、フローの管理、フィードバック ループの組み込み |
役割 | スクラム プロダクトオーナー、スクラムマスター、開発チーム | カンバン 役割は不要 |
スクラム: 構造的なアジャイル手法
チームはスクラムを使用して、価値ある作業のインクリメント (増分) を各スプリントの終了までに確実にリリースします。スクラムは経験主義的な概念を基盤とし、作業の小規模なインクリメントに焦点を当てることで、顧客のフィードバックから学び、取得した情報を次の行動に役立てます。以下はその詳細です。
スクラムの期間
スクラムはスピーディーに展開し、通常 1 - 4 週間継続するスプリントを含み、明確な開始日と終了日があります。このようにタイム フレームが短いため、複雑なタスクはより小さなストーリーに分割しチームがすぐに学習できるようにします。ここで問題となるのが、チームは使用可能なコードをこれほど早くリリースできるかということです。
スプリントではスプリント計画、スプリント レビュー、ふりかえりの各ミーティングが大きな区切りとなります。さらに、デイリー スクラム (スタンドアップ) ミーティングが小さな区切りとなります。これらのスクラム セレモニーは簡潔で、継続的に開催されます。
スクラムの役割
スクラムには、3 つの明確に定義された役割があります。
- プロダクト所有者は顧客の代弁者として、プロダクトバックログを管理し、開発チームの実行作業の優先順位付けを支援します。
- スクラムマスターはスクラムの原則に沿って作業するようにチームを支援します。
- 開発チームは実行する作業を選択してインクリメントを行い、共同の説明責任を実行に移します。
スクラムチームには管理者はいません。メンバーは自らを管理し、責任の違いにかかわらず同等の立場にあります。各メンバーは、顧客に価値を提供するという共通目標でつながっています。
一般的な指標
スクラム指標は、スクラム チームが効率と効果を向上させるために使用できるデータ ポイントです。指標によって意思決定を通知し、チームは計画と実行の効率を高めることができます。スプリント計画フェーズでは、チームはスプリントの目標、チームのベロシティ、チームのキャパシティ、作業タイプなどの指標を利用できます。スタンドアップ時には、チームはスプリントの目標に向けた進捗の測定、スプリント バーンダウンのレビュー、作業量の配分の把握などによりメリットも得られます。
変更に関する考え方
チームは、スプリント期間の境界内で達成できる作業量を把握するように努めます。スプリント内でのデリバリーにコミットします。ただし、スクラム チームは顧客からのフィードバックを受け取ることができるため、スプリントを方向転換して変更し、最大限の顧客価値を提供できるようになります。変更によって潜在的には提供可能なインクリメントがリスクにさらされるため、スクラム チームはスプリントの振り返りミーティング中に、今後変更を制限する方法について話し合います。スプリントの途中でチームが頻繁にスコープを変更すると、適切に把握していない作業が選択されている可能性があります。またチームは、計画を妨げる、運用上計画不可能な作業を行っているということにもなります。
スクラム手法の詳細については、「スクラムとは何か」を参照してください。
カンバン: 継続的改善、柔軟なプロセス
カンバンは作業の可視化、進行中の作業 (WIP) の上限設定、"進行中" から "完了" までスピーディーな移動に役立ちます。
カンバンは優先度と規模が多岐にわたるリクエストを多数受けるチームに最適です。スクラムではスコープ内の要素を厳格に管理する必要がありますが、カンバンは流れに任せることができます。決断を下す際は、次の 5 つの考慮点を参考にしましょう。
カンバンの期間
カンバンは継続的なワークフロー構造を基盤とするため、チームは優先順位の変更に機敏に順応する用意があります。作業項目 — カードで表現 — がカンバンボードに整理され、そこでワークフローのある段階 (列) から次の段階に移動します。一般的なワークフローの段階として、ありきたりですが To Do、進行中、レビュー中、ブロック済み、完了などが挙げられます。
カンバン方式が最も優れているのは、チームの作業方法に合わせて列をカスタマイズできる点です。筆者のチームはコンテンツを提供するため、列は次のように流れます (簡略版): バックログ、優先、大枠を準備済み、記述中、デザイン中、テクニカル レビュー、リリース済み。ボードは週に 1 単位前後のコンテンツをリリースしていることやボトルネックの場所 (テクニカル レビューで究明!) の確認に役立ちます。
リリース方法
カンバンには定期スケジュールや所定の期日はありません。準備ができ次第、更新がリリースされます。
理論的にはカンバン方式では固定的なタスクの達成期日は設定されません。タスクが予定より早く (あるいは遅く) 完了した場合、スプリントレビューのようなリリースのマイルストーンを待たずに、適宜、リリース可能です。
カンバンの役割
チームメンバー全員がカンバンボードの所有者です。アジャイルコーチに協力を求めるチームもありますが、スクラムと違い、順調な運営を総合的に管理する 1 人の "カンバンマスター" はいません。ボードで協力し、タスクを達成するのはチームの共同責任となります。
主要指標
リードタイムとサイクル期間はカンバンチームにとって重要な指標であり、タスクが開始から完了まで移動するのにかかる平均時間数を示します。サイクル期間の改善は、カンバンチームにとって成功を表します。
カンバンチームが利用するもう 1 つの分析ツールが累積フロー図 (CFD) です。各ステータスにおける作業量を把握するために使用され、処理能力を向上するために解決が必要なボトルネックを特定します。
WIP (進行中の作業) 制限を通じてボトルネックに対処することもできます。WIP 制限は、1 列に同時に配置可能なカードの枚数を制限します。WIP 制限に達すると、Jira などのツールはその列を制限し、チームは一丸となって項目を前進させます。
変更に関する考え方
カンバンのワークフローはいつでも変更可能です。新しい作業項目をバックログに追加し、優先順位に基づき既存のカードをブロックしたり、削除したりできます。チームの処理能力が変化した場合にも、WIP の上限を再測定し、それに応じて作業項目を調整できます。カンバン方式の強みはこうした柔軟性にあります。
カンバン方式の詳細については、カンバンとは何かを参照してください。
スクラムのツール vs カンバンのツール
アジャイル コミュニティでは、ツールを比較することは意味がないと考えられていますが、ツールの選択がフレームワークの選択を左右し、フレームワークの選択によってチームの採用方針が決定されるケースをよく目にします。本来この決定順序は逆であるべきです。
スクラムの原則に方向性を合わせ、スクラム フレームワークに満足したら、次は自分たちにとって有用なスクラム ツールを見つけます。これはカンバンでも同様です。ひいき目もありますが、アジャイル チームに最も選ばれているソフトウェア開発ツールとして、Jira をお勧めします。
Jira のスクラムおよびカンバン専用のプロジェクト タイプを使用すると、各フレームワークの原則を実現できます。また、Jira を使用したスクラムの方法および Jira を使用したカンバンの方法に関するガイドも、使用を開始するのに役立ちます。
カンバン vs スクラム: 選択できない場合
スクラムとカンバンは「定石に従ったアジャイル」です。有効性が実証済みの手法であり、反論する余地はほとんどありません。名言を借りれば、「スクラムを選んだからといって会社を首にはならない」事になります。
ただし、決断は絶対的なものである必要はありません。スクラムとカンバンの両方の影響を受けたハイブリッド モデルを使用するチームは多数あります。アトラシアンでは、Jira で同じようにチームを支援することを目的として、チーム管理対象プロジェクトを作成しました。
チーム管理対象プロジェクトを使用すると、その名前のとおり、チームのニーズに合うアジャイル機能を、スクラム、カンバン、またはこれらの組み合わせなどから自由に選択できます。チーム管理対象プロジェクトでは、最初から 1 つのフレームワークを導入しなくても、自分のチームに必要な機能 (および不要な機能) が判明した時点で、段階的に強力な機能を追加できます。
どちらのテンプレートもチームのニーズに合わせて進化できることを認識したうえで、安心してチーム管理対象スクラムまたはカンバンを選択できます。
どちらを選択するにしても、一定期間使用し続けるようにしてください。バックログのいくつかの作業を開始から完了まで実行して、その後にチームにうまくいった点といかなかった点を尋ねます。スクラムとカンバンを試してこのように質問することで、アジャイルのメリットをフル活用できます。