【第150期 March 5, 2010】
 

CMMI與軟體工程

PERT 技術與 CMMI 的導入

作者/林靜蘭

[發表日期:2010/3/5]




前言

PERT(Program Evaluation and Review Techniques; 計劃評核術)是一種規劃與控制的方法,並用來評核計劃成功機率的一種技術。在 CMMI 的導入過程中可以運用在估算活動,專案監控也可以運用這一種技術方法用以降低差異值( Variance ) 。因此本文將探討甚麼是 PERT ?如何運用PERT ? 及如何運用在 CMMI 的導入中 ?

甚麼是 PERT ?

PERT最早是設計用來監控專案的進展,但是現在也用來作規劃工作。最初是結點為中心的,現也變成"作業"為中心的規劃及進度控制工具。PERT主要是在求每一單元及全盤計劃之成功機率,所以較適用於未知數較多之場合。PERT將工作時程(Schedule)視為危機變數,對於工作時程採用三個時間來估算。包括:

◎最樂觀時間(Optimistic Time):指一切作業均能於最順利之情況下執行,其所需要之最短工作時間。

◎最可能時間(Mostly Likely Time):指在通常情況下,平均完成某項工作所需之工作時間。

◎最悲觀時間(Pessimistic Time):指工作非常不順利,如天候不良或某些意外因素發生,執行工作所需要的最長時間。

若對三個工作時間之符號定義如下:

b:最悲觀時間 m:最可能時間 a:最樂觀時間

對於a及b各給予權數1,對於m給予權數4。則

◎期望時間 te = ( a + 4m + b) / 6
一個隨機變數除了期望值之外,另一個重要之統計量---標準偏差(Standard Deviation)σ或變異數(Variance),σ2

◎標準偏差 (StandardDeviation) σ = ( b - a ) / 6

◎變異數(Variance), σ2 = ( ( b - a) / 6 ) 2

舉個簡單例子 : 有一個專案共有三項工作, 我們使用圈及箭頭劃出以下的圖示,同時每項工作有三個估算時間: 最悲觀時間,最可能時間及最樂觀時間。


《圖一》


如果第一個工作是由零開始, 結束時會共發多少天呢 ? 依據下表我們可以得知期望的天數為 5.33 + 6 + 9.67 共 21天。到接下來要問的是 21 天共有多少機率的信心指數呢 ? 依據機率信心指數是 90% 3天 , 因此加3天, 我們可以承諾 24 天內完成。


《表一》


如何運用PERT ?

以PERT進行排程及工期計算時,因每項作業所需之作業時間可能會有差異,故整個計畫(Project)之完成時間亦可能會有差異,所以總工期一形成一個機率分配。PERT主要是在求每一單元及全盤計劃之成功機率,所以較適用於未知數較多之場合。

PERT之優點提供決策者,於實際將專案正式付諸實施前,有成功機率等具體資訊來下達推展計劃之決心;以避免專案因為多重的困難,而在付出鉅額之投資後因無法推動而被迫放棄。

以下是個運用 PERT 的實例, Task 1 , Task 2 , Task 3 … Task8 , 找出每項工作的最悲觀時間, 最樂觀時間及最可能時間, 參考圖三及表四, 同時我們知道 Critical Path 是 1, 2,4, 5 8 , 計算出 1,2,4,5,8 的期望值加起來是 18, 但參考 95% 的達成機率, 因此我們加減兩個變異數, 因此得出20.41 ~ 15.59 天內完成, 但因為一般我們不會考慮提早完成, 所以我們可以說是 97 % 會於 20.41 天內完成 。


《圖二》



《表二》


PERT 運用在 CMMI 的導入

PERT 可運用在專案的估算 參考 CMMI 中的 PP SP 1.1 Estimate the Scope of the Project 估計專案範圍 )。當專案規劃已請開始同時已知下列事項

1. Setting the project start date
2. Setting the project completion date
3. Selecting the project methodology or project life cycle to be used
4. Determining the scope of the project in terms of the phases of the selected project methodology or project life cycle

接下來是每個 phase 往下展出工作細項,針對每項細項工作我們可以用此方法估算出可能的工作工時或工期(參考表二)。 所以運用 PERT 技術來預估工時與工期可增加預估的準確性, 但需注意的PERT 的運用比較適合在對該專案比較沒有經驗或是預估比較模糊的情況下。 對於非常有經驗的專案, 已經可以精確評估的專案則不適合此技術。 另外專案監控過程中, 我們也可以運用 PERT降低差異性,可參考 OPP SP 1.5 Establish Process-Performance Models 建立 PPM來幫助降低 Variance 。 因此在 CMMI 導入過程中PERT 技術可以運用在PP SP 1.1 Estimate the Scope of the Project 估計專案範圍, 甚至進一步運用在 OPP SP 1.5 Establish Process-Performance Models 建立 Model 來降低估算的差異。