編者按:
我們將圍繞著“需求變更”這個(gè)主題展開討論,希望對各位開發(fā)能有所幫助。讓我們先來看一個(gè)需求變更的典型案例:
Steven剛出任項(xiàng)目經(jīng)理,并承接了一個(gè)中型軟件項(xiàng)目。公司再三叮嚀他一定要尊重客戶,充分滿足客戶需求。項(xiàng)目開始比較順利,但進(jìn)入到后期,客戶頻繁的需求變更帶來很多額外工作。Steven動(dòng)員大家加班,保持了項(xiàng)目的正常進(jìn)度,客戶相當(dāng)滿意。
但需求變更卻越來越多。為了節(jié)省時(shí)間,客戶的業(yè)務(wù)人員不再向Steven申請變更,而是直接找程序員商量。程序員疲于應(yīng)付,往往直接改程序而不做任何記錄,很多相關(guān)文檔也忘記修改。很快Steven就發(fā)現(xiàn):需求、設(shè)計(jì)和代碼無法保持一致,甚至沒有人能說清楚現(xiàn)在系統(tǒng)“到底改成什么樣了”。版本管理也出現(xiàn)了混亂,很多人違反配置管理規(guī)定,直接在測試環(huán)境中修改和編譯程序。但在進(jìn)度壓力下,他也只能佯裝不知此事。但因頻繁出現(xiàn)“改好的錯(cuò)誤又重新出現(xiàn)”的問題,客戶已經(jīng)明確表示“失去了耐心”。
而這還只是噩夢的開始。一個(gè)程序員未經(jīng)許可擅自修改了核心模塊,造成系統(tǒng)運(yùn)行異常緩慢,大量應(yīng)用程序超時(shí)退出。雖然最終花費(fèi)了整整3天的時(shí)間解決了這個(gè)問題,但客戶卻投訴了,表示“無法容忍這種低下的項(xiàng)目管理水平”。更糟糕的是,因?yàn)閾?dān)心系統(tǒng)中還隱含著其他類似的錯(cuò)誤,客戶高層對項(xiàng)目的質(zhì)量也疑慮重重。
隨后發(fā)生的事情讓Steven更加為難:客戶的兩個(gè)負(fù)責(zé)人對界面風(fēng)格的看法不一致,并為此發(fā)生了激烈爭執(zhí)。Steven知道如果發(fā)表意見可能會(huì)得罪其中一方,于是保持了沉默。最終客戶決定調(diào)整所有界面, Steven只好立刻動(dòng)員大家抓緊時(shí)間修改。可后來當(dāng)聽說因修改界面而造成了項(xiàng)目一周的延誤后,客戶方原來發(fā)生爭執(zhí)的兩人這次卻非常一致,同時(shí)氣憤地質(zhì)問Steven:“為什么你不早點(diǎn)告訴我們要延期!早知這樣才不會(huì)讓你改呢!”Steven很無耐,疑惑自己到底錯(cuò)在哪里了。
段落導(dǎo)航:
為了方便大家的閱讀,我們將本期內(nèi)容進(jìn)行了合理的分類,您可以使用下面的鏈接瀏覽您感興趣的主題。
對軟件需求和需求變更的理解
需求變更的原因
需求變更的代價(jià)
減少需求變更
如何控制需求變更
需求變更的管理
實(shí)施需求變更管理需要遵循以下六大原則
應(yīng)對之道
對軟件需求和需求變更的理解
軟件需求是整個(gè)軟件項(xiàng)目的最關(guān)鍵的一個(gè)輸入,和傳統(tǒng)的生產(chǎn)企業(yè)相比較,軟件的需求具有模糊性、不確定性、變化性和主觀性的特點(diǎn),它不像生產(chǎn)汽車、電腦等硬件的需求,是有形的、客觀的、可描述的、可檢測的。軟件需求是軟件項(xiàng)目最難把握的問題,同時(shí)又是關(guān)系項(xiàng)目成敗的關(guān)鍵因素,因此對于需求分析和需求變更的處理十分重要。
需求變更會(huì)給項(xiàng)目帶來巨大的風(fēng)險(xiǎn),會(huì)導(dǎo)致項(xiàng)目的成本費(fèi)用增加、開發(fā)周期延長、產(chǎn)品質(zhì)量下降及團(tuán)隊(duì)工作效率下降等不良后果,因而軟件開發(fā)項(xiàng)目中應(yīng)該盡量減少需求變更的出現(xiàn)頻率。然而由于政府對特定軟件的相關(guān)要求、用戶部門市場戰(zhàn)略的調(diào)整、工業(yè)界的發(fā)展等因素都可能帶來需求的變更,而這些因素往往不可避免。在軟件開發(fā)過程中如果只有一條真理的話,那一定是:需求的變化是永恒的,需求不可能是完備的。因而,對于需求變更應(yīng)該正確的對待,盡量將其負(fù)面影響降低到最低。
需求變更的原因
需求包括業(yè)務(wù)需求、用戶需求和功能需求。業(yè)務(wù)需求(Business Requirement )反映了組織機(jī)構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,用戶需求(User Requirement )描述了用戶使用產(chǎn)品必須完成的任務(wù),功能需求(Functional Requirement )定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能。
項(xiàng)目經(jīng)理勝任力免費(fèi)測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html