開発プロセスとUMLの拡張性 [前編]UML BASIC LECTURE(2/2 ページ)

» 2005年03月19日 12時00分 公開
[羽生田栄一(豆蔵 取締役会長), 岡村敦彦(豆蔵),@IT]
前のページへ 1|2       

EVO(EVOlutionary Development)

 EVOはTom Gilbによって提唱されている開発手法で、その誕生はアジャイルプロセスに先立ちます。起源は何と1960年代にまでさかのぼり、考え方が文献として発表されたのも1970年代です(注3)。ソフトウェア開発のライフサイクルのテーマにおいて進化型といわれる考え方は、実はこのEVOによるところのものです。


▼注3:
Tom Gilbは、日本では「ソフトウェア・インスペクション」(構造計画研究所)の著者として有名。もう1つの代表的な著作に「ソフトウェアメトリクス」(Winthrop Publishers)がある。


EVOの特徴

 ではEVOの特徴をみてみましょう。

  • 頻繁なリリース
  • 利害関係者が実際に使えるリリース
  • 利害関係者が、次のリリースを判断できるフィードバック
  • 既存システムはシステム構築の初期ベースとして使用する
  • 小さいリリース(全体から見た経済的なコストと時間の 2〜5%内)
  • 最高価値をもたらし、かつコストに恩恵をもたらす優先順位でリリース
  • 結果指向(「結果の納品」が主要な関心事)

 いかがでしょう。これらの特徴はほとんどアジャイルプロセスから見ても違和感がないどころか、まるでアジャイルアライアンスのメンバーのプロセスと思えてしまうような内容とはいえないでしょうか。

 例えば、この中の「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などの興味深いツールがありますが、その解説はまた別の機会にしたいと思います。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