没有银弹
维基百科,自由的百科全书
《沒有銀彈》(No Silver Bullet)是IBM大型電腦之父佛瑞德·布魯克斯(Fred Brooks)在1987年所發表的一篇關於軟體工程的經典論文。該論述中強調真正的銀彈並不存在,而所謂的銀彈則是指沒有任何一項技術或方法可以能讓軟體工程的生產力在十年內提高十倍。Brooks最為人所知的是在1975年所出版的《人月神话》(The Mythical Man-Month)—被稱為軟體工程聖經。
這篇經典論文的核心論述通常被解釋為複雜的軟體工程問題無法靠簡單的答案來解決。
[编辑] 次要和必要複雜度
在該論述當中,討論到了次要和必要複雜度的差異。所謂次要複雜度是指由人們本身所產生的問題,而這類型的問題是可以被解決的。譬如說,撰寫和最佳化組合語言的複雜度就是屬於次要的,它可以藉由高階程式語言如Java來取代。必要複雜度則是從軟體本身要解決的問題衍生而來,並無法被移除。如果軟體需要提供三十個不同的功能,那麼這三十個功能都是必要的,這些功能都必須被實作出來。
軟體工程面臨的問題在於我們已經清除了大部分的次要複雜度,而剩餘的必要複雜度都無法改變。