需求管理
需求開發(fā)的結(jié)果應該有項目視圖和范圍文檔、使用實例文檔、軟件需求規(guī)格說明及相關分析模型。經(jīng)評審批準,這些文檔就定義了開發(fā)工作的需求基線。這個基線在客戶和開發(fā)人員之間就構筑了計劃產(chǎn)品功能需求和非功能需求的一個約定。需求約定是需求開發(fā)和需求管理之間的橋梁,需求管理包括在工程進展過程中維持需求約定集成性和精確性的所有活動。
1.確定需求變更控制過程,確定一個選擇、分析和決策需求變更的過程。所有的需求變更都需遵循此過程,商業(yè)化的問題跟蹤工具都能支持變更控制過程。
2.建立變更控制委員會,組織一個由項目風險承擔者組成的小組作為變更控制委員會,由他們來確定進行哪些需求變更,此變更是否在項目范圍內(nèi),估價它們,并對此評估作出決策以確定選擇哪些,放棄哪些,并設置實現(xiàn)的優(yōu)先順序,制定目標版本。
3.進行需求變更影響分析,應評估每項選擇的需求變更,以確定它對項目計劃安排和其它需求的影響。明確與變更相關的任務并評估完成這些任務需要的工作量。通過這些分析將有助于變更控制委員會作出更好的決策。影響分析可以提供對建議的變更的準確理解,幫助做出信息量充分的變更批準決策。通過對變更內(nèi)容的檢驗,確定對現(xiàn)有的系統(tǒng)做出是修改或拋棄的決定,或者創(chuàng)建新系統(tǒng)以及評估每個任務的工作量。進行影響分析的能力依賴于跟蹤能力數(shù)據(jù)的質(zhì)量和完整性。
4.跟蹤所有受需求變更影響的工作產(chǎn)品當進行某項需求變更時,參照需求跟蹤能力矩陣找到相關的其它需求、設計模板、源代碼和測試用例,這些相關部分可能也需要修改。這樣能減少因疏忽而不得不變更產(chǎn)品的機會,這種變更在變更需求的情況下是必須進行的。
5.建立需求基準版本和需求控制版本文檔確定一個需求基準,這是一致性需求在特定時刻的快照。之后的需求變更就遵循變更控制過程即可。每個版本的需求規(guī)格說明都必須是獨立說明,以避免將底稿和基準或新舊版本相混淆。最好的辦法是使用合適的配置管理工具在版本控制下為需求文檔定位。
6.維護需求變更的歷史記錄記錄變更需求文檔版本的日期以及所做的變更、原因,還包括由誰負責更新和更新的新版本號等。版本控制工具能自動完成這些任務。版本控制是管理需求的一個必要方面。需求文檔的每一個版本必須被統(tǒng)一確定。組內(nèi)每個成員必須能夠得到需求的當前版本,必須清楚地將變更寫成文檔,并及時通知到項目開發(fā)所涉及的人員。為了盡量減少困惑、沖突、誤傳,應僅允許指定的人來更新需求。這些策略適用于所有關鍵項目文檔。
7.跟蹤每項需求的狀態(tài)建立一個數(shù)據(jù)庫,其中每一條記錄保存一項功能需求。保存每項功能需求的重要屬性,它包括狀態(tài)(如已推薦的,已通過的,已實施的,或已驗證的),這樣在任何時候都能得到每個狀態(tài)類的需求數(shù)量。
8.衡量需求穩(wěn)定性記錄基準需求的數(shù)量和每周或每月的變更(添加、修改、刪除)數(shù)量。過多的需求變更"是一個報警信號",意味著問題并未真正弄清楚,項目范圍并未很好地確定下來或是政策變化較大。
9.使用需求管理工具商業(yè)化的需求管理工具能幫助你在數(shù)據(jù)庫中存儲不同類型的需求,為每項需求確定屬性,可跟蹤其狀態(tài),并在需求與其它軟件開發(fā)工作產(chǎn)品間建立跟蹤能力聯(lián)系鏈。