傳統(tǒng)需求分析一般以名為“需求規(guī)格說明書”(Requirement Specification)的文檔為目標(biāo),以固定時長(根據(jù)項目規(guī)模而定,一般2、3周或者更長)為約束,以完成需求文檔為結(jié)束。 那么傳統(tǒng)需求分析究竟面臨那些困境呢?中培偉業(yè)《需求分析于管理最佳實踐》培訓(xùn)專家王老師在這里進(jìn)行了介紹。
王老師指出,經(jīng)歷過傳統(tǒng)需求分析過程的分析師和開發(fā)人員都會有類似的感覺:
l 無論用多長時間來分析需求,總感覺需求沒有完備
l 無論如何研討,已有的需求總感覺不能百分之百明確
l 至項目開發(fā)后期,業(yè)務(wù)部門和技術(shù)部門往往就需求產(chǎn)生糾紛,一般有兩種形式:
1. 技術(shù)部門認(rèn)為頻繁的需求變更不但增加項目壓力,更使已有開發(fā)工作浪費
2. 業(yè)務(wù)部門認(rèn)為軟件系統(tǒng)不能跟進(jìn),影響業(yè)務(wù)發(fā)展
王老師指出,造成上述傳統(tǒng)需求分析方法困境的原因主要有兩點:
l 在項目進(jìn)行的過程中,業(yè)務(wù)需求本身也在發(fā)展變化,從而引發(fā)軟件需求變化。
l 業(yè)務(wù)人員不可能憑空把所有需求都想清楚,只有看到、用到真實的軟件之后,才能逐漸把自己的需求弄清楚。
雖然一次性需求存在諸多問題,但現(xiàn)實中,技術(shù)部門和業(yè)務(wù)部門往往都希望能在這個階段將所有問題想清楚。促使團(tuán)隊這樣做的深層原因在于:
l 從管理的角度考慮,軟件項目需要申請預(yù)算
l 從軟件開發(fā)的角度考慮,需求的每一次變更都需要長的時間和巨大的成本來應(yīng)對,這是技術(shù)部門和業(yè)務(wù)部門雙方都不愿看到的。為了避免項目中進(jìn)行可能的風(fēng)險,雙方都寧可在項目初期盡量把需求凍結(jié)。
第一個原因與項目計劃方式有關(guān);第二個原因與其說是對策,不如說是對傳統(tǒng)開發(fā)方法缺陷的妥協(xié):對企業(yè)級應(yīng)用系統(tǒng)來說,早期需求凍結(jié)不僅是無法做到,而且還會帶來一項隱性的浪費——這種項目開發(fā)出來后,可能有20~30%的功能從上線開始,已經(jīng)不再需要;10~20%的功能的生命周期不超過半年,即費用和人力有相當(dāng)一部分投入到無用的功能開發(fā)中。
業(yè)務(wù)部門和開發(fā)團(tuán)隊依賴文檔進(jìn)行溝通的后果往往是理解出現(xiàn)偏差,開發(fā)出的系統(tǒng)的不能滿足業(yè)務(wù)部門的真正需求,造成浪費。