Eclipse Wayをひもとく(その2)

2009年4月20日(月)
藤井 智弘

プロジェクト計画と管理という視点

 前回は、Eclipse Wayのチームや組織編成に対する考え方を取り上げました。※Eclipse Wayの全体像は、前回の記事で紹介しています。

 アジャイル開発の世界でプロジェクトの計画や管理というと挙げられるのが、“スクラム(SCRUM)”です。しかし、スクラムを勉強している方と話をしていると1つの共通する不安に出会います。それは“全体感の把握”です。彼らからは次のような質問を多くいただきます。

・欲しい機能の総体はいつ決めるのか?
・変更をどんどん取り入れたら、そもそも欲しかった機能がリリースに組み入れられるかどうかわからない

 アジャイル開発の説明(特に入門編)は、「1回の反復の中でどうするか」という話が中心になっています。しかし、ほとんどのソフトウエア開発ビジネスでは、ある所定の期間と予算の中で、同意した機能群を開発する必要があります。

 “初期の同意した機能群”と“反復で開発している機能群”、そして“途中で追加・変更される機能群”とのバランスをどのように計画し、ウオッチしていくのか?という点が消化不良の方が多いようです。

 この疑問は、プロジェクトの計画の立て方と、要求管理の方法でかなり解決できるように思います。前回に続けて、この2つの視点で考えてみましょう。

 図1は、Eclipse Wayが想定しているプロジェクトでの、時間のとらえ方です。1つのリリースを市場に投入する期間を次の3期(ウォームアップ、マイルストーン、エンドゲーム)に分けて計画・運営していきます。

プロジェクト計画と管理という視点~ウォームアップ/マイルストーン

1)ウォームアップ
 新しいリリースを作成する期間の中で一番最初に位置します。この時期は、前のリリースの興奮を冷まし(デコンプレッション:“圧抜き”とでも訳しましょうか)、達成できたこと・できなかったことを振り返ります(レトロスペクティブ)。しかし、一番大事な仕事は、これから取りかかるリリースで何を開発し提供するのか、その“初期リリースプラン”を作ることです。リリースプランでは、リリース時に組み入れられる機能のリストを作成します。

2)マイルストーン
 図中は、M1a,M1……と記述されているブロックです。Mはマイルストーン(Milestone)の頭文字です。Jazzプロジェクトでは、6週間を1サイクルとし1つのマイルストーン・リリース(中間リリース)を行います。

 開発の期間は次の3つの時期に分かれます。

・最初の1週間は、“計画”です。この反復で何を達成するのか(どの機能を実装するのか)を決定する反復計画を作成します。
・次の4週間は、“開発”です。反復計画で宣言された機能の実装を行います。
・最後の1週間は、“安定化”です。この時期は、開発した機能の安定化と磨き上げに注力します。よほどのことがない限り機能の追加は行いません。

 開発チームは、このマイルストーン終了時には必ず稼働するシステムをリリースし、これを使って関係者とコミュニケートします(これをプラクティス「ライブベータ」と言います)。この6週間のマイルストーンの計画と運営でチームに安定した“リズム”をもたらして、チームの集中力を維持し高い成果を実現するのです(これをプラクティス「マイルストーン・ファースト」と言います)。

次は3期目、エンドゲームです。

-----
※ThinkIT編注(2009.06.05):Jazz開発チームの過去数年に渡る開発期間中には、1スプリント4~6週と幅がありますが、現在は、4週間のスプリント2つで主マイルストーンを出すという運営をしています。

日本ヒューレット・パッカード株式会社

日本アイ・ビー・エム株式会社を経て、現職は日本ヒューレット・パッカード株式会社でHPソフトウェア事業統括 テクニカル・コンサルタントを務める。
いまだ誤解の多い”ちょっと新し目の技術”を、きちんと咀嚼しお伝えして何ぼのこの世界、「アジャイルは品質が…」という若干の誤解に基づく不安にも、きちんと丁寧に答えをだしていこうと思う毎日。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています