需求術(shù)語(yǔ)的概覽
什么是需求?什么是需求分析?什么是需求跟蹤?什么是需求獲取?什么是需求規(guī)格?什么是需求驗(yàn)證?什么是需求變更?……一堆關(guān)于需求的問(wèn)題,一堆關(guān)于需求和需求管理的惱人問(wèn)題,需求真的很重要嗎?那為什么如此難以把握?為什么在軟件工程中如此難以應(yīng)用呢?
您作為從事項(xiàng)目開(kāi)發(fā),尤其是軟件項(xiàng)目開(kāi)發(fā)的負(fù)責(zé)人,需求分析師,系統(tǒng)架構(gòu)師,程序員,測(cè)試人員,維護(hù)人員,項(xiàng)目的使用者,只要您是項(xiàng)目開(kāi)發(fā)和應(yīng)用中的一位成員,您一定思考過(guò)上述的問(wèn)題,或許您曾為此問(wèn)題曾經(jīng)與人激烈討論過(guò),或許您已經(jīng)疲于爭(zhēng)論已經(jīng)在實(shí)際的項(xiàng)目中應(yīng)用您的認(rèn)識(shí)和體會(huì)了。
上述這些話,在 IBM 或者軟件行業(yè)協(xié)會(huì)舉辦的需求管理講座上,我以 IBM Rational 產(chǎn)品講師的身份曾經(jīng)多次詢問(wèn)過(guò)客戶和聽(tīng)眾,他們每每給予我的回應(yīng)除了無(wú)奈的笑之,就是帶著期許的眼光等待著我給出回答。
什么是需求
對(duì)于第一個(gè)問(wèn)題:什么是需求?很多需求專家和權(quán)威機(jī)構(gòu)已經(jīng)給出了他們的描述,為什么是描述而不是定義呢?“因?yàn)檐浖a(chǎn)業(yè)存在的一個(gè)問(wèn)題就是缺乏統(tǒng)一定義的名詞術(shù)語(yǔ)來(lái)描述我們的工作??蛻羲x的“需求”對(duì)于開(kāi)發(fā)者似乎是一個(gè)較高層次的產(chǎn)品概念。而開(kāi)發(fā)人員所說(shuō)的“需求”對(duì)用戶來(lái)說(shuō)又象是詳細(xì)設(shè)計(jì)了。實(shí)際上,軟件需求包含著多個(gè)層次,不同層次需求從不同角度與不同程度反映著細(xì)節(jié)問(wèn)題:
---IEEE 軟件工程標(biāo)準(zhǔn)詞匯表(1997)中需求為:
(1)用戶解決問(wèn)題或達(dá)到目標(biāo)所需的條件或能力
(2)系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力
(3)一種反映上面(1)或(2)所描述的條件或能力的文檔說(shuō)明?!?BR>---Jones 認(rèn)為“需求是用戶所需要的并能觸發(fā)一個(gè)程序或系統(tǒng)開(kāi)發(fā)工作的說(shuō)明 ----(Jones 1994)”
---Alan 認(rèn)為“從系統(tǒng)外部能夠發(fā)現(xiàn)系統(tǒng)所具有的滿足于用戶的特點(diǎn)、功能及屬性等 ----(Alan Davis 1993)”
---S&S 認(rèn)為“需求是指明必須實(shí)現(xiàn)什么的規(guī)格說(shuō)明。它描述了系統(tǒng)的行為、特性或?qū)傩?,是在開(kāi)發(fā)過(guò)程中對(duì)系統(tǒng)的約束 ----(Sommerville and Sawyer 1997)”
所以引出上述這些描述,是因?yàn)槲覀冏屑?xì)閱讀上述權(quán)威機(jī)構(gòu)和專家的描述,可以發(fā)現(xiàn),他們分別從用戶,從系統(tǒng),從系統(tǒng)部件,從作用,從實(shí)現(xiàn)等不同方面對(duì)需求進(jìn)行了闡述,至少通過(guò)上述的描述我們可以知道,需求基于不同的立場(chǎng)和角度是可以有不同的理解的,這也是為什么總是會(huì)有人針對(duì)什么是需求喋喋不休的爭(zhēng)論,而最終誰(shuí)也無(wú)法說(shuō)服誰(shuí)的場(chǎng)景在軟件開(kāi)發(fā)過(guò)程中層出不窮的原因。那么誰(shuí)會(huì)對(duì)需求有不同的立場(chǎng)和角度呢?干系人,同項(xiàng)目或者系統(tǒng)有關(guān)的干系人(Stakeholder),前文我們提到的軟件項(xiàng)目開(kāi)發(fā)的負(fù)責(zé)人,需求分析師,系統(tǒng)架構(gòu)師,程序員,測(cè)試人員,維護(hù)人員,項(xiàng)目的使用者等等,這些都是需求的干系人,因?yàn)橛懈上等说拇嬖?,就?huì)有基于不同立場(chǎng)和角度的需求認(rèn)識(shí),這樣就會(huì)形成不同類型的需求,因此當(dāng)我們?cè)谔接懯裁词切枨髸r(shí),我建議大家不要忘了思考我們正在針對(duì)何種類型的需求在進(jìn)行探討,探討的目的是什么。
至此如果我們接受了從需求分類的角度考慮什么是需求。那么什么是需求分析?什么是需求跟蹤?什么是需求獲?。渴裁词切枨笠?guī)格?什么是需求驗(yàn)證?什么是需求變更?……也就是我們?cè)撊绾卫斫獠⒔M織這些需求活動(dòng)和術(shù)語(yǔ)呢?
需求術(shù)語(yǔ)的組織結(jié)構(gòu)
對(duì)于第二個(gè)問(wèn)題,如何理解和組織眾多需求術(shù)語(yǔ)和活動(dòng)。本文借鑒需求管理專家 Wiegers 在《Software Requirements》一書中對(duì)于這些需求活動(dòng)和概念的描述與分類, 需求工程:需求開(kāi)發(fā)和管理的過(guò)程。它包括了需求開(kāi)發(fā)和需
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html