階段的需求變更
成功項目和失敗項目的區(qū)別就在于項目的整個過程是否是可控的。項目經(jīng)理應該樹立一個理念——“需求變更是必然的、可控的、有益的”。項目實施階段的變更控制需要做的是分析變更請求,評估變更可能帶來的風險和修改基準文件。控制需求漸變需要注意以下幾點:
需求一定要與投入有聯(lián)系,如果需求變更的成本由開發(fā)方來承擔,則項目需求的變更就成為必然了。所以,在項目的開始,無論是開發(fā)方還是出資方都要明確這一條:需求變,軟件開發(fā)的投人也要變。
需求的變更要經(jīng)過出資者的認可,這樣才會對需求的變更有成本的概念,能夠慎重地對待需求的變更。
小的需求變更也要經(jīng)過正規(guī)的需求管理流程,否則會積少成多。在實踐中,人們往往不愿意為小的需求變更去執(zhí)行正規(guī)的需求管理過程,認為降低了開發(fā)效率,浪費了時間。但正是由于這種觀念才使需求逐漸變?yōu)椴豢煽?,最終導致項目的失敗。
精確的需求與范圍定義并不會阻止需求的變更。并非對需求定義得越細,就越能避免需求的漸變,這是兩個層面的問題。太細的需求定義對需求漸變沒有任何效果。因為需求的變化是永恒的,并非需求寫細了,它就不會變化了。
注意溝通的技巧。實際情況是用戶、開發(fā)者都認識到了上面的幾點間題,但是由于需求的變更可能來自客戶方,也可能來自開發(fā)方,因此,作為需求管理者,項目經(jīng)理需要采用各種溝通技巧來使項目的各方各得其所。
(3)項目收尾階段的總結(jié)
能力的提高往往不是從成功的經(jīng)驗中來,而是從失敗的教訓中來。許多項目經(jīng)理不注重經(jīng)驗教訓總結(jié)和積累,即使在項目運作過程中碰得頭破血流,也只是抱怨運氣、環(huán)境和團隊配合不好,很少系統(tǒng)地分析總結(jié),或者不知道如何分析總結(jié),以至于同樣的問題反復出現(xiàn)。
事實上,項目總結(jié)工作應作為現(xiàn)有項目或?qū)眄椖砍掷m(xù)改進工作的一項重要內(nèi)容,同時也可以作為對項目合同、設計方案內(nèi)容與目標的確認和驗證。項目總結(jié)工作包括項目中事先識別的風險和沒有預料到而發(fā)生的變更等風險的應對措施的分析和總結(jié),也包括項目中發(fā)生的變更和項目中發(fā)生問題的分析統(tǒng)計的總結(jié)。
3、需求變更的處理流程
需求變更既然不可避免,那么就必須有一套規(guī)范的處理流程。對于需求變更的處理流程應該分以下步驟:提出變更-變更評估-實施變更-需求變更處理流程
因為現(xiàn)實世界的軟件系統(tǒng)可能有不同的嚴格程度和復雜性,所以事先預言所有的相關(guān)需求是不可能的。系統(tǒng)原計劃的操作環(huán)境會改變,用戶的需求會改變,甚至系統(tǒng)的角色也有可能改變。實現(xiàn)和測試系統(tǒng)的行為可能導致對正解決的問題產(chǎn)生新的理解和洞察,這種新的認識就有可能導致需求變更。CMM提出“分配需求的變更被復審,并加入到軟件項目中來”,其關(guān)鍵是在需求發(fā)生變更時,沒有必要馬上把這些變更付諸于軟件開發(fā)工作之中。
實際上,堅持把需求變更付諸開發(fā)努力,企業(yè)就會形成一種混亂且不穩(wěn)定的氛圍,進而嚴重破壞項目的控制和管理。需求管理關(guān)鍵過程試圖通過把分配需求的變更囤積到可管理的組中,等到開發(fā)工作允許的時候再引人相應的方法,避免產(chǎn)生這種混亂的氛圍。
由于需求管理創(chuàng)建了一個隔絕開發(fā)工作與所有真實的、潛在無序的、來自于客戶的變更。這個緩沖器允許真實的變更被注意、記錄、追蹤,同時開發(fā)工作又不會因此而被擾亂。結(jié)果,開發(fā)項目應該周期性地暫停來吸收最新的需求變更積累,此時,所有的計劃、設計、行為都根據(jù)剛剛吸收的需求變更的影響進行更新。