需求變更管理的應對和需要遵循的六大原則

2022-03-13 14:23:25 字數 2783 閱讀 4737

需求變更的管理

需求變更是因為需求發生變化。根據軟體工程思想,需求說明書一般要經過論證,如果在需求說明書經過論證以後,需要在原有需求基礎上追加和補充新的需求或對原有需求進行修改和削減,均屬於需求變更。

需求變更的出現主要是因為在專案的需求確定階段,使用者往往不能確切地定義自己需要什麼。使用者常常以為自己清楚,但實際上他們提出的需求只是依據當前的工作所需,而採用的新裝置、新技術通常會改變他們的工作方式;或者要開發的系統對使用者來說也是個未知數,他們以前沒有過相關的使用經驗。隨著開發工作的不斷進展,系統開始展現功能的雛形,使用者對系統的了解也逐步深入。於是,他們可能會想到各種新的功能和特色,或對以前提出的要求進行改動。他們了解得越多,新的要求也就越多,需求變更因此不可避免地一次又一次出現。

這時,如果開發團隊缺少明確的需求變更控制過程或採用的變更控制機制無效,抑或不按變更控制流程來管理需求變更,那麼很可能造成專案進度拖延、成本不足、人力緊缺,甚至導致整個專案失敗。當然,即使按照需求變更控制流程進行管理,由於受進度、成本等因素的制約,軟體質量還是會受到不同程度的影響。但實施嚴格的軟體需求管理會最大限度地控制需求變更給軟體質量造成的負面影響,這也正是我們進行需求變更管理的目的所在。

實施需求變更管理需要遵循以下六大原則

(1)建立需求基線,需求基線是需求變更的依據。在開發過程中,需求確定並經過評審後(使用者參與評審),可以建立第乙個需求基線。此後每次變更並經過評審後,都要重新確定新的需求基線。

(2)制訂簡單、有效的變更控制流程,並形成文件。在建立了需求基線後提出的所有變更都必須遵循這個控制流程進行控制。同時,這個流程具有一定的普遍性,對以後的專案開發和其他專案都有借鑑作用。

(3)成立專案變更控制委員會(ccb)或相關職能的類似組織,負責裁定接受哪些變更。ccb由專案所涉及的多方人員共同組成,應該包括使用者方和開發方的決策人員在內。

(4)需求變更一定要先申請然後再評估,最後經過與變更大小相當級別的評審確認。

(5)需求變更後,受影響的軟體計畫、產品、活動都要進行相應的變更,以保持和更新的需求一致。

(6)妥善儲存變更產生的相關文件。

應對之道

需求變更控制一般要經過變更申請、變更評估、決策、回覆這四大步驟。如果變更被接受,還要增加實施變更和驗證兩個步驟,有時還會有取消變更的步驟。針對變更控制流程,在實際工作中總結出了軟體開發人員在需求變更管理實踐中的幾點對策:

優先排序 分批實現每個需求的重要性是不同的。由於資源或技術條件的限制,會顯得「僧多粥少」,因此不可能把所有的需求一次完成。怎麼辦?把每個需求按照對效益的貢獻打個分,排出個優先順序來,優先順序高的需求先實現,低的到一下版式本實現。由於不斷有新的需求進來,有的需求可能永遠沒有機會被子實現,但不緊,還是要記錄下來,並一起參加排序,保證在每個版本發布時重要的需求先得到滿足。每個需求的實現是需要花時間的,沒人有百分百的把握預估得很清楚,但借鑑過去的經驗可以大概估算出人力成本,然後根據開發人員和開發周期得出可用人力投入作為上限。從優先順序高的需求中挑,直到挑中的人力成本總和剛剛低於可用投入上限,這樣得出的就是需求的錄取榜。今後的軟體開發規劃也會以此為依據,分期分批地在不同的回合中實現。最合理的不一定是優先順序最高的,也就是說不一不定是最先考慮的,「經濟為本」是指導優先排序的最終原則。

