プロジェクトの変数コントロール
https://gyazo.com/4f8cebb7d940f4a7760ff645a9515499
Manage It!の著者であるJohanna Rothmanがプロジェクトのコントロールのための変数と相互作用を、上図のようなプロジェクトピラミッドで説明している。
これを自由にいじれるプロジェクトは実際には少なく、これは譲れないもしくは決まっているというドライバと、一定以上を満たす必要のある制約が存在する。これをまず明らかにしようというもの。
ドライバは、たいてい「時間・納期」「費用」「機能セット」「品質」のどれか1つになる、としている。また制約もリリースが滅多にされないようなプロジェクトでない限りは、どれか1つになる。
これをもとに、バリエーションを考えてみる。
納期が動かせない (Driver)
機能セットは一定のもの以上、多くできれば越したことはない。(Constraint)
欠陥が残ることを許容できれば、より多くの機能を実現できる。
人を多く追加でき、よりよい作業プロセスを提供できれば、同じ納期でより多くの機能を実現できる。裏を返せば、人も作業プロセスも改善しづらいプロジェクト終盤では、この制約を満たせないことになる。
かける費用が決まっている(Driver)
できるだけ速くリリースしたい (Constraint)
機能セットを少なくする。
バグが残存した状態でリリースすることを許容する
必ず必要な機能セットが決まっている (Driver)
できるだけ速くリリースしたい (Constraint)
プロジェクト初期段階であれば、熟練した人を用意したりチームをトレーニングしたりする。その分費用もかかる。
バグが残存した状態でリリースすることを許容する。
できるだけコストをかけずに作りたい(Constraint)
リリースを延ばすか、バグが残存した状態でリリースすることを許容する。
定められた品質基準を満たすことが決まっている (Driver)
非常に現実に則したコントロールに思える。し、DriverとConstaintを理解していない「全部重要だ」と曰うマネージャとは、これを元によくよく話し合う必要がある。