DADとラショナル統一プロセス(RUP)の比較(パート2)

この投稿は、DADとラショナル統一プロセス(RUP)の比較(パート1)の続編である。パート1では、ディシプリンド・アジャイル・デリバリー(DAD)が “アジャイル版RUP” ではない理由を何点か記述した。DADはその取り組み方においても内容においても、全く異なるものである。しかし、アジャイル手法の主流ではないが、統一プロセス(UP)には含まれているもので、大変すぐれた原則もまた存在する。本投稿では、UPの中で、DADのプロセス・デシジョン・フレームワークに組み込まれたものをいくつか紹介する。

DADはRUPと同様、すべてのデリバリー・ライフサイクルを網羅している。アジャイルの文脈では否定されているが、DADでは実際のプロジェクトはいくつかのフェーズを経るものと考えている。RUPは、方向付け・推敲・構築・移行という、明確な4つのフェーズを持っている。以前の投稿で記述したいくつかの理由により、DADは明示的な推敲フェーズを持っていない。しかし、推敲のマイルストーンは依然DADの中に存在する。以下のDAD基本ライフサイクルの図にあるように、DADには、RUPの4つのフェーズのうち3つがある。

3 - DAD Lifecycle agile scrum

・方向付けフェーズ
プロジェクト初期の活動を方向付けフェーズという形で明示しているのは、DADの重要な特徴である。Scott Ambler(訳注:DAD本著者の一人)が自身の投稿の中で以下のように述べている。
”アジャイル・コミュニティの中では「フェーズ」という言葉はNGワードとして扱われがちであるが、現実問題として、ほとんどのチームではプロジェクトの初期段階で事前作業として行うべきことがある。この作業は、スプリントゼロ/イテレーションゼロという間違った認識をされることもあるが、一般的に想定されている以上に、通常この作業には時間がかかっていることは、容易に見て取ることができる(2009年アジャイルプロジェクト開始時に関する調査では、平均的なアジャイルチームは方向付けに3.9週間かけている)。”
そのため、DADの方向付けフェーズ(通常1回の反復)では、非常に軽量なビジョン作成の活動を行い、プロジェクトの枠組み作りが適切に行えるようにした。このフェーズのマイルストーンは、プロジェクトの進め方について「利害関係者の合意」を得ることである。DAD本では、方向付けフェーズをできるだけ素早く進めるためのさまざまな戦略、なすべきこと、利害関係者の合意をいかに得るかを記述した。

・構築フェーズ
このフェーズは、ソリューションのインクリメント(増分)を構築するイテレーション(スクラム用語ではスプリント)の集まりとして考えることができる。各イテレーションの中でチームは、スクラム、XP、アジャイル・モデリング、アジャイル・データ等のプラクティスをハイブリッドで適用し、ソリューションをデリバリーする。DADは、初期のイテレーションにおいて作業を優先付ける際に、リスク−価値駆動のアプローチを推奨する。これは、動作するソリューションとともにアーキテクチャーを提供することで、プロジェクトのリスクをできるだけ早期に軽減しようとするRUPの原則から来ている。そのため我々は、ビジネス価値の高い部分をデリバリーすることと、アーキテクチャーリスクを軽減するための作業とのバランスを取るようにした。初期のイテレーションでは、高いビジネス価値とリスク軽減の両方に関わるストーリー/機能をデリバリーすることが理想である(故に、DADは「リスク−価値駆動」である)。初期イテレーションの完了時に、本当に技術的リスクに対処できているかどうかを評価するためのチェックポイントを置くことには、意義がある。DADはこれを「実証されたアーキテクチャー」として明確なマイルストーンとしている。これはRUPの推敲フェーズのマイルストーンと類似しているが、RUPの実装においてしばしば混乱の原因になった推敲フェーズのリスクを冒さずにすむ。アジャイルの手法はすべて、利害関係者にできるだけ素早く価値を届けることをめざしている。ほとんどではないにしても多くの大企業では、イテレーション完了のたびにソリューションの新規追加分をデリバリーすることは、現状困難である。それゆえDADは、この現実を認識し、ほとんどの場合、ソリューションが実際に顧客にデリバリーされる前に、構築フェーズのイテレーションが複数回存在するだろうと結論付けた。DAD本の中で明確にしたように、これがDADの基本パターンではあるものの、「継続的デリバリー」の目標達成の精神をもって、今まで以上に頻繁にソリューションをリリースするように努めるべきだ。構築フェーズ完了のマイルストーンは、利害関係者へデプロイするのに「十分な機能」があることである。これはRUPの構築フェーズのマイルストーンと同じである。構築フェーズの間、方向付けフェーズで合意されたビジョンに沿ってプロジェクトが進捗しているかどうかを定期的に振り返り、時には方向性を修正するのは、意味のあることだ。これはDADの補足的なマイルストーンで、「プロジェクトの実現可能性検討」と呼ばれる。

・移行フェーズ
高度なエンタープライズ・アジャイルプロジェクトでは、利害関係者に頻繁にソリューションをデプロイすることはそう簡単なことではないと、DADは認識している。この現実を考慮して、DADはRUPの移行フェーズを組み込んでおり、通常1回の短いイテレーションを想定している。DADチームとしても、企業全体の流れとしても、このデプロイプロセスはより短縮され、継続的デプロイとなって徐々に消滅していくことが理想である。RUPの移行フェーズのマイルストーンは、顧客が満足し、自足することで達成される。DADではこれを「利害関係者の満足」に変更した。これはリーンでいう顧客満足に似ているが、エンタープライズにおいては、例えば製品サポートのような、顧客以上に幅広い利害関係者の満足が重要だと我々は考えている。RUPの移行フェーズの特徴のひとつは、このフェーズのどこでデプロイが行われるかが明確でないことである。明らかに利害関係者の満足が得られていない場合は、ソリューション開発は継続して行われている。通常このフェーズは、利害関係者のニーズを完全に満たすための安定化、調整、トレーニングなどの期間である。そのためDADには、移行フェーズの途中に「運用準備」と呼ばれるマイルストーンがある。時にはこれは「go/no go(進むか止まるか)」を判断するための正式なものになる。

まとめると、DADはエンド・ツー・エンドのリスク−価値駆動ライフサイクルの考え方の元、プロジェクトが適切に進捗しているかどうかを確認するためのマイルストーンによって、アジャイルプロジェクトに道筋をつける。これらのチェックポイントは、道順を変更し、適応し、プロジェクトを次フェーズに進めるための機会を提供する。このライフサイクルはRUPに似てはいるものの、パート1で述べたように、イテレーション内で行われる実際の作業は全く異なり、典型的なRUPのプロジェクトよりはるかにアジャイル的であることを理解することが重要である。

Scott Ambler + Associatesでは、RUPから、よりアジャイルな、しかしディシプリンドなDADの提供する手法へ移行するための助けをもとめる企業から、多くの問合せがある。

オリジナル:Comparing DAD to the Rational Unified Process (RUP) – Part 2

Comparing DAD to the Rational Unified Process (RUP) – Part 2


 (翻訳 中佐藤麻記子)

 

Pocket