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