所謂需求分析是指通過對問題域的研究,獲得對該領(lǐng)域特性及存在于其中(需要解決)的問題特性的透徹理解并有文檔的說明。需求分析在IT項目中具有十分重要的作用。研究表明,要改正在產(chǎn)品付諸應(yīng)用后所發(fā)現(xiàn)的一個需求方面的缺陷比在需求階段改正這個錯誤要多付出大約100倍的成本。而另一項研究發(fā)現(xiàn),在需求開發(fā)階段發(fā)現(xiàn)的一個錯誤,平均僅需要花30分鐘修復(fù), 但若在系統(tǒng)測試時發(fā)現(xiàn)則需要5到17個小時來修復(fù)。本文結(jié)合作者在實際項目管理工作中的經(jīng)驗,就IT項目中需求分析時應(yīng)注意的主要問題進行了研究分析。
一、與用戶溝通前應(yīng)進行充分溝通
通常,與用戶溝通前的準備時間要遠遠大于正式會面溝通的時間。一般情況下,用戶在和你連續(xù)交談兩個小時之后,就會失去熱情和耐心,這是大部分人的共同特點。所以充分的準備工作至關(guān)重要。
準備工作包括對項目整體環(huán)境熟悉的準備工作和對具體業(yè)務(wù)進行調(diào)研前的準備工作。項目整體環(huán)境的熟悉工作需要了解:項目的背景、項目的目的、項目的利益相關(guān)方等信息,以便對當(dāng)前項目的鷹缽情況有一定了解。
對具體業(yè)務(wù)調(diào)研前的準備工作包括:需求調(diào)研問題的準備、需求調(diào)研模板的設(shè)計、需求調(diào)研時間安排等內(nèi)容。要充分珍視用戶的時間,盡量避免由于準備工作不足而反復(fù)約見用戶,給用戶造成效率低下的印象。一旦發(fā)生這樣的錯誤,以后可能就會很難約見到用戶。
二、主動積極了解客戶業(yè)務(wù)和相關(guān)知識
在計算機技術(shù)方面我們可能非常專業(yè),但對于具體的用戶業(yè)務(wù)可能并不十分清楚。這個項目對用戶是否有幫助、某一系統(tǒng)功能是否有用、某一流程處理是否合理,在不了解用戶業(yè)務(wù)的情況下,我們將很難做出判斷。
因此只有在了解業(yè)務(wù)的基礎(chǔ)上,我們才和用戶有共同的溝通語言和業(yè)務(wù)理解,才能真正理解系統(tǒng)應(yīng)具有哪些功能。筆者曾在經(jīng)銷商管理系統(tǒng)調(diào)研過程中,由于財務(wù)方面的知識有限,使得在對經(jīng)銷商財務(wù)部門的調(diào)研中對部分問題不是特別的理解。
當(dāng)時,筆者向用戶虛心進行請教,并在調(diào)研結(jié)束后及時對自己的財務(wù)知識進行了補充。應(yīng)用領(lǐng)域的知識是無邊無際的,在各種項目的調(diào)研過程中,肯定會出現(xiàn)由于需求分析者缺乏某一領(lǐng)域的知識而影響需求分析工作的準確、順利進行。遇到此類問題時,需求分析者應(yīng)虛心向用戶請教,同時應(yīng)及時補充應(yīng)用領(lǐng)域的知識。最好能夠在調(diào)研前做好充分的準備。
三、對用戶進行正確分類
組織中的用戶在很多方面存在差異,例如:使用系統(tǒng)的頻度和程度、計算機系統(tǒng)知識、所進行的業(yè)務(wù)過程以及個人的素質(zhì)和喜好等。根據(jù)用戶的特點,可對用戶進行一定的分類。將用戶分類并歸納各自特點,詳細描述他們的個性特點及任務(wù)狀況,將有助于需求的獲取和分析?! ?/span>
不同的問題需要詢問不同的人,對于操作細節(jié)的問題,要和實際負責(zé)操作的用戶進行溝通,而對于關(guān)乎全局的問題,則要和相應(yīng)的管理層用戶進行溝通。如通過組織架構(gòu)圖得知倉庫部門有三種角色:倉庫主管、發(fā)貨理貨員、系統(tǒng)操作員。
我們發(fā)現(xiàn)倉庫主管是對全盤業(yè)務(wù)相當(dāng)熟悉的人,他負責(zé)協(xié)調(diào)本部門的全局事務(wù);而發(fā)貨理貨員是部門的主要業(yè)務(wù)執(zhí)行人;系統(tǒng)操作員則是倉庫管理系統(tǒng)的直接操作者。若我們調(diào)研的目的是搞清該部門的整體性流程,我們會很自然地選擇倉庫主管作為訪談的對象。
四、引導(dǎo)用戶,使用戶充分表達自己的想法
在與用戶交談中,如何引導(dǎo)用戶說出他們的需求是非常關(guān)鍵的。恰當(dāng)?shù)奶釂?,會使用戶滔滔不絕,充分發(fā)表自己的意見和建議。而不恰當(dāng)?shù)奶釂枺?/span>