在項目執行過程中,風險是無處不在的,而在項目前期大家做需求分析時也蘊藏著不少風險因子。其中因為需求本身的描述、變更或是項目參與者的理解不當等,都可能讓大家對項目需求分析產生誤差,又因偏差而影響項目計劃,連鎖反應自然會對整個項目產生危機。下面,就講講需求分析過程中有怎樣的風險存在。
風險一:目標用戶參與度低
客戶經常不明白為什么收集需求和確保需求質量需花費那么多功夫,開發人員可能也不重視用戶的參與。要說原因呢?一是因為開發人員感覺與用戶溝通不如自己直接寫代碼等實在;二是因為開發人員覺得已經明白用戶的需求了。
在某些情況下,與實際使用產品的用戶直接接觸很困難,而客戶也不太明白自己的真正需求。但還是應讓具有代表性的用戶在項目早期直接參與到開發隊伍中,并一同經歷整個開發過程。
項目人員在實踐過程中,也有些感覺,在實施一家公司的項目時,若無足夠的用戶參與,項目人員獲得的需求是片面的、不完整的,這樣項目在需求之初就埋下風險。
風險二:需求描述說明過于簡單
有時,客戶并不明白需求分析有如此重要,于是只作一份簡略之至的規格說明,僅涉及了產品概念上的內容,然后讓開發人員在項目進展中去完善,結果很可能出現的是開發人員先建立產品的結構之后再完成需求說明。
這種方法可能適合于尖端研究性的產品或需求本身就十分靈活的情況。但在大多數情況下,這會給開發人員帶來挫折,即:使他們在不正確的假設前提和極其有限的指導下工作,也會給客戶帶來煩惱,即:他們無法得到他們所設想的產品。
風險三:需求模棱兩可產生歧義
除了內容過于簡單,模棱兩可也是需求規格說明中最為可怕的問題。它的一層含義是指諸多讀者對需求說明產生了不同的理解;另一層含義是指單個讀者能用不止一個方式來解釋某個需求說明。
模棱兩可的需求會使不同的風險承擔者產生不同的期望,它會使開發人員為錯誤問題而浪費時間,并且使測試者與開發者所期望的不一致。
處理模棱兩可需求的一種方法是組織好負責從不同角度審查需求的隊伍。僅僅簡單瀏覽一下需求文檔是不能解決模棱兩可問題的。如果不同的評審者從不同的角度對需求說明給予解釋,但每個評審人員都真正了解需求文檔,這樣二義性就不會直到項目后期才被發現,那時再發現的話會使得更正代價很大。
風險四:不準確需求導致計劃不對
據統計,導致需求過程中項目成本估計極不準確的原因主要有這些原因:頻繁的需求變更、遺漏的需求、與用戶交流不夠、質量低下的需求規格說明和不完善的需求分析。
對不準確的要求所提問題的正確響應是“等我真正明白你的需求時,我就會來告訴你”。基于不充分信息和未經深思的對需求不成熟的估計很容易為一些因素左右。要作出估計時,最好還是給出一個范圍。未經準備的估計通常是作為一種猜測給出的,聽者卻認為是一種承諾。因此我們要盡力給出可達到的目標并堅持完成它。
風險五:需求頻繁變更不便管理
在開發中若不斷地補充需求,項目就越變越龐大以致超過其計劃及預算范圍。計劃并不總是與項目需求規模與復雜性、風險、開發生產率及需求變更實際情況相一致,這使得問題更難解決。實際上,問題根源在于用戶需求的改變和開發者對新需求所作的修改。
要想把需求變更范圍控制到最小,必須一開始就對項目視圖、范圍、目標、約束限制和成功標準給予明確說明,并將此說明作為評價需求變更和新特性的參照框架。說明中包括了對每種變更進行變更影響因素分析的變更控制過程,有助于所有風險承擔者明白業務決策的合理性,即為何進行某些變更,相應消耗的時間、資源或特性上的折中。
風險六:“多余”無用功能浪費時間
“畫蛇添足”是指開發人員力圖增加一些“用戶欣賞”但需求規格說明中并未涉及的新功能。經常發生的情況是用戶并不認為這些功能性很有用,以致在其上耗費的努力“白搭”了。開發人員應當為客戶構思方案并為他們提供一些具有創新意識的思路,具體提供哪些功能要在客戶所需與開發人員在允許時限內的技術可行性之間求得平衡,開發人員應努力使功能簡單易用,而不要未經客戶同意,擅自脫離客戶要求,自作主張。
同樣,客戶有時也可能要求一些看上去很“酷”,但缺乏實用價值的功能,而實現這些功能只能徒耗時間和成本。為了將“畫蛇添足”的危害盡量減小,應確信:你明白為什么要包括這些功能,以及這些功能的“來龍去脈”,這樣使得需求分析過程始終是注重那些能使用戶完成他們業務任務的核心功能。
項目需求分析是確定項目目標、范圍的關鍵,是項目開端的重要步驟。要知道若是一開始的需求都為弄明白,不清楚自己要做什么,那么項目組后面的行動只會迷茫并舉步維艱或在誤差的方向越走越偏。所以雖然風險不可避免,但是,我們應該根據風險機制,在需求分析時多加注意,將風險盡量扼殺或降至最低。