了解時,這種心態(tài)就會越強烈,更加擔心自己“虧損”了;因此在需求協(xié)商時就會采取盡可能增加功能的方法來降低“虧損”的風險。
要有效地克服這個因素的困擾,核心的要點在于建立客戶對開發(fā)團隊的信任度,而建立信任度的要點有兩個方面:一是需求人員必須提升自己的專業(yè)主義(關于這一點我將在后續(xù)的文章中說明);二是需求人員要多站在用戶的角度想問題,讓用戶感覺需求人員的目標是幫助自己解決問題,而非一味謀取利益。
?。?)解決方案的選擇權交給了不熟悉技術的客戶
也就是用戶經常會談解決方案,甚至許多需求團隊在進行需求捕獲活動時,經常預期用戶能夠直接告訴他們要做什么(What),而不太關心用戶提出需求的真正動機(Why)。但是這樣就將解決方案的選擇權交給了并不熟悉技術的客戶代表,而客戶代表選擇的解決方案不是最合適的話,就必將引發(fā)后續(xù)的需求變更。
案例&場景:
在一次CRM軟件開發(fā)的過程中……
負責輸入客戶信息的用戶向開發(fā)人員提出:“你看這個界面,光電話就有快10個輸入框,太麻煩了,每次按tab鍵都按酸了。我希望把他們合并成兩個,一個為常用電話,一個為其他電話”。
“那有多個電話怎么辦?”,開發(fā)人員回應道。
“其他電話的輸入框可以設置為多行的、較寬的,這樣我可以輸入多個,中間用逗號分開它!”。
“好的,沒問題” 。
……
當經理看到了這些客戶信息之后,向開發(fā)人員提出:“我需要一個功能,輸入任何電話號碼,自動找出相應的客戶。”
“啊……”
如果我們細究這個場景,分析一下負責輸入客戶信息的用戶所提出的變更就會發(fā)現(xiàn):“將10個電話輸入框合并成兩個”顯然是解決方案,而真正的需求是“輸入太麻煩了,每次按tab鍵都按酸了”。你或許就會想到如下所示的解決方案:
也就是說,默認情況上只顯示左邊的部分,當需要時點擊“其它>>”按鈕就可以將右邊的不常用輸入項顯示出來。
總而言之,因為對于一個特定的問題可能的解決方案會有很多,因此用戶可能在使用軟件的過程中不斷發(fā)現(xiàn)其他可選的、更合適的替代方案,從而導致了不必要的需求變更。而要緩解這一現(xiàn)象的關鍵就在于在需求捕獲的過程中多問“為什么”。
項目經理:控制需求
當我們比較圖1中第1幅和第2幅圖時,就會發(fā)現(xiàn)項目經理在溝通的過程中會導致需求產生偏差。由于國內許多軟件項目經理們通常是一身兼多職,項目管理、需求分析、架構設計一肩挑,因此在需求捕獲的過程中,總會“及時”地在腦海里勾勒出技術框架和路線,然后盡可能地控制需求的范圍。
就像這里,客戶需要的可能是一個“秋千”或者是“上樹工具”,但不管真正的需求是什么,第2幅圖中的解決方案卻都無法有效地滿足。如果要做“秋千”,不應該被樹干擋??;如果要做“上樹工具”,木板的數(shù)量顯然太少了。
究其原因不難發(fā)現(xiàn),需求人員首先從項目經理的視角按工作量對需求進行了控制:將“三層”板的工作量減成“一層”板,如果不小心控制掉的是對業(yè)務很重要的東西,那么最終一定會以變更的形式“回報”給開發(fā)團隊的。然后需求人員又從架構師的角度進行了“改良”:不穩(wěn)定的“全掛在一個樹枝上”改成“掛在兩個樹枝上”,結果根本無法使用。
因此具有多個角色的需求人員,必須在需求的過程中“戴正自己的帽子”,真正從理解業(yè)務的角度來捕獲需求。
分析人員:技術加工
案例&場景:
分析員小張:“嘿,伙伴們!我有個提議,我們研究Hibernate已經有一
項目經理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://www.vanceur.cn/pmqhd/index.html