需求變更的代價和如何減少需求變更

需求變更的代價
一般來講,需求的變更通常意味着需求的增加,需求的減少相對很少,而且處理需求減少方面的問題也比較容易。當客戶提出新需求的時候,項目開發人員應該分析這些新需求對項目現階段帶來的風險,得出雙方實現變更需求的需要的成本,包括時間、人力、資源等等方面。
變更都是有代價的,應該評估一下變更的代價和對項目的影響,在評估代價並且與客戶討論的過程中,要讓客戶瞭解變更的後果,變更之後面臨最大的問題就是項目延期,讓客戶一起做判斷:“我可以修改,但您能接受後果嗎?”。現在會出現三種可能:客戶接受延期這一後果,開發人員按客戶要求做出相應修改,讓客戶知道爲此需要付出延期的代價;如果客戶認爲代價太大,那開發人員就不必修改了,可以記錄下需求,待到下一版本再做修改;客戶不接受變更的代價,導致項目夭折。 如果客戶不知道你爲變更付出的代價,對你的辛苦便難以體會,以致沒完沒了的提出新的變更。
減少需求變更
正如前文所說,需求變更往往是不可避免的。通常是項目負責人員花費了大量的氣力避免需求變更,可最後需求變更總是會出現。但是這並不意味着項目開發人員不應該做這方面的工作,項目開發人員對於需求變更的正確態度應該和軟件測試的態度一樣,在需求變更發生之前儘量減少需求變更,以將需求變更帶來的風險降低到最低。項目開發人員切忌在項目設計之前試圖消除需求變更,這樣做往往費力不討好。
相比於需求開發人員而言,客戶可能對需求變更認識不足,認爲他們出錢,程序員或軟件開發公司就要爲它服務,因此客戶對需求變更往往更加肆無忌彈,將需求變更視爲兒戲,隨個人喜好隨意變更需求。因此,在需求人員同用戶代表或用戶部門主管人員接觸時,就應該向他們挑明態度,和他們協商好,特別是應該讓他們清楚軟件的定價應該與軟件的功能相關,以及需求隨意變更所帶來的風險的承擔者應該由客戶和項目開發者共同承擔。通過這樣做,讓客戶在需求分析之前就儘量對他們所需要的功能有個整體的瞭解和確定的思路,而不是等到程序員開始編碼了,才提出以前原本在需求分析時就可以提出的需求。
讓客戶明白減少需求變更的重要性後,需求分析人員應該採取合適的方法同客戶交流,幫助他們明確他們的需求。需求分析人員和客戶的關係不應該僅僅是記錄人員和需求提供者,他們的關係應該更多的是戰略合作伙伴關係。雖然需求分析人員和客戶存在着服務商和顧客的關係,但是他們有着一個共同的目標:開發出適合客戶需求的軟件,因此需求分析人員除了記錄客戶提出的需求以外,還應和用戶討論,提出一些建議,使用合適的工具幫助客戶提出需求。在需求分析時,儘量多的召集需求研討會,邀請開發人員和客戶共同協商探討,在研討會上允許任意的提出需求,並將這些需求整理成檔後由客戶代表和需求分析人員共同商議可選的功能,這樣能夠儘量使得需求完備。在需求開發時,開發人員採用原型的方法啓發客戶思考功能需求也不失爲一個好辦法。
雖然需求不可能是完備的、變更不可能沒有的,但是在項目開始設計時使得需求儘可能完備還是應該的,也是值得的,完備需求的過程也就相應的減少了因爲需求不清楚而產生變更的機率。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章