在軟件項目的需求變更管理方面,國外已經有大量的研究,但是目前的變更管理工具都存在工具模式與實際項目開發(fā)流程脫節(jié),變更環(huán)節(jié)定義不精確,變更風險難以控制,變更預計困難和應用比較復雜的普遍問題。而且這些工具都主要側重配置管理,對具體的變更請求與處理流程沒有精確細致的管理方法,更加沒有把變更管理放到從軟件過程和項目管理的整體角度來綜合處理的高度。變更流程管理模型(CPMM)是以Rational的統(tǒng)一變更管理(UCM)和全面流程管理模型(TPMM)等為基礎,在內容和范圍上豐富、擴充了以往的軟件需求變更管理方法,著重強調了對整個開發(fā)流程的各個環(huán)節(jié)的全面控制,如變更預估、變更請求、變更控制和處理、變更文檔管理、變更評估等等。它是一個綜合性的軟件開發(fā)變更流程管理方法,在變更預估、申請、審批、軟件過程和結果評估等方面為軟件項目小組提供了一整套的方法界定和支持。
按照UCM的方法,我們也將CPMM的組成部分抽象為不同的工作流,其中最重要的工作流程包括:
1、變更預估流程 (Change Forecast Process,CFP);
2、變更請求與處理流程 (Change Apply and Manage Process,CAMP);
3、變更評估流程(Change Evaluation Process,CEP)。
CFP在軟件工程項目的初期對工程中可能產生的變更進行預估。這是在軟件工程項目中經常被忽略的流程。通過這個流程,可以在軟件的時間和經費預算中提前考慮變更所帶來的影響,同時在軟件項目的設計和規(guī)劃中預留接納變更的空間。保證在產生變更的情況下軟件工程項目仍然能有序地進行和正常地完成。
變更預估是軟件工程中比較難以把握的方面,目前的預估都是依靠個人經驗的主觀判斷。這樣的預估存在準確性低和不能量化的缺點,這對軟件工程本身并不能提供有用的幫助。CPMM中的CFP流程對軟件工程中的變更評估采用定量的計算方式。在進行項目的需求分析時,通過對影響項目變更的因素,如評估項目的創(chuàng)新程度 T(1)、客戶對項目的把握程度 T(2)、我方對項目的把握程度 T(3)和需求調研的詳細程度 T(4)等方面的數(shù)值,計算出軟件項目的各個過程中可能發(fā)生的變更概率。由此對軟件工程項目的預算、項目規(guī)劃提供有力支持。
軟件工程步驟i可能產生的變更概率如下面“變更預估公式”所示:
其中:V (i)為軟件項目過程i完成時可能發(fā)生的變更概率。
C (ij)為各項因素對變更比率產生影響的系數(shù),這個系數(shù)需要根據(jù)不同的開發(fā)小組情況和項目類型有所不同。系數(shù)的產生和修改則需要根據(jù)變更評估流程產生和修改。
D (i)為修正因子。
CAMP是在項目中接納變更的處理流程,包括變更的提交、審批、實施及完成。CAMP主要強調通過規(guī)范的方式接納變更,并且通過各種有效的手段嚴格控制變更被引入的方式和時間,確保系統(tǒng)開發(fā)的有序進行。CAMP主要通過圖1所示的流程處理變更:
CEP是對變更進行統(tǒng)一綜合評估的流程。按照CPMM的定義,當項目開發(fā)的變更積累到一定程度,一般是在開發(fā)生命周期的里程碑或整個開發(fā)完成階段,應該進行針對所有變更的變更評估工作。通過CEP流程,在項目進行中可以提高對項目的整體認識程度。更為重要的是通過CEP流程,可以校正CFP中“變更預估公式”的參數(shù)和完善CAMP中的處理流程。在實際評估過程中,CPMM推薦的變更評估問卷如表1:
CPMM強調的是過程而非方法,它沒有與其他的變更管理工具和方法那樣只針對變更環(huán)節(jié)處理變更。CPMM從需求變更的源頭、變更發(fā)生后的流程處理上強調對流程的全面控制和改進,進一步把變更管理的內涵擴展到了整個軟件過程和項目管理中。