淺談軟件開發項目中的需求分析
在網站項目開發上,有了人員配置的初步安排剩下的前期工作就是就是招人和需求分析,如果等人員到位,需求分析還沒來,那進來的人員都只有等著啦。這篇我就主要說說我在這個項目中進行需求分析的一些經驗和做法。
1.1 需求從哪來? 項目管理者聯盟
就我個人經驗來說,軟件項目的需求分析一般要分信息管理系統、網站頻道,這兩個不同方向的需求分析的獲取需求的途徑是截然不同。
信息管理系統的用戶確定,獲取需求的途徑明確,而且有現成的業務模式和業務流程,相關的信息表單、基礎數據等都比較完善,這類項目的需求分析就直接可以從這個信息管理系統的直接用戶那里在前期相對比較容易地獲取到。
網站項目或網站頻道雖然有了比較明確的定位和目標客戶,但這些都是未知數,我們在前期不可能花很多時間與網站將來的目標客戶進行直接地溝通獲取需求,更多的來源是策劃人員、行業專家和自己或老板對這個行業的理解,模擬目標客戶的期望值來獲取需求。
1.2 如何獲取需求?
前面說了軟件項目一般來說就是信息管理系統和網站兩個方面的需求,網站本身的特點就決定了它需求來源很難,而且很多需求不明確、不確定,而且多變,經常做出來后,掛到網上后感覺不爽,又馬上對其進行更改和重新定位。這就需要做需求的一定要注意方法和技巧,而且自己要對所做網站的核心定位和目標客戶有深刻的理解和了解。
1、多與老板和所做網站的行業專家溝通、交流。一般來說老板投資準備做一個網站,他本身肯定對網站將來的走向和目標有個清楚的定位,而且前期肯定做了很多的市場分析、目標客戶分析及前景預測。但我們在與老板溝通的過程當中不被老板當時的雄心壯志和其描繪的宏偉藍圖給框住了,站在我們的角度一定要去向老板了解,要完成這個目標,我們網站到底要提供些什么功能,實現些什么東西,向目標客戶提供哪些服務。比較說老板要做一個有特色的、行業內的專業博客頻道,作為我們就需求想或向老板問清楚,準備通過什么東西或內容來突出我們的特色?行業到底有多大?怎么突出專業?這個博客只是一個頻道呢還是要與其他頻道或功能進行集成?用戶能通過什么途徑來寫博客(比如說網站、手機、PDA等)等等像這樣具體的東西。這里只是舉個例子,作為需求分析人員來說要問的還要比這細、深的多。與老板的溝能和交流更多可能只會停留在目標和價值上,具體的、深入的需求還是要向行業專家進行咨詢,比如說前面的幾個問題有些老板可能回答不了,這些就需求行業專家解答,如行業中有沒有小行業,這些小行業是怎么劃分,他們都有些什么特色。因為這些信息都會直接影響到網站將來的功能和頻道的表現形式和內容。
2、多收集和分析同行的網站。現在行業的網站很多,在著手進行一個新網站的時候一定要多分析他們的網站,包括他們的核心定位,實現核心定位的功能和頻道;核的目標客戶,他們怎么向這些核心客戶提供有價值的服務;這些網站的特色在哪里,行業內還有哪些他們沒做或沒做好的等等方面去分析。在分析的過程當中***用EXCEL按網站列出一些分析指標出來作橫向的對比。比如說醫療類很多網站都有博客,針對一這塊就可以列出一些分析指標出來:是用開源的還是自己開發的?寫博客的核心群體主要有哪些?他們是怎么管理這些博客文章的等等。有些對行業內網站深入和仔細的分析后,也就可以結合老板及行業專家的需求和意見提煉出自己所要做網站的一部分需求及需求的細節。
3、多做表格和寫文檔。人的思維在很多時候是在表格的橫向和縱向比較的時候打開的,特別是意見和同類需求有很多種不想法的時候,用表格表現出來是最直觀而且最容易歸納總結的,比如上分析同行網站的時候就可用表格的形式作橫向比較(前面我有篇文章就是我以前在做HIS系統時的一份需求文檔中的一部分,大家可以參考參考)。好記心頂不過一個爛筆頭,所以一定要有記筆記和寫文檔的習慣,這點對于經常作開發的人員來說可能是最頭痛的事情。其實我個人認為寫文檔并不難,因為文檔本身來說它只是用來交流和溝通的一種形式而已,作為應用型的文檔對于文理、文采根本沒有很高的要求,一份文檔你只要把你所要表述的意思表達清楚就可以,沒必要過多地去追求寫作方面的一些技巧,哪怕你就是把口頭語言用文檔記錄下來都可以。看我寫的這些東西,文采和文理根本就談不上啦,但意思一定要表達清楚(呵呵,不敢說完全表達清楚了)。
1.3 如何處理需求?
通過以上方法和途徑需求就會有個初步的書面資料和相關的市場和客戶的分析,接下來就是這些需求怎么處理。一般從老板、行業專家和目標客戶那里得到的需求都是很零散而且很專業的需求,作為需求分析人員就需要對這些需求進行疏理、歸納、匯總、綜合形成一份初步的面向老板或行業專家能理解的文檔(切記,暫時還不能轉成軟件開發的需求文檔,因為這樣以后你的老板或行業專家就不一定能看得懂啦)。
形成文檔后,對這份文檔進行初步的分析,包括需求評估、在你對行業理解下的需求發散、技術評估等工作;完成后接著就用相關的工具軟件根據需求做出一個初步的界面原型,因為只有這樣,老板或行業專家才知道他所提出的那些東西最終展現在網站的原來就是這樣噢,這一步有很大的技巧在里面,如果你只是畫一個很粗糙的界面原型與老板或行業專家去溝通他很有可能看不懂,因為這時你還沒有把界面的內容和最終的界面表現出來,所以在做這個原型的時候就需求美工參與進來啦,盡量把這些原型界面弄的與將來網站表現出來的界面相似,而且還要把界面的內容充實,弄些有意義的數據(開發人員***的毛病就是在做界面或做開發的時候的測試數據就是aaa,bbb,ccc)。
可能有些人對于上面的這種做法有疑問,但我個人認為這個時候如果不做界面原型而放到后去做,很有可能你的某些頁面要推倒重做,因為老板或行業專家所提出的需求只是意識形態上的一些東西,而他們很難會想到這些東西在你的整合會變成什么樣子,可能在你弄完這份需求后腦子里面已經有了所有界面的全部原型和功能原型。
需求分析在一個項目開發的過程當中是一個很重要的環節,也不是一篇文章能說得清道得明的,我這里只是我在這個項目當中的一經驗和技巧,希望對大家有所借鑒,也希望大家針對怎么做需求分析多討論。
【編輯推薦】