需求變更的控制及管理

1、需求變更的原因分析  
  需求變更的表現形式是多方面的,如老闆臨時改變想法、項目預算增加或減少、客戶對功能的需求改變等。在IT項目中,變更可能來自方案服務商、客戶或產品供應商等,也可能來源於項目組內部。雖然需求變更的表現形式千差萬別,但究其根本不外乎以下幾種原因: 
  (1)、範圍沒有圈定就開始細化 
  細化工作是由需求分析人員完成的,一般是根據用戶提出的描述性的、總結性的短短幾句話去細化的,提取其中的一個個功能,並給出描述(正常執行時的描述和意外發生時的描述)。當細化到一定程度後並開始系統設計時,範圍會發生變化,那細節用例的描述可能就有很多要改動。如原來是手工添人的數據,要改成根據信息系統計算出來,而原來的一個屬性的描述要變成描述一個實體等。 
  (2)、沒有指定需求的基線 
  需求的基線是指是否容許需求變更的分界線。隨着項目的進展,需求的基線也在變化。是否容許變更的依據是合同以及對成本的影響,比如軟件整體結構已經設計出來是不容許改變需求範圍的,因爲整體結構會對整個項目的進度和成本有初步預算。隨着項目的進展,基線將越定越高(容許的變更將越少) 
  (3)、沒有良好的軟件結構適應變化 

  組件式的軟件結構就是提供了快速適應需求變化的體系結構,數據層封裝了數據訪間邏輯,業務層封裝了業務邏輯,表示層展現用戶表示邏輯。但適應變化必須遵循一些鬆禍合原則,各層之間還是存在一些聯繫的,設計要力求減少會對接口入口參數產生變化。如果業務邏輯封裝好了,則表示層界面上的一些排列或減少信息的要求是很容易適應的。如果接口定義得合理,那麼即使業務流程有變化,也能夠快速適應變化。因此,在成本影響的容許範圍內可以降低需求的基線,提高客戶的滿意度。 

以上這三個問題都可以在trufun Bacon需求管理工具中得到改進和解決。。


  2、如何控制需求變更 

  按照現代項目管理的概念,一個項目的生命週期分爲啓動、實施、收尾三個過程。需求變更的控制不應該只是項目實施過程考慮的事情,而是要分佈在整個項目生命週期的全過程。爲了將項目變更的影響降低到最小,就需要採用綜合變更控制方法。綜合變更控制主要內容有找出影響項目變更的因素、判斷項目變更範圍是否已經發生等。 
  進行綜合變更控制的主要依據是項目計劃、變更請求和提供了項目執行狀況信息的績效報告。爲保證項目變更的規範和有效實施,通常項目實施組織會有一 
  (1)、項目啓動階段的變更預防 
  對於任何項目,變更都無可避免,也無從逃避,只能積極應對,這個應對應該是從項目啓動的需求分析階段就開始了。對一個需求分析做得很好的項目來說,基準文件定義的範圍越詳細清晰,用戶跟項目經理扯皮的幌子就越少。如果需求沒做好,基準文件裏的範圍含糊不清,被客戶抓住空子,往往要付出許多無謂的犧牲。如果需求做得好,文檔清晰且又有客戶簽字,那麼後期客戶提出的變更就超出了合同範圍,需要另外收費。這個時候千萬不能手軟,這並非要刻意賺取客戶的錢財,而是不能讓客戶養成經常變更的習慣,否則後患無窮。相對於需求來說,什麼WBS、風險管理、計劃進度都是次要的,只要需求做好了就會一帆風順。 
  (2)、項目實施階段的需求變更 
  成功項目和失敗項目的區別就在於項目的整個過程是否是可控的。項目經理應該樹立一個理念——“需求變更是必然的、可控的、有益的”。項目實施階段的變更控制需要做的是分析變更請求,評估變更可能帶來的風險和修改基準文件。控制需求漸變需要注意以下幾點: 
  需求一定要與投入有聯繫,如果需求變更的成本由開發方來承擔,則項目需求的變更就成爲必然了。所以,在項目的開始,無論是開發方還是出資方都要明確這一條:需求變,軟件開發的投人也要變。 
  需求的變更要經過出資者的認可,這樣纔會對需求的變更有成本的概念,能夠慎重地對待需求的變更。 
  小的需求變更也要經過正規的需求管理流程,否則會積少成多。在實踐中,人們往往不願意爲小的需求變更去執行正規的需求管理過程,認爲降低了開發效率,浪費了時間。但正是由於這種觀念才使需求逐漸變爲不可控,最終導致項目的失敗。 
  精確的需求與範圍定義並不會阻止需求的變更。並非對需求定義得越細,就越能避免需求的漸變,這是兩個層面的問題。太細的需求定義對需求漸變沒有任何效果。因爲需求的變化是永恆的,並非需求寫細了,它就不會變化了。 
  注意溝通的技巧。實際情況是用戶、開發者都認識到了上面的幾點間題,但是由於需求的變更可能來自客戶方,也可能來自開發方,因此,作爲需求管理者,項目經理需要採用各種溝通技巧來使項目的各方各得其所。 
  (3)、項目收尾階段的總結 
  能力的提高往往不是從成功的經驗中來,而是從失敗的教訓中來。許多項目經理不注重經驗教訓總結和積累,即使在項目運作過程中碰得頭破血流,也只是抱怨運氣、環境和團隊配合不好,很少系統地分析總結,或者不知道如何分析總結,以至於同樣的問題反覆出現。 

  事實上,項目總結工作應作爲現有項目或將來項目持續改進工作的一項重要內容,同時也可以作爲對項目合同、設計方案內容與目標的確認和驗證。項目總結工作包括項目中事先識別的風險和沒有預料到而發生的變更等風險的應對措施的分析和總結,也包括項目中發生的變更和項目中發生問題的分析統計的總結。 

