需求管理(Requirement management)是完整管理模式中的一環(huán),同其他特性諸如完整性、一致性等不可分割,彼此相關(guān)而成一體。一套需求管理應(yīng)當(dāng)是已知系統(tǒng)需求的完整體現(xiàn),每部分解決方案都是對總體需求一定比例的滿足(甚至是充分滿足),僅僅解決部分需求是沒有意義的。對關(guān)鍵需求的疏忽很可能是災(zāi)難性的,試想一架飛機的安全設(shè)計不過關(guān)將會帶來什么樣的后果。不同的需求組合起來,構(gòu)成了一套完整的需求模型。用戶需求決定了系統(tǒng)設(shè)計所要解決的問題,所要帶來的結(jié)果??梢哉f,需求管理指明了系統(tǒng)開發(fā)所要做和必須做的每一件事,指明了所有設(shè)計應(yīng)該提供的功能和必然受到的制約。
需求管理的過程,從需求獲取開始貫于整個項目生命周期,力圖實現(xiàn)最終產(chǎn)品同需求的最佳結(jié)合。通過對需求管理在項目進(jìn)程中實施的不同任務(wù)進(jìn)行分析,我們可以看出需求管理所起的作用。
需求管理本就是一個動態(tài)的過程,離開了能動的、變化的系統(tǒng)進(jìn)程而空談需求管理,無異于紙上談兵。
需求管理恰如裁縫的量體裁衣,它直接關(guān)系到最終產(chǎn)品的成型。僅從字面出發(fā),如果一個產(chǎn)品滿足了客戶需求,那它無疑就是成功的。需求管理的過程,從需求分析開始貫穿整個項目始終,力圖實現(xiàn)最終產(chǎn)品同需求性的最佳結(jié)合(參見Figure 1)。通過對需求管理在項目進(jìn)程中實施的不同任務(wù)進(jìn)行分析,我們可以看出需求管理所起的作用。
需求管理能夠確證:
● 我們確知客戶的需求是什么(質(zhì)量);
● 滿足客戶需求的最佳解決辦法(統(tǒng)一性);
著名學(xué)者CROSby對于質(zhì)量的定義是"同需求保持統(tǒng)一"。從這個意義上說,需求管理正是從質(zhì)量出發(fā)以確定需求。每個人都應(yīng)當(dāng)始終明白他們所做的具體任務(wù)其意義何在。然而,在一個產(chǎn)品的生命周期里,其需求性是能動的,是處于變化之中的。
對于系統(tǒng)工程沒有嚴(yán)格統(tǒng)一的定義,因此很難找到足夠的數(shù)據(jù)以說明系統(tǒng)工程所起的作用。有些致力于研究需求分析的組織認(rèn)為,一項開發(fā)計劃應(yīng)當(dāng)至少將8-15%的資源投入到系統(tǒng)工程方面。如果低于這一標(biāo)準(zhǔn),將很可能導(dǎo)致無法對客戶群做出準(zhǔn)確把握。如果該項開發(fā)計劃含有許多創(chuàng)新或?qū)嶒灥某煞?,那么這一百分比還應(yīng)當(dāng)適度提高。
一、概述
定義需求(Define Requirement)
在項目進(jìn)展過程中,如何區(qū)分用戶需求與需求分析中需求定義呢?
當(dāng)完成用戶需求調(diào)查后,首先對《用戶需求說明書》進(jìn)行細(xì)化,對比較復(fù)雜的用戶需求進(jìn)行建模分析,以幫助軟件開發(fā)人員更好地理解需。例如采用Rational 的Rose工具進(jìn)行需求的建模分析。如果使用工具進(jìn)行建模分析,對需求分析人員的要求比較高。
當(dāng)完成需求的定義及分析后,需要將此過程書面化,要遵循既定的規(guī)范將需求形成書面的文檔,我們通常稱之為《需求分析說明書》。
邀請同行專家和用戶(包括客戶和最終用戶)一起評審《需求規(guī)格說明書》,盡最大努力使《需求規(guī)格說明書》能夠正確無誤地反映用戶的真實意愿。需求評審之后,開發(fā)方和客戶方的責(zé)任人對《需求規(guī)格說明書》作書面承諾。具體的同行評審詳見需求評審章節(jié)。
需求確認(rèn)(Requirement Validate)
需求確認(rèn)是需求管理過程中的一種常用手段,也是需求控制的五一節(jié)之一;確認(rèn)有兩個層面的意思,第一是進(jìn)行系統(tǒng)需求調(diào)查與分析的人員與客戶間的一種溝通,通過溝通從而對需求不一致的進(jìn)行剔除;另外一個層面的意思是指,對于雙方達(dá)成共同理解或獲得用戶認(rèn)可的部分,雙方需要進(jìn)行承諾。
建立需求狀態(tài)(EStablish Requirement STate)
何謂需求狀態(tài);顧名思義,狀態(tài)也就是一