摘要:有很強(qiáng)有力的證據(jù)顯示,對(duì)于開(kāi)發(fā)人員改善項(xiàng)目成果,以及對(duì)我們的目標(biāo)-- 按照時(shí)間和預(yù)算交付高質(zhì)量的軟件 --有幫助的方面,需求管理是一個(gè)最有效的手段。本文給出了一些實(shí)際的證據(jù),表明在有效的需求管理方面的投資可以產(chǎn)生實(shí)際的回報(bào)。
軟件危機(jī)依然持續(xù)
在1996年6月的Fortune雜志的題為: " The Trouble with Software Is ... It Sucks" 的文章中,業(yè)界評(píng)論家Stewart Alsop在他的評(píng)論中指責(zé)我們的工業(yè)界仍然處在軟件質(zhì)量和可靠性低下的狀態(tài)。在業(yè)界多數(shù)人正在旁邊憤怒的時(shí)候,最近由Standish Group,一個(gè)著名的市場(chǎng)研究機(jī)構(gòu),提供的報(bào)告中,給出了甚至更加清醒的看法。按照Standish Group的調(diào)查(超過(guò)352家公司報(bào)告的超過(guò)8,000個(gè)軟件項(xiàng)目),得出了以下結(jié)論:
31% 的軟件項(xiàng)目在完成之前就被取消($810億的浪費(fèi))。
53% 的項(xiàng)目花費(fèi)預(yù)算的189%。
9% 的項(xiàng)目按照時(shí)間和預(yù)算完成(大公司)。
16% 的項(xiàng)目按照時(shí)間和預(yù)算完成(小公司)。
為了更進(jìn)一步幫助理解問(wèn)題, Standish Group的調(diào)查也詢(xún)問(wèn)被調(diào)查者項(xiàng)目失敗的原因。按照他們的回答,最前面的三個(gè)項(xiàng)目失敗的原因列在表1中:
損害項(xiàng)目的因素 |
回答的百分?jǐn)?shù) |
1) 缺乏用戶(hù)輸入 |
12.8% |
2) 不完整的需求和規(guī)格定義 |
12.3% |
3) 需求和規(guī)格定義的變更 |
11.8% |
表 1: Standish Group 損害項(xiàng)目的因素
從表中可以看出,沒(méi)有能夠更有效地與用戶(hù)一起工作以更好地理解他們的需求,加上在管理需求方面缺乏工程訓(xùn)練,是軟件失敗的主要的原因。
需求錯(cuò)誤的高費(fèi)用
在GTE, TRW和IBM完成的研究測(cè)量和分配了項(xiàng)目生命周期不同階段發(fā)現(xiàn)錯(cuò)誤的費(fèi)用開(kāi)銷(xiāo)。這些統(tǒng)計(jì)被以后的研究進(jìn)一步證實(shí)。盡管這些研究都是獨(dú)立進(jìn)行的,他們都得出了基本相同的結(jié)論:如果在代碼階段檢測(cè)和修復(fù)一個(gè)錯(cuò)誤的費(fèi)用為1個(gè)單位,那么在需求階段發(fā)現(xiàn)和修正一個(gè)錯(cuò)誤的費(fèi)用只有1/5到1/10。而在維護(hù)解階段的發(fā)現(xiàn)和修正一個(gè)錯(cuò)誤的費(fèi)用為20單位。圖1顯示的主要的結(jié)果。
這么大的差距的原因在于,在產(chǎn)品完成前很多錯(cuò)誤不能被檢測(cè)出來(lái)。延遲發(fā)現(xiàn)錯(cuò)誤意味著:修復(fù)錯(cuò)誤的費(fèi)用包括直接修復(fù)錯(cuò)誤的費(fèi)用加上修復(fù)錯(cuò)誤引起的一系列投入的費(fèi)用。這些投入包括重新設(shè)計(jì)代碼、重新編寫(xiě)文檔、使軟件重新工作或者重新替換部署的軟件。
需求錯(cuò)誤和最常見(jiàn)的錯(cuò)誤
研究表明需求階段的錯(cuò)誤修復(fù)起來(lái)代價(jià)極其昂貴。如果這類(lèi)錯(cuò)誤不經(jīng)常發(fā)生,則項(xiàng)目總成本就沒(méi)有那么多。然而在復(fù)雜的軟件項(xiàng)目中,需求錯(cuò)誤確實(shí)是發(fā)現(xiàn)的錯(cuò)誤中最大類(lèi)別的一種錯(cuò)誤。在Sheldon對(duì)美國(guó)空軍項(xiàng)目的研究中,錯(cuò)誤按照來(lái)源進(jìn)行了分類(lèi)。這個(gè)研究發(fā)現(xiàn)需求錯(cuò)誤占發(fā)現(xiàn)總錯(cuò)誤的41%,邏輯設(shè)計(jì)錯(cuò)誤僅僅占總錯(cuò)誤數(shù)的28%。其它的研究也支持這個(gè)結(jié)果。例如,Tavolato 和 Vincena, 引用了Tom DeMarco的報(bào)告,指出所有Bug的56%可以歸結(jié)于需求階段產(chǎn)生的錯(cuò)誤。
需求錯(cuò)誤和返工費(fèi)用
Raytheon, Dion報(bào)告返工的費(fèi)用大約占項(xiàng)目總預(yù)算的40% 。Boehm報(bào)告對(duì)于大型軟件項(xiàng)目返工費(fèi)用大約占到50%。由于需求錯(cuò)誤的數(shù)量多,影響大, 發(fā)現(xiàn)和修正需求錯(cuò)誤的費(fèi)用占項(xiàng)目總返工費(fèi)用的70% - 85% 。
減少需求錯(cuò)誤
這里沒(méi)有能夠讓你遠(yuǎn)離需求錯(cuò)誤的銀彈。然而一些機(jī)構(gòu)給出了下面的能夠有效地減少需求錯(cuò)誤的技術(shù):
更有效地需求導(dǎo)出
與客戶(hù)和最終用戶(hù)回顧需
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html