因此需求管理不是隻在需求階段,是一個貫穿整個軟件開發生命週期的,trufun Bacon需求管理工具在這方面提供了足夠的可能,可以貫穿到UML的分析設計,測試等過程。


  3、需求變更的處理流程 
  需求變更既然不可避免,那麼就必須有一套規範的處理流程。對於需求變更的處理流程應該分以下步驟:提出變更à變更評估à實施變更。 
  需求變更處理流程 
  因爲現實世界的軟件系統可能有不同的嚴格程度和複雜性,所以事先預言所有的相關需求是不可能的。系統原計劃的操作環境會改變,用戶的需求會改變,甚至系統的角色也有可能改變。實現和測試系統的行爲可能導致對正解決的問題產生新的理解和洞察,這種新的認識就有可能導致需求變更。CMM提出“分配需求的變更被複審,並加入到軟件項目中來”,其關鍵是在需求發生變更時,沒有必要馬上把這些變更付諸於軟件開發工作之中。實際上,堅持把需求變更付諸開發努力,企業就會形成一種混亂且不穩定的氛圍,進而嚴重破壞項目的控制和管理。需求管理關鍵過程試圖通過把分配需求的變更囤積到可管理的組中,等到開發工作允許的時候再引人相應的方法,避免產生這種混亂的氛圍。結果,需求管理創建了一個隔絕開發工作與所有真實的、潛在無序的、來自於客戶的變更。這個緩衝器允許真實的變更被注意、記錄、追蹤,同時開發工作又不會因此而被擾亂。開發項目應該週期性地暫停來吸收最新的需求變更積累,此時,所有的計劃、設計、行爲都根據剛剛吸收的需求變更的影響進行更新。 

  需求變更的控制當然與項目管理範疇之外的純技術因素息息相關,比如面向對象的分析、面向對象的設計、面向對象的編碼方式等等。但所有技術的發展趨勢都是一樣,那就是爲了使變更管理變得更容易,因此,不論在項目變更控制中採取什麼方法、策略,對於項目本身的變化一定要時時洞悉,處處留意,只有這樣才能從真正意義上對項目進行很好的變更控制。


Trufun服務目標——國產最專業UML建模工具、需求管理工具等

規範軟件開發過程     優化軟件開發流程

保證軟件開發質量     提高軟件開發效率

    西安楚凡科技有限公司(Trufun)是全球領先的軟件開發行業應用生命週期管理(ALM)CASE工具解決方案提供商,倡導"實用、簡潔"的產品理念,擁有業內領先的國產中文UML建模工具,國產中文需求管理工具,國產中文MDA工具等一系列產品。支持軟件開發的整個生命週期,涵蓋需求獲取、需求分析、分析設計、軟件開發、軟件測試、軟件部署等環節。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章