ソフトウェア開発プロジェクトに限ったことではないかもしれないけれど、一見正しいようで不適切なことを求められることがある。疑似科学じゃないけれども、似非プロジェクト科学としていろいろ考えてみている。もちろん、単なる政治の問題なのかもしれないけれども。
ブルックスの法則、あるいは規模の不経済
この手の話で一番有名なのはブルックスの法則だろう。つまり、「遅れているソフトウェアプロジェクトへの要員追加は、プロジェクトをさらに遅らせる」というものだ。
「9人の妊婦を集めても、1ヶ月で赤ちゃんを出産することはできない」
ブルックスの法則 - Wikipedia
この原因の一つにはメンバー間のコミュニケーションパスが、プロジェクトメンバーが増えるに従い爆発的に増加するからだ。ブルックスの法則は遅れているプロジェクトのリカバリに焦点を当てているけれども、遅れていないプロジェクトについても「規模の不経済」という問題がある。
ソフトウェア以外の分野では、通常、私たちは「規模の不経済」ではなく「規模の経済」について議論する。「規模の経済」とは、「より大きな製造プラントを構築すれば、単体あたりのコストは下がるだろう」といった類のものだ。つまり、規模の経済が意味することは、大きくなるほどその単体コストは小さくなるということである。
「規模の不経済」は、その逆だ。ソフトウェアでは、システムが大きくなるほど単体コストは大きくなる。もしもソフトウェアが規模の経済を示すなら、10万LOCのシステムは1万LOCのシステムの10倍より少ないコストになるはずだ。しかし、いつもこれは逆になる。
ソフトウェア見積り
こういった事はソフトウェア開発者からして見れば当然の事なのだけれども、じゃあ一般的に理解されているかというとそうではない。ソフトウェアを委託開発しようとした時に、発注者がソフトウェア開発に明るいとは限らないわけで、そこでいろいろと揉め事が発生する。
- 参加人員数が増えるに従って効率が悪くなるのが、基本的な法則である。
- 期間が同一の場合、規模が大きくなるにつれて作業効率は低下し、生産性は悪化する
- 規模に従って生産性が向上するのは、作業人数が少数で固定され、規模に応じて期間が伸びる場合である
- ソフトウェア開発において時々「ボリュームディスカウント」という言葉を聞くけど、作業量だけを考えれば「ボリュームプレミアム」がかかる事を忘れてはならない。もちろんビジネスなのだから規模に応じて値引きを行うのは別にかまわないのだけれども、圧縮されるのは利益だけで、作業量ではない。
- 作者: スティーブマコネル,久手堅憲之,Steve McConnell,田沢恵,溝口真理子
- 出版社/メーカー: 日経BP社
- 発売日: 2006/10/07
- メディア: 単行本
- 購入: 31人 クリック: 472回
- この商品を含むブログ (91件) を見る