軟件生產(chǎn)人員和用戶的最佳選擇是承認(rèn)軟件不可能沒有缺陷的現(xiàn)實(shí),在生產(chǎn)和使用中都引入軟件“容錯(cuò)”的理念和機(jī)制,并把有限的時(shí)間和精力放在“關(guān)鍵”部位上,而不是一味追求最少的缺陷和不分重點(diǎn)地使用
軟件開發(fā)力量,這樣才能達(dá)到總體最優(yōu)的結(jié)果。
為了了解軟件質(zhì)量的現(xiàn)狀,從1994年開始,一個(gè)名叫 Standish Group 的智囊團(tuán)用了十年的時(shí)間研究了多達(dá)三萬五千個(gè)開發(fā)項(xiàng)目,用了多種方法對(duì)這些項(xiàng)目進(jìn)行了評(píng)估,其對(duì)于項(xiàng)目成功的定義如下:
軟件開發(fā)按時(shí)完成。
預(yù)算未超出。
軟件功能涵蓋了預(yù)定的要求。
軟件沒有被缺陷致殘。
軟件已被使用,而且產(chǎn)生了積極的效果。
最初的結(jié)果顯示符合上述定義的成功軟件項(xiàng)目只有16%。Standish 每年都會(huì)更新這一數(shù)字。之后的結(jié)果顯示,該比例沒有太大的改變。
多年來,軟件業(yè)界采用了多種方法企圖改善軟件質(zhì)量的現(xiàn)狀。雖然 Standish Group 的研究指出成功軟件的比例變化不大,卻并不代表軟件業(yè)界的努力沒有成果。
因?yàn)橛脩魧?duì)于軟件的要求越來越高,導(dǎo)致軟件越來越來復(fù)雜,失敗的概率也相應(yīng)地越來越大。雖然一些有識(shí)之士例如 Ben Chelf 認(rèn)識(shí)到人的因素對(duì)于軟件產(chǎn)生缺陷至關(guān)重要,但是面對(duì)這一現(xiàn)實(shí),多數(shù)還是朝著使人減少犯錯(cuò)誤機(jī)會(huì)的方向去改進(jìn)。這無疑是必要的。
但是在短期不能奏效的局面下,在軟件生產(chǎn)和使用中“容忍”缺陷是軟件業(yè)得以生存和發(fā)展的關(guān)鍵一環(huán),通俗地說,要與缺陷共舞。