單、有效的變更控制流程,并形成文檔。在建立了需求基線后提出的所有變更都必須遵循這個(gè)控制流程進(jìn)行控制。同時(shí),這個(gè)流程具有一定的普遍性,對(duì)以后的項(xiàng)目開(kāi)發(fā)和其他項(xiàng)目都有借鑒作用。
(3) 成立項(xiàng)目變更控制委員會(huì)(CCB)或相關(guān)職能的類(lèi)似組織,負(fù)責(zé)裁定接受哪些變更。CCB由項(xiàng)目所涉及的多方人員共同組成,應(yīng)該包括用戶(hù)方和開(kāi)發(fā)方的決策人員在內(nèi)。
(4) 需求變更一定要先申請(qǐng)然后再評(píng)估,最后經(jīng)過(guò)與變更大小相當(dāng)級(jí)別的評(píng)審確認(rèn)。
(5) 需求變更后,受影響的軟件計(jì)劃、產(chǎn)品、活動(dòng)都要進(jìn)行相應(yīng)的變更,以保持和更新的需求一致。
(6) 妥善保存變更產(chǎn)生的相關(guān)文檔。
四、需求變更應(yīng)對(duì)之道
需求變更控制一般要經(jīng)過(guò)變更申請(qǐng)、變更評(píng)估、決策、回復(fù)這四大步驟。如果變更被接受,還要增加實(shí)施變更和驗(yàn)證兩個(gè)步驟,有時(shí)還會(huì)有取消變更的步驟。針對(duì)變更控制流程,有幾點(diǎn)應(yīng)對(duì)之道。
相互協(xié)作——很難想像遭到用戶(hù)抵制的項(xiàng)目能夠成功。在討論需求時(shí),開(kāi)發(fā)人員與用戶(hù)應(yīng)該盡量采取相互理解、相互協(xié)作的態(tài)度,對(duì)能解決的問(wèn)題盡量解決。即使用戶(hù)提出了在開(kāi)發(fā)人員看來(lái)"過(guò)分"的要求,也應(yīng)該仔細(xì)分析原因,積極提出可行的替代方案。
充分交流——需求變更管理的過(guò)程很大程度上就是用戶(hù)與開(kāi)發(fā)人員的交流過(guò)程。軟件開(kāi)發(fā)人員必須學(xué)會(huì)認(rèn)真聽(tīng)取用戶(hù)的要求、考慮和設(shè)想,并加以分析和整理。同時(shí),軟件開(kāi)發(fā)人員應(yīng)該向用戶(hù)說(shuō)明,進(jìn)入設(shè)計(jì)階段以后,再提出需求變更會(huì)給整個(gè)開(kāi)發(fā)工作帶來(lái)什么樣的沖擊和不良后果。
安排專(zhuān)職人員負(fù)責(zé)需求變更管理——有時(shí)開(kāi)發(fā)任務(wù)較重,開(kāi)發(fā)人員容易陷入開(kāi)發(fā)工作中而忽略了與用戶(hù)的隨時(shí)溝通,因此需要一名專(zhuān)職的需求變更管理人員負(fù)責(zé)與用戶(hù)及時(shí)交流。
合同約束——需求變更給軟件開(kāi)發(fā)帶來(lái)的影響有目共睹,所以在與用戶(hù)簽訂合同時(shí),可以增加一些相關(guān)條款,如限定用戶(hù)提出需求變更的時(shí)間,規(guī)定何種情況的變更可以接受、拒絕接受或部分接受,還可以規(guī)定發(fā)生需求變更時(shí)必須執(zhí)行變更控制流程。
區(qū)別對(duì)待——隨著開(kāi)發(fā)進(jìn)展,有些用戶(hù)會(huì)不斷提出一些在項(xiàng)目組看來(lái)確實(shí)無(wú)法實(shí)現(xiàn)或工作量比較大、對(duì)項(xiàng)目進(jìn)度有重大影響的需求。遇到這種情況,開(kāi)發(fā)人員可以向用戶(hù)說(shuō)明,項(xiàng)目的啟動(dòng)是以最初的基本需求作為開(kāi)發(fā)前提的,如果大量增加新的需求(雖然用戶(hù)認(rèn)為是細(xì)化需求,但實(shí)際上是增加了工作量的新需求),會(huì)使項(xiàng)目不能按時(shí)完成。如果用戶(hù)堅(jiān)持實(shí)施新需求,可以建議用戶(hù)將新需求按重要和緊迫程度劃分檔次,作為需求變更評(píng)估的一項(xiàng)依據(jù)。同時(shí),還要注意控制新需求提出的頻率。
選用適當(dāng)?shù)拈_(kāi)發(fā)模型——采用建立原型的開(kāi)發(fā)模型比較適合需求不明確的開(kāi)發(fā)項(xiàng)目。開(kāi)發(fā)人員先根據(jù)用戶(hù)對(duì)需求的說(shuō)明建立一個(gè)系統(tǒng)原型,再與用戶(hù)溝通。一般用戶(hù)看到一些實(shí)際的東西后,對(duì)需求會(huì)有更為詳細(xì)的解釋?zhuān)_(kāi)發(fā)人員可根據(jù)用戶(hù)的說(shuō)明進(jìn)一步完善系統(tǒng)原型。這個(gè)過(guò)程重復(fù)幾次后,系統(tǒng)原型逐漸向最終的用戶(hù)需求靠攏,從根本上減少需求變更的出現(xiàn)。目前業(yè)界較為流行的疊代式開(kāi)發(fā)方法對(duì)工期緊迫的項(xiàng)目的需求變更控制很有成效。
用戶(hù)參與需求評(píng)審——作為需求的提出者,用戶(hù)理所當(dāng)然是最具權(quán)威的發(fā)言人之一。實(shí)際上,在需求評(píng)審過(guò)程中,用戶(hù)往往能提出許多有價(jià)值的意見(jiàn)。同時(shí),這也是由用戶(hù)對(duì)需求進(jìn)行最后確認(rèn)的機(jī)會(huì),可以有效減少需求變更的發(fā)生。