很多人認(rèn)為,軟件的需求過程只有在做企業(yè)的軟件時才用的上,因為要和客戶打交道,要定需求才開發(fā)系統(tǒng),原則上這樣去做企業(yè)軟件是沒有問題,需求的過程管理,更多的是為了界定需求的邊界防止客戶扯皮的問題,也為以后的系統(tǒng)現(xiàn)實階段奠基石.而網(wǎng)站,互聯(lián)網(wǎng)的產(chǎn)品更多的好像沒有這個需求的過程,我做的那個JJY的產(chǎn)品,基本上需求是是大家湊出來,過程基本上沒有,需求的過程控制的很一般.沒有內(nèi)功,不知道以后在產(chǎn)品需求發(fā)生變化或擴大時會有什么問題發(fā)生.
以下是做企業(yè)軟件的需求過程管理以作為參考:
眾所周期,軟件需求分析是軟件生命周期的第二階段,主要對前期軟件定義及計劃階段提到的任務(wù)及計劃進(jìn)行概要的補充,需求分析的主要任務(wù)不是確定將來的系統(tǒng)怎么完成某項工作,這是設(shè)計階段的事情,而是明確系統(tǒng)將要完成什么功能,對目標(biāo)系統(tǒng)將要完成的功能提出完整、準(zhǔn)確的描述等;在我們國內(nèi)很多軟件公司里,需求分析階段與設(shè)計階段沒有明確的界線,需求分析階段的很多工作,都會放到設(shè)計階段來做或干脆不做,一般很少嚴(yán)格按照軟件工程的方法來執(zhí)行(通過CMM認(rèn)證的軟件公司還好些),大多數(shù)人理解下的需求分析階段的任務(wù)主要還是分三部分:需求的收集、需求整理與編寫及最終的評審,在此就這幾個階段中經(jīng)常遇到的問題作一下大體描述。
一、 需求的收集
無論是老產(chǎn)品的改造還是新產(chǎn)品的開發(fā),都需要收集大量的需求作為改造的重點對象,需求的收集也可籠統(tǒng)的分二大部分:內(nèi)部需求與外部需求;內(nèi)部需求一般包括軟件在維護(hù)過程中客戶反饋的未處理的需求、公司內(nèi)部其它各部門在實施軟件過程中反饋的需求及設(shè)計或研發(fā)人員在工作當(dāng)中總結(jié)的對軟件易用性、效率等方面的需求,還包括研究競爭對手的軟件而得出的需求等;外部需求一般包括軟件實施人員或代理商對產(chǎn)品提出的改造建議、設(shè)計人員直接到客戶現(xiàn)場調(diào)研、通過與客戶溝通而得到的需求等。在收集需求的過程中常會遇到以下幾方面的問題:
1、 誤解客戶需求,一般情況下需求分析人員與客戶在業(yè)務(wù)術(shù)語表達(dá)上有所不同,交流過程中可能會理解有誤,特別對于有二義性的需求,會導(dǎo)致分析人員誤解客戶的需求,也可以理解為需求表達(dá)比較模糊,不同的人有不同的理解。
2、 需求的不確定性,一是分析人員對需求把握不準(zhǔn),有些從各個渠道反饋回來的需求有些失真,不能完全表達(dá)客戶的意愿;二是客戶需求的變動較大,不確定,不到真正實用很難表達(dá)清楚要實現(xiàn)的功能。
3、 對時間的合理規(guī)劃,收集過程中經(jīng)常感覺時間太緊,無法完整的收集到客戶的需求,這一點主要還是跟事先沒有計劃好有關(guān),需求的收集是一個長期的過程,而不是在某一時間段內(nèi)就能收集完的,好的需求在于平時的積累,是在日常維護(hù)工作中逐漸收集形成的。
4、 善于主動尋找需求,而不是坐等需求,收集需求的過程中,要通過各種途徑來收集,主動跟客戶或同事交流,這樣才能在溝通過程中得到很多需求,這點主要還是在于分析人員的溝通能力。
二、 需求的整理與編寫
需求收集完成后,此階段的任務(wù)主要對需求進(jìn)行過慮、分類整理及編寫需求規(guī)格,需求的整理不權(quán)是分分類、寫寫需求規(guī)格,還要對每個需求進(jìn)行分析,確定這個需求將來做不做,及實現(xiàn)的優(yōu)先級是什么(是高、中還是低),這一階段對分析人員的要求比較高,要縱觀全局來考慮,充分考慮到每個需求點對整個系統(tǒng)的影響等,最終形成軟件需求規(guī)格說明書。這一階段常見的問題有以下幾方面:
1、 缺乏對需求的深入理解,需求分析這個崗位在很多軟件公司都是虛擬的,沒有專人負(fù)責(zé),一般由設(shè)計或開發(fā)人員來負(fù)責(zé),這樣往往會導(dǎo)致對業(yè)務(wù)的需求不能深入理解,在系統(tǒng)把握能力上略顯不足,導(dǎo)