如何進行需求的分析與挖掘?
其實這個問題不應該成為一個問題,因為一個真正意義上的的項目經理是不需要去做需求分析的,而應該是讓專職的需求分析人員去做。我 的理 解,項目經理在工作過程中,與需求沾邊的工作應該是對于項目范圍的定義:確定哪些是在項目中要做的,哪些是不用去理會它的,清楚地定義項目的邊界。除此之 外,其它的工作都應該交由專門的人員去進行專業的信息采集與處理。但大家都知道,在實際的工作中,項目經理往往是既當爹來又當媽,一個人做N個人的活,尤 其是當項目不大的時候,項目經理更是要一馬當先地什么都做,幾手都要抓,同時,老板對你的期望又是幾手都要硬。因此,從現實的角度考慮,這個問題還是要探 討一下的。
記得我剛從學校畢業到公司的時候,曾無知地告訴老板說我對需求分析還是很有經驗的,老板當時就笑著對我說,其實要想成為一個有經驗的需 求分析人員,起碼要有十年的工作經歷。當時只是覺得老板嫌我剛出道罷了,但做了一些項目之后,我對于需求分析這件工作有了更深刻的認識,也清醒地了解到需 求分析真不是一件容易做的事。
首先,是我們對領域知識的缺乏。客戶所在的領域并不都是我們所熟知的,這不像是在學校里做課程設計,不是圖書館管理系統,就是學生管理 系統,連蒙帶猜也能編出來。行業的多樣性必然會導致需求領域知識的多樣性,面對這樣的困境,又怎么能要求我們在與客戶短短的幾次交談中就獲取足夠的信息來 完成一個復雜的軟件產品呢。
其次,客戶對需求的理解與傳達不足。需求很明顯是由客戶傳遞給項目組的。客戶在解釋需求的時候,有時就會帶有很大的含混性,而且客戶對 需求的說明不能做到完全的正確。如果是與外國人交流,那信息的損失就會更大。在與外國客戶的交往中,英語國家的人可以用母語與你交談還算是慶幸了,遇到了 母語不是英語的國家的客戶與你交談,那兩個人都要非母語進行交談,雙方都夠把心里想的東西表達出70%以上就算是非常成功的交流了。同樣,分析人員在對需 求進行吸收的時候也會產生誤解,一些信息也會被遺漏掉。靠這樣獲取的需求進行開發,結果是可想而知的了。
要解決上述的問題,似乎沒有什么比經驗更好的辦法了。對于某一行業領域的熟悉,需要一定時間的積累,了解了一定的知識之后,就能更容易 得與客戶進行有效的溝通,獲取項目中需要的信息。需求對于項目的重要性不用多說,一個項目至始至終都是為了達到讓客戶滿意的目的,滿足客戶的需求,其實是 一種對需求含混性降低的過程。為了達到這一目的,還有一些稱為方法的步驟可以讓我們減少對需求的誤解:
1.細晰地劃分項目干系人(Stakeholder):尤其是分清什么是客戶,什么是使用者。在了解需求的時候,我們能從哪些人中獲取信息。同時還要注意到,獲取的信息是否得到負責人的確認。
2.需求分析會議:與客戶的會議當然必不可少。從中盡 可能多的找出不清楚的地方,及時的提出,如果客戶允許可以進行錄音,不過這一招估計很難做到,大部分時候客戶可不想留下自己的話柄。與項目組成員的開會是 為了在組內加深對需求的了解,集思廣義,再用點頭腦分暴之類的東東,可以發現更多的求知問題。
3.在初始的需求得到后,要對其進行細致的分析,劃分功能塊及其屬性和約束條件。
更多的知識,可以參考溫伯格的《探索需求——設計前的質量》。
載自: http://www.zxbc.cn/html/20080112/31289.html