90-90法則
90-90法則(ninety-ninety rule,九九定律,99定律)是計算機編程和軟體工程領域的一個有名的法則,出自於一句幽默的格言:
“ | (開發軟體時)前90%的代碼要花費90%的開發時間,剩餘的10%的代碼要再花費90%的開發時間。
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time. |
” |
——Tom Cargill,貝爾實驗室 |
合計180%的時間總量用看似荒誕的形式指出了軟體開發項目里一個臭名昭著的傾向-完成時間常常嚴重超出預期時間表。這一格言體現出了軟體工程的對編程項目的簡單與困難部分的時間分配太過粗糙的問題,也揭示了許多項目拖延的原因(即對困難部分沒有足夠的估計)。換句話說,完成一個項目要花比預期的更多的時間和代碼。
這一法則被認為是貝爾實驗室的Tom Cargill所提出,後來因為喬恩·本特利在《ACM通訊》上的「編程珠璣」(Programming Pearls)專欄的「可靠性法則」(Rule of Credibility)一文而流行[1]。這句格言也收錄在本特利後來出版的「編程珠璣II」(More Programming Pearls)一書中[2]。