測(cè)試用例、實(shí)現(xiàn)代碼等)的關(guān)系。這些關(guān)系又稱(chēng)之為“需求 追蹤矩陣”。 一旦需求發(fā)生變化,影響面很廣,要評(píng)估與實(shí)施需求變更,首先要確認(rèn)需求變化帶來(lái)的沖擊面。這個(gè)工作就要依賴(lài)于“需求追蹤矩陣”體系。這也是我們?yōu)槭裁匆研枨髼l目化的一個(gè)重要原因。
條目化的需求,用MS Word難以管理,一般需要存放在數(shù)據(jù)庫(kù)中。
但條目化不能解決一個(gè)古老的問(wèn)題,即如何能把需求描述清楚。需求必須要寫(xiě)的清晰明確,完整,確保開(kāi)發(fā)人員不需要為一個(gè)模糊的需求做決定,尤其是不要自行發(fā)揮。我推薦使用wiki來(lái)描述需求的細(xì)節(jié),加上UI prototype,形象的描述需求。wiki最大的好處在于協(xié)同修改很方便。
另外一些實(shí)踐能夠幫助需求開(kāi)發(fā)工程師提高需求編寫(xiě)質(zhì)量:
?。?、記錄每條需求的原因。有研究成果表明,通過(guò)記錄每條需求的原因(即為什么要實(shí)現(xiàn)這個(gè)功能),可以刪除多達(dá)半數(shù)的所謂“需求”。雖然在記錄工作上投入了一定的工作量,但是有效地避免了為那些不必要的需求所要完成的后續(xù)工作,可以顯著地降低系統(tǒng)規(guī)模、縮短系統(tǒng)開(kāi)發(fā)周期,正所謂“事半功倍”。
2、盡可能考慮采用適當(dāng)形式化的方法。由于自然語(yǔ)言存在歧義,一個(gè)二義性的描述因此可能導(dǎo)致對(duì)于同一個(gè)需求的不同解釋?zhuān)捎眯问交硎痉椒ň帉?xiě)需求能夠更加準(zhǔn)確地在用戶(hù)和開(kāi)發(fā)團(tuán)隊(duì)間進(jìn)行溝通。常用的形式化需求表示方法包括:實(shí)體關(guān)系圖、數(shù)據(jù)字典、數(shù)據(jù)流程圖、USE CASE等。當(dāng)然還是 UI prototype最直接,簡(jiǎn)單,有效。
?。?、使用專(zhuān)業(yè)的工具編寫(xiě)需求,管理需求。這類(lèi)工具由于沒(méi)有成熟的理論指導(dǎo),客戶(hù)的要求各有不同,市場(chǎng)上相應(yīng)的工具不多。漢星天公司一直致力于這方面的研究,推出了相應(yīng)的需求描述,需求變更管理的解決方案;并在中國(guó)上百家大企業(yè)得到非常好的效果。
用戶(hù)需求 vs軟件需求
需求,誰(shuí)來(lái)寫(xiě)呢?我們先看看兩個(gè)定義需求的名詞:
用戶(hù)需求 - 用戶(hù)對(duì)于其需要解決的問(wèn)題以及期待的軟件能力的描述。通常以用戶(hù)的語(yǔ)言描述,用作開(kāi)發(fā)團(tuán)隊(duì)與用戶(hù)就系統(tǒng)如何解決問(wèn)題進(jìn)行溝通的橋梁。
軟件需求 - 建立在用戶(hù)需求之上,以開(kāi)發(fā)團(tuán)隊(duì)所能理解的方式描述系統(tǒng)所應(yīng)具有的功能,是開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)的依據(jù)。
我了解的一般的客戶(hù),寫(xiě)個(gè)word文檔,發(fā)封email,或打個(gè)電話(huà),就把需求甩給開(kāi)發(fā)團(tuán)隊(duì)了。能寫(xiě)一個(gè)結(jié)構(gòu)完整、內(nèi)容嚴(yán)謹(jǐn)需求的客戶(hù)很少。在美國(guó),基本上用戶(hù)會(huì)寫(xiě)需求,RFP(Request for Proposal)。國(guó)內(nèi)有時(shí)候項(xiàng)目經(jīng)理或做需求分析的工程師會(huì)幫助用戶(hù)整理用戶(hù)需求。用戶(hù)需求比較粗。有了用戶(hù)需求之后,再對(duì)其細(xì)化,寫(xiě)出軟件需求。對(duì)于應(yīng)用系統(tǒng)來(lái)說(shuō),軟件需求寫(xiě)好了,開(kāi)發(fā)的工作就簡(jiǎn)單多了。
這兩種需求分別記錄。里程碑一般以用戶(hù)需求為目標(biāo)。用戶(hù)需要關(guān)聯(lián)到多個(gè)軟件需求上。
項(xiàng)目規(guī)劃和進(jìn)度監(jiān)控
將需求作為項(xiàng)目規(guī)劃和實(shí)施的目標(biāo),這是RDPM的核心。一切以需求為中心。
通過(guò)小版本發(fā)布逐步實(shí)現(xiàn)需求
在項(xiàng)目計(jì)劃和進(jìn)度控制方面,我們采用迭代的方法。
將項(xiàng)目目標(biāo)分解為較小的、易于管理的子目標(biāo),這對(duì)于減少項(xiàng)目失敗風(fēng)險(xiǎn)很有幫助。項(xiàng)目目標(biāo)分解可以從各個(gè)角度進(jìn)行,采用小版本發(fā)布分階段實(shí)現(xiàn)項(xiàng)目需求是目前越來(lái)越被認(rèn)同的一種。尤其是現(xiàn)在流行的敏捷開(kāi)發(fā)方法,更是提倡迭代開(kāi)發(fā)。有個(gè)普遍的誤解就是以為敏捷開(kāi)發(fā)方法只適用于小規(guī)模的開(kāi)發(fā)團(tuán)隊(duì),其實(shí)對(duì)大的團(tuán)隊(duì)一樣適用。
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線(xiàn)啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html