90対90の法則
90対90の法則(英語: ninety-ninety rule)とは、コンピュータプログラミングとソフトウェア工学についてのユーモアを込めた次のような格言である。
日本語訳
コードの90%が、開発時間の最初の90%を占めている。残りの10%のコードが、他の90%の開発時間を占めている。
開発時間を合計すると180%になるのは、ソフトウェア開発のプロジェクトがスケジュールを大幅にオーバーするのが恒例化していることを皮肉ったものである(ソフトウェア開発の工数見積りを参照)。この法則は、プログラミングにおいて簡単な部分と困難な部分に大雑把に時間に割り当ててしまうことと、多くのプロジェクトが遅れる原因が、予測不可能な複雑さを予想していないことにあることを表している。プロジェクトをもっとうまく運営するためには、もっと長い期間とさらなるコーディングが必要であるということを表現している。
この法則は、ベル研究所のトム・カーギル(Tom Cargill)が考案したもので、ジョン・ベントレーがACMの学会誌"Communications of the ACM"1985年9月号のコラム"Programming Pearls"で"Rule of Credibility"として発表したことで広く知られるようになった[1]。
派生した格言
編集パーセントの合計が100にならないので、誤植と間違われることがある。以下のように「訂正された」ものが引用されることがある。
コードの最初の90%が開発時間の10%を占め、残りの10%が90%を占める
約90%のコードが割り当てられた時間の10%を占め、残りの10%が90%の時間を占める
あまり有名ではないが、全ての数字を90%にしたものもある。
コードの最初の90%が開発時間の90%を占め、残り90%が90%を占める
また、ソフトウェアと関連のないプロジェクトにも、異なる基準でこの法則を当てはめたものもある。
プロジェクトの90%は予算の90%を使用し、残り90%も予算の90%を使う
脚注
編集- ^ a b Bentley, Jon (1985). “Programming pearls: Bumper-Sticker Computer Science”. Communications of the ACM 28 (9): 896–901. doi:10.1145/4284.315122. ISSN 0001-0782.
- ^ Mantle, Micky W.; Lichter, Ron (2012), Managing the unmanageable, Addison Wesley, ISBN 978-0-321-82203-1