スクラムは子ども電車に例えると理解しやすい──安全運行は誰の責任か
アジャイルのトレンドに関する調査(15th State of Agile Report)によると、アジャイルを導入した企業がアジャイルの効果として挙げているのが、上位から順に「優先順位の変更」「見える化」「ビジネスとITの整合」だ。開発というよりは、ビジネス視点でのメリットが目立つ。
Graat(グロース・アーキテクチャ&チームス株式会社)の鈴木氏は「あなたの組織でアジャイルは効果を発揮していますか」と問いかける。その場合の確認ポイントとしては、「適切に優先度は変更されているか?」「顧客に提供すべき価値と作られた機能は整合しているか?」「よい成果物を作ることができているか?」だと鈴木氏は言う。

もし効果を発揮していないのなら、それはなぜか。特にウォーターフォールで開発してきた組織ではルールや文化が移行しきれず効果を出し切れていないところもある。
まずはアジャイルで使われる、スクラムの仕組みの理解を深めていこう。鈴木氏によると電車で理解すると分かりやすい。電車は、遊園地やイベント会場で子どもが乗る電車だ。駅は1つ。子どもを乗せて1周して戻ってきたら、駅に並んで待っている子どもを載せ替えて、再び1周するのを繰り返す。ただし子ども電車と異なるのは、次の発車までの間に待ち行列にいる子どもたちの順番を入れ替えてもいいルールだ。

電車をスクラムに対応させると、電車の1周がスプリントであり、一定の開発期間にあたる。電車に定員があるように、スプリント中の作業量には上限がある。子どもたちはバックログアイテム、案件そのものだ。この電車の運行を支える存在もいる。子どもを優先順で並べる駅長(順番を入れ替えてもいい)はプロダクトオーナー、運転士は開発者、運行管理者はスクラムマスターとなる。このスクラムマスターは、例えば線路に落下物など問題が起きたらすぐに介入して障害を取り除くとか、ホームで泣いている子どもがいたら駅長をサポートするなどを行う。
スクラムのメリットで重要なのは、走っている電車はホーム(に並んでいる子ども)を気にしなくていいところだ。今やるべきことと、これからやりたいことが分離しているとも言える。そのため開発者は開発に集中できて、ビジネス側は次の電車が来るまでは優先順位を好きに変えてよい。

例えば、バックログで案件A、B、C、Dがあったとする。最初のスプリントでは案件AとBを乗せた。バックログには案件CとDが残っていたが、緊急度の高い案件Fが最優先となり、案件Cは不要となった。そうして次のスプリントでは案件FとDが乗るという具合だ。開発者たちは現在乗っている案件に集中すればよくて、次の案件は気にしなくていい。
ところがウォーターフォールだと、こうならない。最初に全部の機能を決めて最適なルートを決めるので、スクラムのように案件の優先順位を変更するとなると大騒ぎとなる。その点、スクラムは柔軟だ。
スクラムという電車を安全に運行させるには、ルールを守り子どもたちを電車に乗せること。乗りたい電車の出発時刻までに間に合うよう、駅に到着する。これはリリースしたいスプリントまでに要件を提示することを意味する。また、開発可能な状態まで、要件が明確になっている。そして電車では、飛び乗りや飛び降りは禁止だ。

電車を安全に運行させるのは誰の責任か。子どもに責任はない。責任があるのは親や周囲の大人たちとなる。子どもを無理矢理電車に乗せようとしたり、乗る準備ができていない(要件が決まっていない)のに乗せたりすると安全ではなくなる。