一、令人煩惱的需求變更
作為一個軟件項目經理,在項目開發進行中,你是否遇到過這樣的問題:客戶的一個電話,就推翻了之前你與客戶、與你自己的開發團隊,經過再三討論而確認定下來的需求。之后你就重新開始了和客戶、和你的開發團隊進入新一輪的需求談論中,甚至是無休止的談論。甚至要重新設計現有的架構。
而面對這種情況,作為項目經理的你是否會說:“我們無法拒絕客戶, 但也無法立即滿足他的新需求,所以只好是推到以后再進行完善?!被蛘?,更極端些的想法:客戶總是在異想天開,客戶的需求在技術上根本無法實現……
在與客戶新的需求論證中,你是否會對需求確認的重要性產生懷疑。因為在一開始已經多次和客戶溝通,也在沒有任何異議的情況下得到了明確的答復,但當開發項目在不斷演進,客戶對系統的理解逐步加深之時, 他們最終還是推翻以前自己想要的需求。而這時你會認為對于需求,只有獲取,沒有確認。
而因為需求變更的原因,致使項目多次的延期后,客戶仍然說這不是他們想要的。你還是在抱怨客戶的需求像天氣一樣一直變個不停,最終,無論是你的抱怨還是客戶的需求變更只會令項目組中的開發人員疲于奔命,無所適從。
在你的軟件項目進行開發之前,你和你的項目成員是否有過這樣的想法,在這次軟件項目開發中,一定要消除需求變更,不讓談論好的需求發生任何的變更?
首先,這種想法和認識是錯誤的,軟件項目開發中的需求變更是不能被完全消除的。無論是項目經理還是項目開發人員,最好在項目開始之前就消除這種想法。需求變更是不可能被消除的,而“消除需求變更”的想法卻需要被消除。消除需求變更的所有的努力和想法,在項目開發進行中通常都是費力不討好。
項目開發過程中,需求的變更是不可避免的。
雖然一般情況下,項目經理花費了大量的心力和氣力去避免需求變更,可最后需求變更總是會出現。但這并不意味著項目不應該做這方面的工作,無論是項目經理,還是開發人員對于需求變更的正確態度應該和對待軟件測試的態度一樣,在需求變更發生之前盡量減少需求變更發生的情況,以將需求變更帶來的風險降到最低。
二、需求變更的產生原因
在軟件開發項目中,需求變更可能來自方案服務商、客戶或產品供應商等,當然,也可能來源于項目組內部。
原文轉自:http://www.anti-gravitydesign.com