未来のいつか/hyoshiokの日記 このページをアンテナに追加 RSSフィード Twitter

2014-08-13

ブルックスの法則

ムーアの法則18ヶ月半導体能力が2倍になる)というのは有名だが、それに比べてブルックスの法則は知られていない。

f:id:hyoshiok:20140813135205j:image

http://commons.wikimedia.org/wiki/File%3AFred_Brooks.jpg *1

ブルックス1960年代IBM System/360オペレーティングシステムOS/360の開発責任者で、後にそのときの経験をもとに人月の神話という本を書いた。

大規模ソフトウェア製品開発の難しさを書いた画期的な書物であるIT産業従事しているなら必読の書であるソフトウェア開発あるいはプロジェクトマネジメントに関わる人はだまされたと思って読んだ方がいい。わたしの日記でも何度となく紹介している。

それはともかく第二章人月神話だ。次のような例題がある。12人月かかると見積もられた仕事があるとして、3名で4ヶ月でその作業を完了すると考えた。そして一月毎にチェックポイントA/B/C/Dをもうけた。

さて、一月で終わると考えていたAが二ヶ月かかって完了したとする。当初の予定ではあと二ヶ月である。どうするか。管理者が取るべき方法は次である

  1. 当初の見積もりは正しかったのだけど、最初工程だけが間違っていた。すなわち残りは9人月であると推定する。9人月分の作業があるので、それを2ヶ月で完了するには9/2=4.5人が必要になる。3人に加えて2名追加する。
  2. 当初の見積もりが間違っていて、12人月ではなく24人月必要であった。すでに6人月分作業をしているので残り18人月工数必要になる。2ヶ月で完了するためには18/2=9人が必要になる。当初の3人に6名追加する。
  3. 線表(スケジュール)を立て直す。新しい計画では時間を十分にとる。
  4. 作業目標を調整する。仕事を減らす。

さて、どの方法が取るべき方針か。最初の2つのケース、作業目標スケジュールを変更しないで当初の目標通り4ヶ月で完了しようとするのは破滅である

仮に2名追加するとして、その人たちの教育コスト、3名でやっていた作業を5名でやるので、作業のやり直し分割のコストなどがあらたに発生し、それらのコストはあらかじめ見積もられていなかったので、結局期日通りに完了はしないのである。6名追加する場合は、さらにそのコストは増加する。

ここで、ブルックスの法則である。「遅れつつあるプロジェクトに人を追加するとさらに遅れる

ブルックスが書いている通り、スケジュール通りに完了したければ、作業目標を減らす(実装するものを減らす)しかないのである

これはソフトウェア製品開発において50年以上前に発見され今なお正しいのであるしかし、ほとんどの現場ではブルックスの法則は知られていないし、仮に知られていたとしても実践されていない。

遅れつつあるプロジェクトに人を追加するというのは、火に油を注ぐようなものである。この法則理解していない諸氏は、人月神話を読んだ方がいい。ともかくだまされたと思って読んでください。プロジェクトマネジメントがどうだこうだ言う前の共通知識、語彙の形成のため、皆で読んだ方がいい。その上で各プロジェクト特殊性などを勘案して作業をすすめる。

あなた上司人月神話を読んだことがあるのだろうか?聞いてみよう。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hyoshiok/20140813/p1
おとなり日記