鄭志遠,劉宏志,李海生
(北京工商大學 計算機學院,北京 100048)
隨著當今社會中不同領域對于信息系統功能多樣性需求的不斷增加,信息系統的開發受到了人為因素和社會因素的影響,這導致了項目進度的拖延,延長了項目的交付時間。因此在信息系統監理中對于項目進度控制的準確性以及高效性有了更為嚴格的要求。在信息工程監理[1-3]中,有“四控三管一協調”這八個方面來對信息系統的開發[4]進行管理,其中進度控制[5]是尤為重要的一項。同時關鍵鏈技術在建筑工期控制等方面應用較多,而在信息工程監理中卻很少有嘗試,因此,將關鍵鏈技術運用在信息工程監理中是一個可深入研究的方向。
1997年,Goldratt博士提出了關鍵鏈(critical chain method,CCM)[6]這一方法,使得工程進度的管理及控制走向了一個新的高度。它的核心思想是利用設置的一個緩沖區以平衡各類不確定的影響因素對于完工時間的影響。一般對于緩沖區設置的方法有兩種:剪切/粘貼法和根方差法[7]。剪切粘貼法的原理是用50%的安全時間作為緩沖的大小,但此做法過于單一,在信息系統的開發當中有許多不同屬性的工序,而把這些不同屬性的工序的安全時間做統一處理沒有體現工序與工序之間的差異,因此這樣的做法是很不合理的。
根方差法的原理是利用安全時間的50%作為標準差,并以鏈路標準差的兩倍來設置緩沖區,但此方法側重于中心極限的思想,將各個工序單獨分開來計算時間,與實際的項目進展不符。因此許多學者在此方法上進行了改進。
國外學者Iranmaneshetal H[8]在綜合考慮了資源約束、工序風險以及工序在項目網絡之中的位置,改進了緩沖區大小的計算公式,由此提高了項目進度的精確程度;李建中等[9]利用模糊綜合評價法對各種影響因素實行了貼近實際的量化計算,效果顯著,且主觀性較強;因此以上方法對于信息工程監理中的進度控制具有一定價值。
國內研究者馬萍等人[10]引入關鍵鏈思想,根據項目自身特點從不確定性出發,建立層次分析法與熵權法主客觀組合賦權模型,并結合灰色關聯分析法改進緩沖區的計算方法,加強了項目進度控制的力度;孫嫣然[11]結合信息系統項目特點,以關鍵鏈進度管理理論為支撐,研究適合于信息系統項目的進度管理模型,并以此能夠對相實踐起到指導作用。結合具體實例,對所建模型進行實證分析并應用蒙特卡洛方法對進度管理過程進行量化驗證。以上研究對于信息工程監理的進度控制研究具有很高的參考價值。
該文將基于改進的關鍵鏈算法引入到信息工程監理的進度控制中,利用三角模糊數來量化工期的不確定性,并估算出安全時間;根據信息工程監理的特點,引入安全時間評價系數來進一步地對安全時間進行調整以使得信息工程項目可以按時保質保量的完工。分析各種不確定的影響因素并進行量化,使得不確定的影響因素盡可能貼合實際的影響,使得預估工期與實際工期更加接近。
關鍵鏈法的核心思想是從關鍵路徑算法中衍生的,該方法是利用綜合分析資源的約束程度和各個工序之間的關聯后,將不同工序的安全時間算出,并設置緩沖區以達到項目可以按時完成的目的。這種方法相比于傳統的管理方法,提高了對項目進度的控制力度。
在關鍵鏈中,通常把緩沖區分為以下三種:
(1)資源緩沖RB,它一般被放在相連的兩個任務之間,目的是預防所需資源不足的情況發生。
(2)匯入緩沖FB,此緩沖區是為了防止兩個相連的任務之間因為其他任務的插入而延期的緩沖區。
(3)項目緩沖PB,是對項目的按時完成的一個限制,一般設置在關鍵鏈末端。
在對緩沖區量化時,傳統的關鍵鏈法是直接把安全時間的50%作為緩沖區的量,但這忽略了工序與工序之間的關聯以及差異,計算出來的時間與實際時間相差較多。因此,為了使偏差縮小,就要對安全時間的算法進行改進。
該文根據工期預測的不確定性這個特性,結合三角模糊數[12]來確定三種預計的工期完工時間。工序i的活動工期ti,對應的三角模糊數(ai,bi,ci)分別表示工序i最理想工期、最可能工期、最悲觀工期。
三角模糊數的隸屬函數μ(ti)表示為:
(1)
其函數圖像如圖1所示。

