90対90の法則についての解説
90対90の法則(ninety-ninety rule)は、コンピュータプログラミングやソフトウェアエンジニアリングに関する思いを込めた
格言で、開発プロジェクトがしばしばスケジュールを大きく超過する現象を皮肉っています。この
格言によると、全体で見れば開発時間が180%に達するケースが頻繁に見られるというのが、その核心です。このことは、開発者たちがプロジェクトを進行する際の時間見積もりにおいて、実際の作業の複雑さを十分に考慮していないことを示唆します。
例えば、システムの構築には比較的簡単なタスクと、予期せぬ困難が混在しています。これらを大まかに90%ずつで割り振ってしまうと、合計は180%となり、この理論がどれだけ現実に根ざしたものであるかが理解できるでしょう。
この法則の提唱者は、
ベル研究所のトム・カーギル氏です。そして、彼の考えは、1985年にジョン・ベントレーがACM(
Association for Computing Machinery)の学会誌『Communications of the ACM』のコラム「Programming Pearls」で取り上げたことで広まりました。その際、カーギルの法則は「Rule of Credibility」として紹介されています。
法則の解釈と影響
90対90の法則は、決して単なるジョークではなく、ソフトウェア開発の現場で直面する実際の問題を浮き彫りにしています。この法則によると、開発者は容易に完成できると思われる部分の時間を少なく見積もり、逆に複雑な部分に過剰な予測時間を与える傾向があるとされています。この結果、プロジェクトは期日を過ぎてしまい、大きな時間オーバーが発生します。
このような見積もりの誤りを避けるためには、開発チームは各タスクの難易度に加え、未知の要因を考慮に入れた予測を立てる必要があります。具体的には、リスク管理や追加のバッファタイムを設けることで、プロジェクトの成功率を高めることができるでしょう。
興味深いことに、90対90の法則は時に誤植として「合計100%」と間違われることもあり、そのために異なるバージョンが広まっています。特に、一部の人は全ての百分率を90に置き換えたユーモラスな解釈を使用することもあります。また、この理論はソフトウェア開発だけでなく、さまざまな分野のプロジェクトにおいても応用されるようになっています。
結論
90対90の法則は、シンプルでありながら深い洞察を提供しています。この法則を念頭に置くことにより、開発者やプロジェクトマネージャーは、実際の作業時間の見積もりを見直し、より現実的な計画を立てる手助けとなるでしょう。このように、90対90の法則はソフトウェア開発の世界で非常に価値のある知恵と言えるのです。