作為開發(fā)人員,是否常常有人要求您對代碼作一些小小的改動(dòng),從而使現(xiàn)有系統(tǒng)得到改進(jìn)?您是否感覺這樣的請求無處不在?您經(jīng)常依據(jù)的規(guī)格說明書是否完整或精確?是否經(jīng)常不清楚這些需求要表達(dá)的真正意思是什么?是否感覺無法真正解需求,因此覺得目標(biāo)也總是在變化?是否感覺的自己就像是鞭梢,總是隨著客戶的變化而變化。
如果您對以上任一問題的答案是肯定的,那么請繼續(xù)閱讀下文,您的問題很有希望得到解決。作為開發(fā)人員,您可能認(rèn)為需求管理(RM)不如設(shè)計(jì)和實(shí)現(xiàn)技巧來得重要。實(shí)際上,很多開發(fā)人員認(rèn)為 RM 是項(xiàng)目團(tuán)隊(duì)中分析人員的責(zé)任,開發(fā)人員在此過程中的任務(wù)僅限于接收需求規(guī)格說明書。在一個(gè)項(xiàng)目中,如果開發(fā)人員的角色僅限于需求的接受者,那么您會發(fā)現(xiàn)經(jīng)常需要返工。這將導(dǎo)致延誤項(xiàng)目交付日期,縮小項(xiàng)目的范圍,而且導(dǎo)致交付給客戶的項(xiàng)目質(zhì)量不合格。而這些將最終導(dǎo)致客戶不滿,客戶的不滿意反過來又會影響項(xiàng)目團(tuán)隊(duì)的士氣和心情。在成功的項(xiàng)目中,開發(fā)人員在 RM 中涉足的范圍更廣,扮演著較為重要的角色。這使得他們對開發(fā)對象具有更好的控制力,最大程度地減少返工量,最終也就能夠給向客戶交付正確的解決方案。
本文旨在說明在一個(gè)成功的軟件項(xiàng)目團(tuán)隊(duì)中開發(fā)人員在 RM 中扮演的重要角色。此外,本文還提供了一些 RM 實(shí)施方面的技巧,開發(fā)人員可通過應(yīng)用這些技巧,幫助項(xiàng)目團(tuán)隊(duì)在為客戶提供正確的解決方案方面取得更大的成功。
開發(fā)人員為什么要關(guān)注需求管理?
作為開發(fā)人員,您可能認(rèn)為"我沒有時(shí)間進(jìn)行需求管理",或者"RM 與我毫無關(guān)系"。如果情況正是這樣,那么項(xiàng)目團(tuán)隊(duì)如何定義您正在構(gòu)建的系統(tǒng)功能呢?實(shí)際上,您對于項(xiàng)目交付的職責(zé)是由某位人員決定并定義的。無論這位人員只是在頭腦中計(jì)劃著這些需求、在紙上草畫出需求、在正式會議上討論了需求,還是將需求正式記錄在需求文檔中,每個(gè)軟件開發(fā)團(tuán)隊(duì)都要涉及某種形式的需求管理。他們可能并沒有意識到,因?yàn)樗麄兊?RM 實(shí)踐可能極其不規(guī)范。不管怎樣,所有軟件團(tuán)隊(duì)都要進(jìn)行某種程度的 RM。問題只是您的軟件團(tuán)隊(duì)的 RM 實(shí)踐的規(guī)范化程度如何。
理解開發(fā)人員在 RM 中的重要性,有助于反映 RM 的目的。RM 的目的是在客戶和軟件組之間建立共識,其內(nèi)容包括查找、文檔化、組織并跟蹤不斷變化的需求。與客戶達(dá)成共識是計(jì)劃和管理項(xiàng)目的基礎(chǔ)。如果項(xiàng)目團(tuán)隊(duì)不能有效管理需求,那么他們達(dá)到關(guān)鍵里程碑的能力就會受到損害,進(jìn)而影響項(xiàng)目計(jì)劃的精確度和效用。這通常導(dǎo)致開發(fā)和測試資源被浪費(fèi)在錯(cuò)誤方面。開發(fā)人員在 RM 上扮演了重要角色,不僅因?yàn)樗麄兏鶕?jù)需求構(gòu)建軟件,而且因?yàn)樗麄兡軌蚍乐鬼?xiàng)目團(tuán)隊(duì)一開始就使用不完整或者模糊需求。最大化需求的完整性和清晰度是保證整個(gè)項(xiàng)目成功的轉(zhuǎn)折點(diǎn),可以確保包括測試人員和文檔編寫人員在內(nèi)的整修團(tuán)隊(duì)能夠在最短的時(shí)間內(nèi)構(gòu)建質(zhì)量合格的系統(tǒng)。
RM 的正式程度因項(xiàng)目和項(xiàng)目團(tuán)隊(duì)而異,并且與您的項(xiàng)目團(tuán)隊(duì)在不能交付正確的軟件解決方案方面愿意冒多大的風(fēng)險(xiǎn)直接相關(guān)。RM 過程的正式程度越差,項(xiàng)目團(tuán)隊(duì)不能向客戶交付令他們滿意的軟件的風(fēng)險(xiǎn)就越大。幸運(yùn)的是,項(xiàng)目中 RM 的松散程度是權(quán)衡 RM 形式的優(yōu)缺點(diǎn)之后所作的一個(gè)簡明的決定。關(guān)于采用松散 RM 過程的最常見的論據(jù)包括:它可以使的開發(fā)速度更快,可以更好地適應(yīng)不斷變化的市場,并且不需要正式的需求文檔來了解我們應(yīng)該創(chuàng)建什么系統(tǒng)。不幸的是,這些論據(jù)是項(xiàng)目團(tuán)隊(duì)很難實(shí)際把握的,并且需要仔細(xì)分析項(xiàng)目成功所需的 RM 正式程度。從根本上說,RM 實(shí)踐應(yīng)該產(chǎn)生:1)所有項(xiàng)目團(tuán)隊(duì)成員都能夠清楚理解的需求,2)對不斷變化的需求的控制,以保證項(xiàng)目團(tuán)隊(duì)能夠跟蹤正確解決方案的交付,3)有效的溝通,以保證整個(gè)項(xiàng)目團(tuán)隊(duì)協(xié)調(diào)一致。
&nb