4、 充分挖掘潛在需求
由于分析人員對軟件技術非常熟悉,一些由于技術所帶來的潛在需求對于客戶來說,一般很難被發現。不實現這些需求,對整個系統也沒什么實質性的影響;實現這些需求,則會錦上添花。
對這些潛在需求,會有兩種處理方式:告訴客戶,客戶會得到啟發,可能進一步提出新的需求,會有一些更大膽的想法,從而擴大了需求范圍,增加了工作量,甚至會影響到工期;不告訴客戶,等客戶想到了再說。
這些需求如果對于產品軟件,可能會是一個賣點,要盡可能的去挖掘。但對項目軟件,考慮各種風險,有時候可能會回避,或對客戶隱瞞。
我覺得,不管是否告訴客戶,分析人員還是應該去挖掘,最起碼可以作為自己的知識積累。
5、 采用科學的分析報告模板
分析完成后,需要形成《需求分析報告》,應采用規范科學的報告模板,通過ISO或CMM的企業,其模板大都非常詳盡,不僅僅作為報告模板,還可以指導分析過程。
比如,我所在的企業除了有規范的需求分析報告編寫指南、報告模板,還有"需求分析矩陣"和"需求變更報告"用于管理需求和控制變更。
6、 積累領域知識
領域知識對于分析人員很重要,這些知識的廣度和深度影響分析結果的準確性和分析進度。分析人員應該通過各種途徑去獲取這些,不斷積累,并進行比較和總結。
7、 抱著學習與指導并存的態度
面對一個新的客戶時,分析人員首先必須抱著謙遜的學習的態度,把這看成是豐富領域知識的機會。但并非客戶單位的任何層次的人都有值得學習的東西,隨著分析人員接觸的領域客戶不斷增多,分析人員對該領域的理解也會越來越深,逐漸會成長為領域專家,會有很多地方超過客戶對領域的理解,此時,要以自己的深入理解去指導客戶,說服客戶,甚至糾正客戶的一些錯誤的認識,得到客戶的信任與尊敬,這對迅速順利的完成需求分析會很有幫助。
8、 誤區
在進行需求分析的時候,容易陷入一些誤區,導致分析結果不理想。
分析結果越復雜越好
這是技術型分析人員經常碰到的情況,認為分析出錯綜復雜的關系,花哨的圖表才能顯示出分析水平高,其實,分析經常要經歷"簡單-復雜-簡單"的過程,前一個簡單表現為分析人員"認為簡單";隨著分析的深入,原以為簡單的問題會越來越復雜;最后,經過概括、消化、分解,使得需求簡單明了。
必須一次到位
由于項目工期緊,或者客戶單位地理位置偏遠,不想反復去現場,希望通過一次需求分析就能得到完整的不再改變的結果。有這種情況時,表現為分析人員對客戶方配合人員窮追猛問,或堅持要求配合人員做出保證,承諾需求范圍不再擴大等等。結果往往是雙方關系緊張,配合人員怕擔責任,提出過多的靈活的、可配置的一些要求,無端增加了后續設計和編碼的工作量。一次到位的想法是不現實的,隨著開發工作的進行,用戶經常會提出以前沒想到的需求,或者更改已有的需求。需求必然有一個迭代的過程,變是不可避免的,關鍵是對于變化的控制,比如通過正規而繁復的流程提高需求變化時客戶付出的代價:告知客戶如此變化將會使工期延長,或需要追加資金等等,盡管對于"軟件屬于買方市場"的現狀來說,開發方往往叫不起這個板,但這樣的控制還是有一定的效果的。
客戶的需求必須全部滿足
陷入這一誤區的分析人員,往往自己的領域知識欠缺,對客戶的需求是否合理,缺乏分辨能力,只能由客戶牽者走,這樣會帶來很大的風險:造成需求冗余,項目返工,更有對需求變化失去控制的危險,隨著項目的開展,整個開發團隊會越來越痛苦。所以必須加深自己的領域知識,變被動接受為主動引導,進而拒絕客戶的不合理需求。
以上所述僅為個人體會,都是些做分析時的基本要求,要做好需求分析工作,還有賴于其他很多因素,如分析方法及輔助分析工具的掌握程度、個人交際能力的高低、語言溝通能力的高低等等,歡迎同行廣泛交流,共同進步。
文章來源于領測軟件測試網 http://www.kjueaiud.com/