|
|
|
今回は、テストと進捗管理(その2)である。Alistair Cockburn は、ソフト
ウェア開発の「一個流し」(*1) と進捗管理について、おもしろい例を出してい
る。次の問題を考えてみて欲しい。
30個の部屋がある豪邸を考える。この豪邸から、1ヵ月後に引越しをすることに決めた。全部屋を掃除し、捨てるものと運ぶものに分類し、ダンボール箱に詰めなければならない。どのように進捗を管理したら、1ヶ月というデッドラインを守れるか。
|
■ウォーターフォール的計画:
- 最初の1週間で全部屋の掃除を行なう
- 次の1週間で全部屋の捨てるものと運ぶものを分類し、ステッカーを家具や備品に貼る
- 次の1週間で全部屋のダンボール箱詰めを行なう
- 次の1週間で全部屋のチェックを行なう
- 4週間あるので、4週間後には全部屋のチェックまで終わる
■一個流し的計画(すなわち、アジャイルな計画):
- 日割りで、1日に1つの部屋を、掃除、分類、箱詰め、チェックまで終える
- 30日あるので、30日後には全30部屋の箱詰めが終わる
さて、上記2つの方法で進捗を管理した場合、どちらが確実に遅れを察知でき、
対策を取りやすいだろうか。
ウォーターフォール的計画での見積もりは根拠が難しい。また、分類は実はす
ぐに終わるが、箱詰めに思ったより時間が掛かることが分かった場合、その知
識を活かすことができない。分かったときには時既に遅しだ。
これに対して、「一個流し」は進捗をリニアに管理できる。そして、この一個
流し戦略をビジュアルにマネジメントするツールが「バーンダウンチャート」
だ。30個が一個ずつ減っていく計画をたて、それを日々追っていく。以下の写
真は、バーンダウンチャートの例。1イテレーションの中で完成させるべきソフ
トウェアの要求を縦軸にとっている。青が予定線、赤が実績線だ。
前回の繰り返しになるが、「テストで進捗を測る」。テストの終了に到達して
いないものは「在庫」と考える。在庫状態にある成果物を減らし、バリュース
トリーム(価値の流れ)の速度を上げるのだ。
|
|
|
(*1)「一個流し」は、トヨタ生産方式用語。ソフトウェアに対応づけると、
ウォーターフォール式にすべての要求を一度にまとめて分析・設計・実装・テ
ストと工程を進めるのではなく、要求を小さな単位で1つずつ、分析からテスト
まで流すこと。
|
|
つづき
|
この記事への評価にご協力をお願いします。
|
|