Skip to content.

Sections
Personal tools
You are here: Home » 技術文書 » オブジェクト指向 » オブジェクト指向の再定義 » オブジェクト指向の再定義[5]

Document Actions
オブジェクト指向の再定義[5] - テストと進捗
今回は、テストと進捗管理(その2)である。Alistair Cockburn は、ソフト ウェア開発の「一個流し」(*1) と進捗管理について、おもしろい例を出してい る。次の問題を考えてみて欲しい。

30個の部屋がある豪邸を考える。この豪邸から、1ヵ月後に引越しをすることに決めた。全部屋を掃除し、捨てるものと運ぶものに分類し、ダンボール箱に詰めなければならない。どのように進捗を管理したら、1ヶ月というデッドラインを守れるか。


■ウォーターフォール的計画:
  1. 最初の1週間で全部屋の掃除を行なう
  2. 次の1週間で全部屋の捨てるものと運ぶものを分類し、ステッカーを家具や備品に貼る
  3. 次の1週間で全部屋のダンボール箱詰めを行なう
  4. 次の1週間で全部屋のチェックを行なう
  5. 4週間あるので、4週間後には全部屋のチェックまで終わる


■一個流し的計画(すなわち、アジャイルな計画):
  1. 日割りで、1日に1つの部屋を、掃除、分類、箱詰め、チェックまで終える
  2. 30日あるので、30日後には全30部屋の箱詰めが終わる


さて、上記2つの方法で進捗を管理した場合、どちらが確実に遅れを察知でき、 対策を取りやすいだろうか。

ウォーターフォール的計画での見積もりは根拠が難しい。また、分類は実はす ぐに終わるが、箱詰めに思ったより時間が掛かることが分かった場合、その知 識を活かすことができない。分かったときには時既に遅しだ。


これに対して、「一個流し」は進捗をリニアに管理できる。そして、この一個 流し戦略をビジュアルにマネジメントするツールが「バーンダウンチャート」 だ。30個が一個ずつ減っていく計画をたて、それを日々追っていく。以下の写 真は、バーンダウンチャートの例。1イテレーションの中で完成させるべきソフ トウェアの要求を縦軸にとっている。青が予定線、赤が実績線だ。

前回の繰り返しになるが、「テストで進捗を測る」。テストの終了に到達して いないものは「在庫」と考える。在庫状態にある成果物を減らし、バリュース トリーム(価値の流れ)の速度を上げるのだ。

(*1)「一個流し」は、トヨタ生産方式用語。ソフトウェアに対応づけると、 ウォーターフォール式にすべての要求を一度にまとめて分析・設計・実装・テ ストと工程を進めるのではなく、要求を小さな単位で1つずつ、分析からテスト まで流すこと。
つづき



この記事への評価にご協力をお願いします。

良かった 普通 イマイチ