地方,“需求的變化是永恒,需求不可能是完備的”。因此我們在需求獲取的時候,一方面應(yīng)該跟用戶講清楚需求開發(fā)的重要性,讓用戶明白減少后期的需求變更的重要性,且隨意的需求變更帶來的風(fēng)險(成本增加、進(jìn)度延后等)必將由用戶和開發(fā)者共同承擔(dān)。另一方面也需讓用戶明白:開發(fā)者和用戶更多的是戰(zhàn)略合作伙伴關(guān)系,其共同的目標(biāo)是:開發(fā)出適合用戶需要的軟件。
2、需求分析
問題一:主次不分
需求分析人員常站在自身的角度去理解用戶的需求造成主次不分。而實際上不同的系統(tǒng)對系統(tǒng)的功能與非功能性需求要求很不一樣。比如,金融系統(tǒng)一般對系統(tǒng)的安全質(zhì)量要求比較高。企業(yè)ERP系統(tǒng)一般對信息傳遞速度要求高一些。針對這種情況,首先需求分析人員可以借用當(dāng)前的需求分析工具和圖形的方式,明確用戶的功能需求和非功能需求,特別注意產(chǎn)品性能、使用性、完整性、可靠性等非功能性需求。其次就要充分考慮到哪些需求是相對固定的需求,哪些可能會產(chǎn)生變動的需求,哪些需求會牽一發(fā)而動全身,區(qū)分這些需求,設(shè)定用戶的每項需求、特性或使用實例的優(yōu)生級并安排在特定的產(chǎn)品版本或?qū)崿F(xiàn)步驟中,以應(yīng)付客戶后期的需求變更。
問題二:需求分析時間不夠
這個問題非常普通,用戶認(rèn)為“我出錢你出力,當(dāng)然以我的要求為準(zhǔn)”,但實際上不合理的要求會導(dǎo)致項目失敗,拿一個簡單的例子來說明:假如1個人需要干100天時間才能把某件事情完成,為了趕進(jìn)度,現(xiàn)在增加人數(shù),選100個人干一天把這件事情做完。絕大多數(shù)人都會認(rèn)為是不可能實現(xiàn)的。軟件項目也是如此,它有一個最短周期,也就是說無論你如何增加資源追趕進(jìn)度,都無法再縮短時間,在關(guān)鍵路徑上增加人力、物力資源,或許還會添亂。一般需求開發(fā)工作應(yīng)占全部工作量的15%。所以用戶方與開發(fā)方必須達(dá)成共識留足夠的時候給需求分析。
3、需求規(guī)格說明編寫
問題一:文檔混亂,文字表述過多
需求文檔是需求人員對前期工作的總結(jié)。需求人員寫出的文檔混亂,圖形連線錯綜復(fù)雜。首先是需要理清思路:需求的描述可以從2個方面來進(jìn)行描述,一方面是對用戶現(xiàn)行系統(tǒng)的描述,一方面是對系統(tǒng)未來的設(shè)想。構(gòu)成企業(yè)信息系統(tǒng)主要包括基本要素:企業(yè)的組織結(jié)構(gòu)、流程、數(shù)據(jù)、商務(wù)規(guī)則與功能,其中從用戶的角度主要關(guān)注流程,是以流程為中心,通過流程將其他幾個要素貫穿起來,需求分析人員也應(yīng)該從這個角度來和用戶溝通;從開發(fā)者的角度主要關(guān)注企業(yè)的數(shù)據(jù)、商務(wù)規(guī)則與功能,以便于系統(tǒng)的實現(xiàn);從實施者的角度主要關(guān)注企業(yè)的組織結(jié)構(gòu)與功能,以便于系統(tǒng)的發(fā)布與實施。企業(yè)組織結(jié)構(gòu)是用戶企業(yè)業(yè)務(wù)流程與信息的載體,對分析人員理解企業(yè)的業(yè)務(wù)和系統(tǒng)范圍有幫助;業(yè)務(wù)流程圖把企業(yè)的業(yè)務(wù)流程與部門職責(zé)結(jié)合起來了,且形象直觀;企業(yè)的數(shù)據(jù)(各種單據(jù)、帳本、報表等)可采用描述分類、格式化;企業(yè)商務(wù)規(guī)則與功能可以采用分類方法進(jìn)行。其次盡量采用SRS(需求規(guī)格說明書),較好的模板為IEEE標(biāo)準(zhǔn)830-1998描述的SRS模板,下面是一個常見的需求說明書的模板:
1. 前言(目的、范圍、定義、縮寫詞、略語)
2. 項目概述 (產(chǎn)品描述、產(chǎn)品功能、用戶特點(diǎn)、一般約束、假設(shè)和依據(jù))
3. 功能性需求 (功能需求1、功能需求2….)
4. 外部接口 (用戶接口、硬件接口、軟件接口、通信接口)
5. 性能需求
6. 設(shè)計約束 (其他標(biāo)準(zhǔn)的約束、硬件的限制)
7. 屬性
8. 其他需求(數(shù)據(jù)庫….)
9. 附錄
10. 索引
4、需求論證
問題六:需求文檔口頭達(dá)到共識,缺乏文字依據(jù)
有時候因為時間緊湊或其他原因,即使達(dá)到了一致的共識,多數(shù)的用戶單位都不愿意在需求文檔上簽字。這種情況有可能導(dǎo)致后期需求不斷變更,需求變更影響軟件開發(fā)的進(jìn)度、成本,甚至有可能使得軟件開發(fā)中止。對策:需求分析人員與用戶建立良好的溝通渠道,強(qiáng)調(diào)需求文檔書面認(rèn)可的重要性,期望得到用戶的理解。
總結(jié):
綜上所述,多數(shù)軟件項目都是在時間緊、人員少、項目預(yù)算有限的條件下完成的。在這些“先天不足”的條件下,如何做到項目進(jìn)度不延遲、工作量不超期、費(fèi)用不超支?首先就是關(guān)注需求分析。 “良好的開端就成功了一半”,需求分析做好了,對下一步的設(shè)計階段工作真正起到指導(dǎo)性作用,規(guī)避需求開發(fā)過程存在的問題,成功的軟件項目指日可待。
項目經(jīng)理勝任力免費(fèi)測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html