🍣

アジャイルとウォーターフォールを童話で説明してみる

2024/09/08に公開

アジャイルとウォーターフォールを、グリム童話の3びきのこぶたおよびイソップ童話のアリとキリギリスになぞらえて解釈してみます。

3びきのこぶたと「アジャイル」

3匹のこぶたは、下記のようなストーリーです。(諸説あり)

  • 母親のぶたは貧しいため、3匹のこぶたを外の世界へ送り出します。
  • 1匹目のこぶたはわらで家を建てますが、オオカミに吹き飛ばされてしまいます。
  • 2匹目のこぶたは木の枝で家を建てますが、オオカミに吹き飛ばされてしまいます。
  • 3匹目のこぶたはレンガで家を建て、1匹目のこぶたと2匹目のこぶたはここに逃げ込みます。オオカミは吹き飛ばせないことから煙突を通じて侵入しますが、大けがをしてしまいます。

ここで、この3匹のこぶた達はスクラムチームであるとします。

第1スプリント

ここで、当初の要件としては、

  • 家に住む必要がある

という単一の要件に限られます。単一のスプリントでこの要件を実現するために、1匹めのこぶたが「ゼロベースで」「まずはわらで」リリースを行ったと考えることができます。
これはアジャイルの「短いサイクルで動くものを」という観念によく合致します。

しかしながら、オオカミという外的要因が現れ、わらの家は吹き飛ばされてしまいます。

第2スプリント

続いて2匹目のこぶたは、第2スプリントを主導します。ここで、「家を建てる」という要件が再度出戻りになったことに加え、第1スプリントから「わらではオオカミという外的要因に耐えることができない」という重要なフィードバックを得ています。
しかしながら、「どこまで耐久性があればオオカミに吹き飛ばされないか」という要件を定義することができません。これはアジャイルにおける「不確実性」とよく合致します。

そこで、わらより耐久性が高く、また短いサイクルでもリリースが可能そうな「木の枝」に注目します。
わらでだめなら木の枝で建ててはどうかということです。

しかしながら、やはりオオカミは吹き飛ばしてしまいます。

第3スプリント

3匹目のこぶたはさらに「木の枝程度でもオオカミは吹き飛ばしてしまう」というフィードバックを得ることになります。[1]
そこで、比較的コストも高いものの堅牢であるレンガを採用します。これはもしかしたら、第3スプリントでは段階的に「とりあえず玄関とリビングだけある」、第4スプリントでは「風呂とトイレを設置する」といった手法を取ったかもしれません。

これにより、オオカミは吹き飛ばすことが困難になります。

アジャイル的な3匹のこぶた

このように考えると、3匹のこぶたはそれぞれ主体的に行動して家を建設して、それぞれのスプリントにおいてフィードバックを行い、最終的にオオカミに耐えうる家を建てられたことになります。
設計当初からこの外的要因を要件にいれることは難しく、実際のリリースとスクラップビルドを通して最終的な成果物(レンガの家)が完成したことになります。

また、オオカミは(本人は意図せず)ステークホルダーの役割を果たすことになります。

このようにして考察すると、3びきのこぶたはチームワークによるフィードバックと改善活動のライフサイクルに沿って行動しており、短いスプリントで「動くものを試しながら」リリースしています。非常にアジャイル的なストーリーだと考察できます。

アリとキリギリスと「ウォーターフォール」と「アジャイル」

アリとキリギリスは下記のようなストーリーです。

  • アリは夏場、冬場に食料を蓄えるべく奔走します。これをみたキリギリスはアリを嘲笑し、その間をその場その場で生活します。
  • 冬になり食料を失ったキリギリスは、アリのもとを訪ね食料を分けるよう懇願します。

短期的視点の「キリギリス」

ここでキリギリスは、短期的なライフサイクルで生活する、ある意味でアジャイル的な生活を行っているといえます。短いスプリントで、たとえば歌を歌ったり詩歌に耽っていたことは生産的活動であったと再解釈できます。
短期的視野でその場その場のスプリントを実行することに固執するあまり、長期的視野が失われ冬に困窮することとなります。

長期的視点の「アリ」

一方でアリは、越冬というプロジェクトを完遂するべく夏場に奔走します。次の春までの冬の期間に必要な食料配分、総コストの算出、さらにはそのための日次ノルマの策定やWBS上での管理といった業務が日々行われていたに違いありません。
これは非常にウォーターフォール的で、あらかじめ確定した要件に基づいて人員配置を行い食料の貯蓄を行っているといえます。

プロジェクト管理手法から見るアリとキリギリス

ここで理解できるのは、アジャイル的思考が必ずしも正しいとはいえないということです。このように長期に渡る計画が必要である場合、プロジェクト管理手法としてウォーターフォールが適切な場合も当然あります。
キリギリスは短期的なスプリントの解決に勤しむあまりに、長期的視野が失われ、最終的に必要な食料が残っていないというコスト問題に直面することになります。

一方でアリも必ずしもこの手法が正しいかといえば、このような管理手法を用いている場合外的要因に耐えられない可能性があります。3匹のこぶたがオオカミという予測困難な外的要因に直面したように、
その年の水災害や地震、それに伴う不作といった環境要因に左右され、このような場合のリスクヘッジを行う必要があります。例えば第三者から食料を購入するといったことも考えられます。これは当初の計画にないもので、アリは協議を重ねて計画を見直す必要が出てきます。この点においては、キリギリスのほうが柔軟に行動できた可能性が高いです。

実際のプロジェクトが実装や単体テスト・結合テストのフェーズで仕様変更が発生するように、アリは環境の予期せぬ変動によって食料の見積を修正する必要があり、これは計画配分に大きく影響することになります。

実際のコスト配分においては、アリとキリギリスの中間を取るようなハイブリッド的な開発が行われることも多いです。全体の計画は要件定義やその前段階の見積で行いウォーターフォール的にスケジューリングしますが、設計・実装フェーズでは顧客とアジャイル的なやり取りを経て柔軟に行動するケースがあります。これは非常に合理的で、この手法を用いるとアリはその年の食料の収穫や環境に応じて行動を変化させることができます。必ずしもキリギリスのようにその日その日のライフサイクルとまではいいませんが、中長期的に必要な修正を夏から秋にかけて行うことができます。

おわりに

最近アジャイルを学習する機会があったため、2つの童話を「アジャイルとウォーターフォール」という観点から再解釈しました。よく知られた童話をこの観点から考察することで、この2つの概念をわかりやすく解釈できたのではないでしょうか。

脚注
  1. なお、実際の3びきのこぶたのストーリーにおいて、この3つの実装が時系列順であるかどうかは定かでありません ↩︎

Discussion