1. 客戶方人員忙,沒有足夠的精力參與需求工作。這個問題表現(xiàn)出了需求過程中缺乏用戶的參與,這樣的需求必定是會出問題的。
2. 客戶看到系統(tǒng)后說不是他們想要的。這個問題對于開發(fā)方是否真正了解了客戶的需求提出了疑問。
3. 客戶的需求又變了。這個問題對于如何確保客戶不能輕易改變需求提出了挑戰(zhàn)。
4. ……
由此,我們可以看出,這其中關(guān)系到需求工作中的幾個問題:What -> How -> Why。我們往往能做到What,但很少能做到How、甚至Why。
1. 需求的層次理論
業(yè)務(wù)需求:描述項目的目標與范圍;
用戶需求:通過用例、場景、事件來描述用戶希望通過軟件實現(xiàn)的內(nèi)容;
功能需求:描述軟件為用戶提供的一系列功能,以滿足用戶的業(yè)務(wù)需要。
通過對于業(yè)務(wù)需求、用戶需求、功能需求的獲取、分析、整理和確認工作,并加入系統(tǒng)的非功能需求及相關(guān)的約束條件,最終形成系統(tǒng)的軟件需求規(guī)格說明文檔。該文檔在項目中具有重要的意義,將為設(shè)計、開發(fā)、測試、驗收起到指導(dǎo)性的作用。
2. 需求工作貫穿于軟件項目生命周期
需求是貫穿于整個項目生命全周期的工作
在項目的前期準備階段,我們需要了解客戶方的業(yè)務(wù)需求;
在項目啟動后的需求工作中,要進行用戶需求的獲取、整理工作;
在獲得用戶需求后,我們要進行分析、討論、確認,并形成最終的軟件需求文檔;
在項目的設(shè)計、開發(fā)階段,需求對于設(shè)計起到定義、指導(dǎo)的作用;
在系統(tǒng)的測試、驗收工作中,需求文檔又起到標準、規(guī)范的作用。
由此可見,在整個軟件項目的生命周期中,需求工作是貫穿項目始終的。需求工作的重要性及我們應(yīng)當對于需求工作重視的必要性可見一斑。
3. 需求工程理論
隨著軟件工程理論的不斷發(fā)展及在實踐中的應(yīng)用和豐富,軟件的需求工作已經(jīng)采用工程化的思想來進行開展。具體來講,需求工程分為兩大部分:需求開發(fā)和需求管理。
需求開發(fā)在項目前期是整個項目中最為重要的工作;
需求管理則是在需求定下基線后重要的項目管理內(nèi)容,它為確保項目的穩(wěn)步進行、順利開展起到重要的作用。
我們在軟件項目的需求工作中,一定要充分應(yīng)用需求工程理論,充分做好需求,以保證軟件項目的順利進行。
三、 需求工作方法論
針對我們在需求工作中遇到的問題,我們在上面已經(jīng)進行了總結(jié)與歸納。為解決在需求工作中遇到的問題,更好的做好軟件項目的需求工作,我們總結(jié)的方法有:
1. 提升業(yè)務(wù)經(jīng)驗
在我們與客戶的交流過程中,我們?nèi)绻麑τ诳蛻舴降?/P>