短い反復(スプリント)で開発を進めるアジャイル開発の代表的な手法。
スクラムとは、「スプリント」と呼ぶ短い期間(多くは1〜4週間)を1単位として、開発を何度もくり返しながら進めるアジャイル開発の代表的な手法です。アジャイル開発=計画・実装・確認を小刻みにくり返す進め方のことです。
身近な例で考えると、2週間ごとに発行する学級新聞に似ています。一度に完璧な大作を狙うのではなく、決まった期間で「今出せるもの」を必ず形にし、毎号ふり返って次号を良くしていきます。少しずつ確実に積み上げるのがスクラムの考え方です。
上のツールで▶ボタンを押すと、計画から開発・確認・振り返りまで、1回のスプリントがどう流れていくかを順番に確認できます。
スクラムでは、1スプリントの中で決まった会議(イベント)を行います。それぞれに役割があり、順番に進めることでチームのリズムが整います。
主なイベントは次の4つです。
・スプリントプランニング:スプリントの初日に、今回やる項目を選んで計画を立てる
・デイリースクラム:毎日15分ほど、進捗と困りごとを共有する短い会議
・スプリントレビュー:終わりに「動くソフトウェア」を見せてフィードバックをもらう
・レトロスペクティブ:チームの進め方を振り返り、次の改善を決める
ここで大切なのは、レビューは「成果物」を、レトロスペクティブは「進め方そのもの」を見直すという違いです。料理にたとえると、レビューは「できた料理の味見」、レトロスペクティブは「調理のやり方の見直し」にあたります。上のツールでそれぞれのイベントが点灯する順番を確認しましょう。
スクラムには3つの役割があり、それぞれが責任を分担します。役割が混ざらないようにするのがチームをうまく回すコツです。
・プロダクトオーナー(PO):何を作るかを決め、プロダクトバックログ(やることリスト)の優先順位を管理する責任者
・スクラムマスター(SM):チームがスムーズに進むよう支援し、進行を妨げる障害を取り除く世話役
・開発チーム(Dev):実際にソフトウェアを設計・実装し、動くものを作り上げる人たち
劇に例えると、POは脚本家(何を演じるかを決める)、SMは舞台監督(裏方を整え進行を助ける)、Devは役者(実際に演じる)のような関係です。それぞれの責任がはっきりしているので、迷わず役割に集中できます。
バックログとは「やること(タスク)のリスト」のことです。スクラムでは2種類のバックログを使い分けます。
・プロダクトバックログ:製品全体でやりたいことを優先順位をつけて並べた大元のリスト。プロダクトオーナー(PO)が管理する
・スプリントバックログ:今回のスプリントで実際にやると決めた項目を取り出した今回分だけのリスト。開発チームが管理する
なぜこの2つを分けるのか。大元のリストをそのままスプリントに持ち込むと「何をどこまでやるか」が不明瞭になり、チームが迷います。スプリントプランニングで「今回はこれだけ」と切り出すことで、チームが1つの目標に集中できるようになります。買い物リスト(プロダクトバックログ)から「今日の夕食分だけ」を書き出したメモ(スプリントバックログ)を持ってスーパーに行く、というイメージです。
スクラムには「透明性・検査・適応」という3本の柱があります。イベントやバックログはすべて、この3つを実現するための手段です。
・透明性(Transparency):チーム全員が「今何をどこまでやっているか」を同じ見方で把握できる状態にする。バックログやデイリースクラムがこれを担う
・検査(Inspection):スプリントレビューやデイリースクラムでこまめに確認し、目標からのズレを早めに見つける
・適応(Adaptation):ズレを見つけたらすぐに直す。レトロスペクティブで進め方そのものも改善する
なぜこの3つが重要か。ソフトウェア開発では、見えない問題が後から大きな損失になることが多いです。「今どこにいるか」を全員が見えるようにし(透明性)、こまめに確認し(検査)、気づいたらすぐ直す(適応)というサイクルが、積み重なったときに大きなズレになる前に食い止める仕組みです。料理に例えると、全員がレシピと調理状況を見ながら、味を確かめながら、調味料を足しながら進める共同作業に似ています。