ベストなプロセスの作成
EssUPは、プロダクトラインやアスペクト指向開発などのプラクティスを含むAdvanced Practices、アーキテクチャ、反復、ユースケース、コンポーネント、プロダクトの5つの技術的なプラクティスと、チーム、プロセス、モデリング(勉強会の資料にはなかったが、IJCのホームページの資料には3つに加えて「UPライフサイクル」もあった)の横断的なプラクティスを含むEssential Practice、それらのプラクティスを組合わせるための核となるKernelが置かれるSoftware Development Foundationの3つの階層をもっている。
Kernelについてもう少し詳しく解説すると、Karnelは空のSlotであり、そのSlotにプラクティスを差し込んでいくことで、プロジェクト独自のプロセスを作ってゆくものである。
これにより、EssUPはUPで開発したいのであれば「ユースケース、アーキテクチャ、コンポーネント、反復」といったプラクティスをKarnelに差し込み、アジャイルで開発をしたいのであれば「ユーザストリー、アーキテクチャ、反復」のプラクティスをKarnelに差し込むといった具合に、プロジェクト毎にベストなプロセスを容易に作成できるようになっている。
カードとEssWork
プラクティクスの要点が記述されたカードを手に説明するNg氏 |
EssUPではプロセスを理解するために分厚いドキュメントは使わず、プラクティクスの要点が記述された5×3インチのカードを使う。勉強会では参加者にカードが回され、実際に触ってみたが、厚さはトランプよりも花札に近く、ゲームのモノポリにでもついていそうな感じものだ。
さらに、EssUPではプロセスの作成をサポートするツールとして、Eclipseなどの上で動作する「EssWork」をパートナーや顧客に無料で提供している。
EssWorkを利用して、プラクティスを選択すると、実施すべきことなどが、自動で生成される。Ng氏が行ったデモでは、MS Wordと連携させることでプロセスのドキュメントのテンプレートを生成し、テンプレートとなるドキュメントの修正がEclipse上のEssWorkにも自動的に反映すことを見せて、参加者の驚きを誘った。
EssWorkがどのようなものかは、私のつたない文書より「こちらの動画」を参照して、実際に動くところを見て頂いた方が良いだろう(ただし、残念ながら勉強会でのデモのようにEssWorkとMS Wordとの連携をみることはできない)。
勉強会を終えて
日本でのEssUPの認知度はまだまだ低い。日本語の情報も極端に少ない。
幸いなことに、今回の勉強会で講師を務めたNg氏は、現在月に1週間ほど日本に滞在している。今回の勉強会を主催したFow!では、今後ともNg氏を招いてEssUPや様々なプロセスの情報を発信したいと思っている。また、日本国内企業へのEssUPの普及に関しても、今後検討してゆく予定である。
なお、勉強会でNg氏が解説してくれたEssUPの概要は「こちらのサイト」でも詳しく紹介されているので(残念なことに英語だが)、興味のある人は参考にして欲しい。
著者プロフィール
長谷川裕一
Starlight&Storm代表。株式会社フルネス取締役。オブジェクト指向に関する、技術やプロセスのコンサルティングに従事。共著として「プログラムの育てかた(ソフトバンク)」、「Spring入門(技術評論社)」、「Spring2.0入門(技術評論社)」。