EVOはTom Gilbによって提唱されている開発手法で、その誕生はアジャイルプロセスに先立ちます。起源は何と1960年代にまでさかのぼり、考え方が文献として発表されたのも1970年代です(注3)。ソフトウェア開発のライフサイクルのテーマにおいて進化型といわれる考え方は、実はこのEVOによるところのものです。
ではEVOの特徴をみてみましょう。
いかがでしょう。これらの特徴はほとんどアジャイルプロセスから見ても違和感がないどころか、まるでアジャイルアライアンスのメンバーのプロセスと思えてしまうような内容とはいえないでしょうか。
例えば、この中の「2〜5%内のリリース」。
反復型の開発プロセスを採用してその反復計画を立てる場合、どのようにプランニングしてどこまでの機能を1回の反復に含めるか、という判断は非常に悩ましい点です。EVOはそのときの指針としてこの「2〜5%リリース」を挙げています。例えばある開発において実装すべき機能が約300あったとすると、1回のサイクルでは全体から見たときの2〜5%内のリリースの内容、つまり6〜15の機能を実現する、という考え方です。
アジャイル的な考え方からいえば、最初に全体のコストなんか分かるわけがない、ということになるのだと思いますが、それでも大体の予測は立てているはずなので、ある意味では大変分かりやすい指針といえます。
このEVOは、現在ではEvolutionary Project Managementと名称も変わり、ソフトウェアだけでなくさまざまなプロジェクトに適用可能なプロジェクト管理手法として発展し続けています。
EVOはTom Gilbと彼の息子のKai Gilbによって現在も提供されていますが、このGilb親子とは別に、Niels Maltotaux(Nielsの奥さんは日本人です)というオランダのコンサルタントも、またEVOを推進しているevangelistの1人です。ただ、このNielsのEVOとGilbのそれとは、見てみるといくつか異なった点も見受けられます。一番大きい相違点が反復の期間でしょう。Kai Gilbはそのサイクルを1週間と規定し、1週間の中でのプロセスも、1日目は要求を確認し週の最後にはレビューを行うといったことがしっかりと決められていることからも分かるように、彼は1週間という期間を重要視しているようです。それに対し、NielのEVOサイクルは2週間です。彼はEVOのコンサルティングを提供していく中で、2週間という期間が彼にとって最も適切な期間であることを発見したといっています。
その相違点をNielに確認したところ、彼の返答はこうでした。「Tomに聞いてみるといい。きっと彼ならこういうだろう。うまくいっているのなら、それでいい、と」。
なるほど、これもまたまさにアジャイル的なスタンスといってよいと思います。こうした反復型やアジャイルプロセスに対する貢献と比較して、知名度的にはいまひとつのEVOをあらためて取り上げたラーマンの着眼点は、うれしいものです。
ほかのEVOの特徴には要求仕様の記述形式であるPlanguageや見積もりにかかわるImpact Estimation tableなどの興味深いツールがありますが、その解説はまた別の機会にしたいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.