圖1 三角模糊數函數
因為各個工序之間存在聯系和差異,因此一致性指數(AI)[13]的性質很適合衡量兩個模糊事件(兩個工序)的關聯性。該文利用AI來計算各個工序的預估時間,其公式為:
(2)

一致指數的含義是指模糊事件(A)有多少比例會影響模糊事件(B),也表示事件(A)相對于事件(B)的重要性程度。一般情況下AI<1,當事件(A)對于事件(B)最重要且唯一時,AI(A,B)=1,但一致指數并不具備對稱性,即當AI(A,B)=1時,并不能得出AI(B,A)=1。在信息工程監理中不同工序之間的聯系是不同的,因此出現因為工序A進度的延期,導致與之聯系最為緊密的工序B也延期的現象屢見不鮮。因此通過利用一致性指數AI來對工期進行計算,可以減少因為工序之間相互關聯而產生的誤差。其具體計算公式如下:
(3)
經變換后得出:
(4)

同時,該文根據信息工程監理[14]的特點設置了安全時間評價系數ω,用來從監理師的角度對所預估的安全時間做出調整,以此加強對項目進度的更精確的控制。其公式為:
(5)
式中,k為參與安全時間評價的人數,nk為第k人對安全時間評價的分數,若安全時間完全符合現有要求,則nk=1;若監理師認為此安全時間可以適當縮短,則ω<1,但若ω≤0.7,則可能需要建議開發方重新計算安全時間或者與開發方協商。反之,若監理師認為此工序比較復雜且有多因素影響,則可適當增加安全時間ω>1,但若ω>1.5,則需要與開發方進行協商以對此工序的安全時間做出合理的預估。因為安全時間評價系數會受到評價分數極值的影響(權重大),因此建議在計算安全時間將分數的最大值以及最小值去掉,再計算安全時間評價系數。文中為減小誤差,采用真度95%與真度50%的模糊工期的差值作為工序安全時間,計算公式如下:
σ=(tiω)0.95-(tiω)0.5
(6)
在完成各個任務工時預估以及商榷、敲定各項工序前后之間的關系之后,我們需要利用正推法和逆推法來計算每個任務四個重要時間參數:任務最早開工時間ES、任務最早完工時間EF、任務最晚開工時間LS、任務最晚完工時間LF,進而計算得出各條路徑的浮動時間TF,完成了這些計算,我們只需尋找時間變動為零的路徑即為關鍵路徑。
關鍵鏈法的創新之處在于設置緩沖來平衡工期與不確定因素的矛盾,以提高項目的完工率與穩定性。該文主要從以下4個不確定因素進行量化[15]:
(1)路徑復雜度:工期的前置工序越多,不確定性程度就越大,應設置大的緩沖區避免工期延誤。
設N1=路徑復雜度,有:
(7)
其中,n表示工序在最長路徑中的位置;R表示通過工序最長路徑的工序數。
(2)任務困難程度:在一個項目中,某個任務的困難程度越高,那么它的完工率可能越低,相反越簡單的任務,那么它的完工率有可能就會越高。設N2=任務難度系數,由項目組以及監理師評估得出。評分標準如表1所示。

表1 任務難度評價標準
(3)風險預估系數:以三點估計法的最理想時間X、最可能時間Y以及最悲觀工期Z來確定風險系數的大小,若Y越接近X,則此任務按時完工的幾率高;相反,則任務按時完工的幾率偏低。
設N3=風險預估系數,有:
(8)
(4)資源滿足度:在信息系統開發時,資源的分配會影響到不同模塊開發的進度、質量等方面,因此預估任務的資源是否足夠達到目標是很有必要的。設N4=資源滿足度,采用百分比來計算。若資源完全滿足任務需求,則資源滿足度為100%;若資源滿足度低于50%,則需給當前任務增加額外時間或者提供更多的資源以保證任務的順利進行,此項由開發團隊以及監理師共同商議決定。
確定影響因素的權重,采用如下方法:
層次分析法:首先采用1~9標度法[16]將影響因素兩兩比較構造判斷矩陣P,計算特征向量αi以及特征值λmax,之后計算一致性檢驗指標CI,其中:
(9)
其中,n為影響因素個數(矩陣行列數)。