相互協作很難想像遭到使用者抵制的專案能夠成功。在討論需求時,開發人員與使用者應該盡量採取相互理解、相互協作的態度,對能解決的問題盡量解決。即使使用者提出了在開發人員看來"過分"的要求,也應該仔細分析原因,積極提出可行的替代方案。

充分交流需求變更管理的過程很大程度上就是使用者與開發人員的交流過程。軟體開發人員必須學會認真聽取使用者的要求、考慮和設想,並加以分析和整理。同時,軟體開發人員應該向使用者說明,進入設計階段以後,再提出需求變更會給整個開發工作帶來什麼樣的衝擊和不良後果。

安排專職人員負責需求變更管理有時開發任務較重,開發人員容易陷入開發工作中而忽略了與使用者的隨時溝通,因此需要一名專職的需求變更管理人員負責與使用者及時交流。

合同約束需求變更給軟體開發帶來的影響有目共睹,所以在與使用者簽訂合同時,可以增加一些相關條款,如限定使用者提出需求變更的時間,規定何種情況的變更可以接受、拒絕接受或部分接受,還可以規定發生需求變更時必須執行變更控制流程。

區別對待隨著開發進展,有些使用者會不斷提出一些在專案組看來確實無法實現或工作量比較大、對專案進度有重大影響的需求。遇到這種情況,開發人員可以向使用者說明,專案的啟動是以最初的基本需求作為開發前提的,如果大量增加新的需求(雖然使用者認為是細化需求,但實際上是增加了工作量的新需求),會使專案不能按時完成。如果使用者堅持實施新需求,可以建議使用者將新需求按重要和緊迫程度劃分檔次,作為需求變更評估的一項依據。同時,還要注意控制新需求提出的頻率。

選用適當的開發模型採用建立原型的開發模型比較適合需求不明確的開發專案。開發人員先根據使用者對需求的說明建立乙個系統原型,再與使用者溝通。一般使用者看到一些實際的東西後,對需求會有更為詳細的解釋,開發人員可根據使用者的說明進一步完善系統原型。這個過程重複幾次後,系統原型逐漸向最終的使用者需求靠攏,從根本上減少需求變更的出現。目前業界較為流行的疊代式開發方法對工期緊迫的專案的需求變更控制很有成效。

使用者參與需求評審作為需求的提出者,使用者理所當然是最具權威的發言人之一。實際上,在需求評審過程中,使用者往往能提出許多有價值的意見。同時,這也是由使用者對需求進行最後確認的機會,可以有效減少需求變更的發生。

需求變更管理的應對和需要遵循的六大原則 zz

需求變更的管理 需求變更是因為需求發生變化。根據軟體工程思想,需求說明書一般要經過論證,如果在需求說明書經過論證以後,需要在原有需求基礎上追加和補充新的需求或對原有需求進行修改和削減,均屬於需求變更。需求變更的出現主要是因為在專案的需求確定階段,使用者往往不能確切地定義自己需要什麼。使用者常常以為自...

需求變更的代價和如何減少需求變更

需求變更的代價 一般來講,需求的變更通常意味著需求的增加,需求的減少相對很少,而且處理需求減少方面的問題也比較容易。當客戶提出新需求的時候,專案開發人員應該分析這些新需求對專案現階段帶來的風險,得出雙方實現變更需求的需要的成本,包括時間 人力 資源等等方面。變更都是有代價的,應該評估一下變更的代價和...

需求變更管理和需求的可追溯性

在專案管理過程中,總是難免會碰到需求的變更,需求變更之所以會產生,可能是使用者不能清晰描述需求或對需求也不是特別明確,也可能是開發人員對需求理解與使用者不一致,或者是使用者需求確實有更改,或者是遇到其他外部環境的影響 如國家政策 需求的變更總會對專案產生一定的影響,比如專案範圍 專案進度 專案質量 ...