Eclipse Wayをひもとく(その2)
プロジェクト計画と管理という視点
前回は、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つで主マイルストーンを出すという運営をしています。
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- RTCを活用したアジャイル開発の実際
- Eclipse Wayをひもとく(その1)
- 分散開発とアジャイル開発は、水と油か?
- Rational Team Concertのある生活~チーム・リーダーの1日
- Rational Team Concertのある生活~チームの1日
- エンタープライズモバイルに必要なアプリの品質とは?―Think IT Mobile Developer Seminar 2016レポート
- “コラボラティブである”ために(2/2)
- エンタープライズ・アジャイルってなんだろう? 3つの視点と2つのフレームワーク
- 【事例】アジャイル開発を実践する老舗IT企業がCI/CDの効率化で生産性向上とコスト削減を実現
- Rational Team Concertのある生活~チーム・メンバーの1日