緩沖區大小的設置[17]是關鍵鏈的核心所在,它在對不確定因素的有效對沖方面發揮著重要作用,且根方差法比較符合時間累加的統計規律。該文在經典方法根方差法的基礎上,通過引入影響因子[18]βi來改進根方差法。影響因子βi表示為:
βi=(N1iα1+N2iα2+N3iα3+N4iα4)
(10)
其中,i為第i個任務,α1為N1影響因素的權重,以此類推。
改進后的緩沖區計算公式為:
(11)
某公司原有的銷售系統因為優化不足的問題,打算委托X公司開發出一套新的銷售系統,并希望能在一年至兩年內實現新平臺平穩過渡。
任務工期由X公司項目經理和監理師結合研討情況和項目最晚可以投入使用的時間共同預估得出,各工序前后邏輯關系由項目團隊分析得出,具體如表2所示。

表2 項目基本信息
根據表2中每項任務估算的三項時間,利用式(4)計算各個工序的預估工期Ti。之后,根據上文中所提及的正推法和逆推法得出重要的時間參數,選擇浮動時間為0的路徑為關鍵路徑。此外還需進行安全評價系數的計算,具體如表3所示。

表3 關鍵路徑計算
由表3可以直觀地看出關鍵路徑為:A→B→C→D→F→I→J→L→M→N→O
得出關鍵路徑之后,在兩個非關鍵路徑后插入兩個匯入緩沖:FB1、FB2。以及在關鍵鏈末端插入項目緩沖:PB。插入緩沖后的網絡計劃如圖2所示。

圖2 插入緩沖后的網絡計劃
首先根據2.2節中各個影響因素的計算方法進行數據的量化處理,之后采用1~9標度法將量化后的影響因素兩兩比較構造判斷矩陣P:

通過計算矩陣P得出特征值λmax=4.06,此時αi=(0.316,0.215,0.254,0.215)。
根據式(9)CI=0.020;通過查表RI=0.90,此時一致性比例CR=0.022 2,CR<0.1滿足一致性檢驗。之后根據表2、表3中的數據計算關鍵數據,計算后的關鍵數據如表4所示。

表4 關鍵數據
根據表4計算項目緩沖PB和匯入緩沖FB。
FB1=1.7 d
FB2=2.3 d
PB=3.0 d
為了驗證改進的關鍵鏈法的有效性,運用Oracle Crystal Ball[19]進行蒙特卡洛模擬。蒙特卡洛是一個在離散系統中進行模擬仿真[20]中有著較好效果的模擬方法,它的核心思想是建立與所要模擬的系統性能相似的概率模型,之后并進行隨機實驗,這樣就可以模擬系統中出現的各種影響因素。要確保實驗誤差相對較小,因此選定的實驗次數要多,文中的實驗次數取5 000。
模擬結果如圖3和圖4所示。

圖3 95%保證率改進關鍵鏈法項目工期頻數分布圖

圖4 95%保證率關鍵鏈法項目工期頻數分布圖
通過對比觀察可知,采用改進關鍵鏈法,確定性為100%時只需要179.0天,而直接采用關鍵鏈法確定性為100%時則需要184.3天,同時兩者在相同的保證率情況下,改進關鍵鏈法的完工時間少于直接關鍵鏈法的天數,證明改進關鍵鏈法的效果較好。
在當今信息工程監理領域中,大部分的進度控制方法忽略或者簡化了影響因素的處理以及資源的協調性,使預期的計劃很難順利進行。而關鍵鏈正是綜合考慮了資源約束和工序的邏輯關系,通過分析和計算得出可以平衡影響的緩沖區來使項目能夠順利進行。文中根據信息工程監理中出現的各種影響和問題,對關鍵鏈法中緩沖區的算法進行了改進。同時針對信息工程監理的特點,提出了安全時間評價系數,從監理師的角度對項目的計劃進度進行評價及優化,從而加強對項目進度的控制。最后通過仿真實驗的分析結果表明,該改進方法在完工率較高的同時,可有效地控制項目的進度。這為信息工程監理提供了一種有效的進度控制方法。