[アーカイブ] Disciplined Agile Delivery を TFS に実装してみた [Advent 12/20]

<オリジナル投稿 2012年12月20日 本ポストの情報はオリジナル投稿時点のものです。マイクロソフトの正式な見解や製品の仕様を保証するものではないことをご了承ください。>

このエントリーは、ALM Advent Calendar 2012 の 20日目です。また、ひとり気ままな Advent Calendar の 12/20 分でもあります。
今回は、IBM が提唱している Disciplined Agile Delivery (DAD) を TFS に実装してみます。といっても、元ネタがあり、それをもとに、日本語環境として実装してみたいと思います。
元ネタは、以下です:

DAD process template for TFS

DAD については、本家の情報をぜひご覧いただきたいのですが、簡潔にいうとアジャイルなアプローチのキモにあたる要素を取り入れたハイブリッドなプロセスのフレームワークといったところのようです。 Unified Process の特徴もあると感じています。独自のロールモデルもあり、なかなか興味深いですね。
さて、元ネタでは、TFS 標準のプロセステンプレートである MSF for Agile Development をベースにテーラリングをしています。

プロセステンプレート マネージャでアップロード

image
MSF for Agile Development 6.1 をダウンロードし、プロセスに手を加えて、それをアップロードしただけです。

チームプロジェクトの作成

「Disciplined Agile Delivery JPN」を選択し、チームプロジェクトを作成します。
image
チームプロジェクト名は、適当に入力しました。本来は、適切な名称をセットしてください。この名前はあとで変更できませんので、慎重に。
image
「Disciplined Agile Delivery」を選択します。
あとは、流れに従ってください。
image

Disciplined Agile Delivery for TFS

イテレーションは、DAD に沿って、「方向づけ」、「作成」、「移行」 としています。
image
また、「ユーザー ストーリー」に、「受け入れ基準」を新設しています。こちらは、HTML形式で、リッチテキストで表現できるようにしてあります。
image

これで DAD 実装と言えるか?

これはなんとも言い難いところです。私自身、十分に DAD をキャッチアップしきれていませんし。ただ、この元ネタでは、DAD とその位置づけを、ここで定めています。この範疇では DAD を実装できていると言えるようです。
また、単にプロセステンプレートをそれっぽくしたから、ということではなく、TFS が持つポリシーやバディビルド、継続的インテグレーション(ゲートチェックイン)の組み合わせで効果を発揮することとなるでしょう。また、.NET であれば、 Visual Studio の持つ、コード分析やスタイルチェック (StyleCop)、コードメトリックス、コードクローン検出、プロファイラや、単体テストからの負荷テストなどが生きてくるでしょう。これは、DAD に特化したことではないですが。
TFS のプロセステンプレートは、柔軟性もありますし、標準搭載の MSF for Agile, MSF for CMMI は、Microsoft Solutions Framework の名にふさわしく、汎用的に使える、テーラリングがしやすいフレームワークを形成してくれています。なので、今回の DAD のように、これらをベースにすることで、比較的容易に実装が行えるわけです。
また、Visual Studio Scrum のプロセステンプレートも検査と適応のフレームワークであるスクラムの実装ですので、フレームワークに独自の味付けを行うことができます。日本でよくあるケースは、予実はとりたいので、実績時間の項目をタスクとバグに追加するというのがありますね(それの良し悪しはここでは問わないこととします)。

まとめ

今回の実装で DAD を実装とは個人的にも言い難いかなと思います。DAD ではガイドを大切にしていると思いますので、そこはしっかりとしたガイドへのリンクやガイドのプロセステンプレートへの実装を行うべきでしょう。合わせて、ツールメンターも取り揃えておくべきでしょう。DAD なので。
DAD は、アーキテクチャ オーナーなど アジャイル モデリングの要素も取り入れたいしていますので、参考になる情報が多くあると思います。
それは、さておき、TFS のプロセステンプレートは、なかなか優れものだと再確認しました。開発ライフサイクル全般にわたる開発リソースについて同じ方式で、プロセスを組めること、その下地でもあり、実績も豊富な標準搭載のプロセステンプレートを活かせることは、導入/改善にとっても欠かせない判断材料となるのではないかと思います。
さて、明日の ALM Advent Calendar は、 @libaty さんですね。LT も早くよろしくお願いしますねw

ひとり気ままな Advent Calendar 一覧: