對于程序員來說第一怕的是BUG,第二怕的大概就是需求變更了。需求變更帶來的影響范圍是很大的:辛辛苦苦寫出來的設計文檔要修改,掉了大把頭發敲出來的代碼也要修改,而代碼變動了那么測試也必定要重新來過,這樣就花費了大量時間和精力。那么如何保證盡量減少需求的變動?
需求變更原因:開發方自身要求
就開發方本身而言,來自線上問題的處理、技術架構升級、性能改進等要求也有可能導致需求變更。
由以上分析可以看出,就算需求人員與客戶(或用戶)之間不存在理解上的分歧,客戶對于實際的系統還是會提出一些個人意見,就算沒有個人意見,他們自己的業務或環境也會變化,這些都是無法避免的。
為了解決這一問題,需要采取有效的方法和步驟來控制變更,盡量將其負面影響降到最低。沒有明確、規范的需求變更管理流程,就會使需求變更變得隨意、泛濫。并不是所有的變更都要修改,也不是所有變更都要立刻修改,需求變更管理的目的是為了決定什么類型的變更需要修改和什么時候修改。
比如,對于界面風格問題,就可以視情況先不修改,或者規劃一下修改的時間待到以后進行優化。另外,對于核心模塊的修改要有嚴格把關流程,有些需求看起來是小需求,工作量不大,但殊不知很可能是“牽一發而動全身”,實際上開發人員要耗費比較長的時間去解決客戶沒有考慮到的細節問題。
需求管理關注的重點:讓客戶參與到項目各個階段
項目經理要拉著客戶參與到項目的每個階段,并隨時讓客戶了解和提出真實想法。這樣就不會導致在項目收尾階段客戶才提出各種需求,變被動為主動。
尤其是需求分析階段,當整理完需求文檔時,一定要與客戶一起評估,讓客戶對需求進行確認,最好能簽字確認,以避免需求理解不一致,需求范圍不確定等問題。
當需求發生變更時,項目團隊要及時與客戶一起評審需求,驗證其可行性及影響范圍,讓客戶清楚需求變更帶來的項目風險,共同協商應對。
需求管理對項目團隊非常重要且有意義,面對存在變動且需要多人決策需求變更,選擇一款合適的項目管理工具,控制好每個需求,大幅度縮小需求變更時間,令項目走向成功。