一般來講,需求的變更通常意味著需求的增加,需求的減少相對很少,而且處理需求減少方面的問題也比較容易。當(dāng)客戶提出新需求的時候,項目開發(fā)人員應(yīng)該分析這些新需求對項目現(xiàn)階段帶來的風(fēng)險,得出雙方實現(xiàn)變更需求的需要的成本,包括時間、人力、資源等等方面。
變更都是有代價的,應(yīng)該評估一下變更的代價和對項目的影響,在評估代價并且與客戶討論的過程中,要讓客戶了解變更的后果,變更之后面臨最大的問題就是項目延期,讓客戶一起做判斷:“我可以修改,但您能接受后果嗎?”?,F(xiàn)在會出現(xiàn)三種可能:客戶接受延期這一后果,開發(fā)人員按客戶要求做出相應(yīng)修改,讓客戶知道為此需要付出延期的代價;如果客戶認為代價太大,那開發(fā)人員就不必修改了,可以記錄下需求,待到下一版本再做修改;客戶不接受變更的代價,導(dǎo)致項目夭折。 如果客戶不知道你為變更付出的代價,對你的辛苦便難以體會,以致沒完沒了的提出新的變更。
正如前文所說,需求變更往往是不可避免的。通常是項目負責(zé)人員花費了大量的氣力避免需求變更,可最后需求變更總是會出現(xiàn)。但是這并不意味著項目開發(fā)人員不應(yīng)該做這方面的工作,項目開發(fā)人員對于需求變更的正確態(tài)度應(yīng)該和軟件測試的態(tài)度一樣,在需求變更發(fā)生之前盡量減少需求變更,以將需求變更帶來的風(fēng)險降低到最低。項目開發(fā)人員切忌在項目設(shè)計之前試圖消除需求變更,這樣做往往費力不討好。
相比于需求開發(fā)人員而言,客戶可能對需求變更認識不足,認為他們出錢,程序員或軟件開發(fā)公司就要為它服務(wù),因此客戶對需求變更往往更加肆無忌彈,將需求變更視為兒戲,隨個人喜好隨意變更需求。因此,在需求人員同用戶代表或用戶部門主管人員接觸時,就應(yīng)該向他們挑明態(tài)度,和他們協(xié)商好,特別是應(yīng)該讓他們清楚軟件的定價應(yīng)該與軟件的功能相關(guān),以及需求隨意變更所帶來的風(fēng)險的承擔(dān)者應(yīng)該由客戶和項目開發(fā)者共同承擔(dān)。通過這樣做,讓客戶在需求分析之前就盡量對他們所需要的功能有個整體的了解和確定的思路,而不是等到程序員開始編碼了,才提出以前原本在需求分析時就可以提出的需求。
讓客戶明白減少需求變更的重要性后,需求分析人員應(yīng)該采取合適的方法同客戶交流,幫助他們明確他們的需求。需求分析人員和客戶的關(guān)系不應(yīng)該僅僅是記錄人員和需求提供者,他們的關(guān)系應(yīng)該更多的是戰(zhàn)略合作伙伴關(guān)系。雖然需求分析人員和客戶存在著服務(wù)商和顧客的關(guān)系,但是他們有著一個共同的目標:開發(fā)出適合客戶需求的軟件,因此需求分析人員除了記錄客戶提出的需求以外,還應(yīng)和用戶討論,提出一些建議,使用合適的工具幫助客戶提出需求。在需求分析時,盡量多的召集需求研討會,邀請開發(fā)人員和客戶共同協(xié)商探討,在研討會上允許任意的提出需求,并將這些需求整理成檔后由客戶代表和需求分析人員共同商議可選的功能,這樣能夠盡量使得需求完備。在需求開發(fā)時,開發(fā)人員采用原型的方法啟發(fā)客戶思考功能需求也不失為一個好辦法。
雖然需求不可能是完備的、變更不可能沒有的,但是在項目開始設(shè)計時使得需求盡可能完備還是應(yīng)該的,也是值得的,完備需求的過程也就相應(yīng)的減少了因為需求不清楚而產(chǎn)生變更的幾率。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html