如果你是一個開發(fā)人員,一天,市場部的小莉跑過來讓你修改你正在開發(fā)產(chǎn)品的一個小小的功能,這是應客戶的要求添加的,你覺得這個要求很簡單,再加上你對小莉有好感,可能你就答應了她的要求。可是實際的情況是怎么樣的呢?你會發(fā)現(xiàn)小小的修改并沒有想象的那么簡單,對這項產(chǎn)品的修改導致了進程的延誤,最糟糕的是,由于這項修改沒有傳達到整個需求鏈,其他的開發(fā)人員那里由于你的修改出現(xiàn)了一些要命的錯誤。
軟件工程重視的是過程能力,如果不能嚴格的確保過程的每一個環(huán)節(jié)都被不擇不扣的執(zhí)行,軟件過程就會不成功,我們都學過法律常識,都知道有法可依還不夠,還必須有法必依,執(zhí)法必嚴。遺憾的是,中國的軟件組織對過程的嚴格執(zhí)行并不是特別重視,上面的例子在各團體中都是很普遍的,這可能和中國人的思維方式有些關(guān)系,關(guān)于這一點,魯迅先生在很早的時候已經(jīng)討論過了,我們就不用在此羅嗦了。
需求鏈的概念指的是需求能夠上傳下達,從客戶傳達到需求過程,并從需求過程傳達到需求過程的下游開發(fā)鏈。而這個傳達是可以逆向的。
需求跟蹤提供了一個表明與合同或說明一致的方法。更進一步,需求跟蹤可以改善產(chǎn)品質(zhì)量,降低維護成本,而且很容易實現(xiàn)重用( Ramesh 1998)。
在CMM三級中要求軟件團體必須具備需求跟蹤的能力:“在軟件工作產(chǎn)品之間,維護一致性。工作產(chǎn)品包括軟件計劃,過程描述,分配需求,軟件需求,軟件設(shè)計,代碼,測試計劃,以及測試過程?!?BR> 實際上,創(chuàng)建需求跟蹤能力是困難的,尤其是在短期之內(nèi)會造成開發(fā)成本的上升,雖然從長遠來看可以減少軟件生存期的費用,軟件團體在實施這項能力的時候應循序漸進,逐步實施。
需求跟蹤的一種通用的方法是采用需求能力跟蹤矩陣。它的前提條件是將在需求鏈中各個過程的元素加以編號,例如:需求的實例號,設(shè)計的實例號,編碼的實例號,測試的實例號。他們的關(guān)系都是一對一和一對多的關(guān)系。通過編號,你可以使用數(shù)據(jù)庫進行管理,需求的變化能夠立刻體現(xiàn)在整條需求鏈的變化上。
需求跟蹤矩陣并沒有規(guī)定的實現(xiàn)辦法,每個團體注重的方面不同,所創(chuàng)建的需求跟蹤矩陣也不同,只要能夠保證需求鏈的一致性和狀態(tài)的跟蹤就達到目的了。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html