專案健康狀況的計算方法 (EVM解釋)

目前我在內部的部分案子中開始導入實獲值管理。
這篇文章主要目的是要跟組織內的人員說明SPI及CPI的計算概念,以及哪些因素會影響數值的改變。 有些用字跟標準的用語不太一樣,主要是因為要讓非專業人員也勉強能看懂本文,所以術語上做了些調整。

以下成本達成率其實就是CPI;而時程達成率其實就是SPI。

若你是個對於排程、專案計畫、及實獲值的連動不這麼熟悉的讀者,我其實建議你可以看看這篇,應該可以幫你建立更正確的觀念。

----

成本達成率與時程達成率的計算細節

整個計算原則是循著下列幾項因素:

1. 專案計畫
2. 專案價值 (來自於人力換算成金錢權重)
3. 專案時程達成率 (SPI)
4. 專案成本達成率 (CPI)
5. 計畫變更

換句話說,整個計算圍繞著上面五個元素。

專案計畫

專案計畫顧名思義就是原來根據劇本或是專案範疇拆解出來的交付項目(Deliverable),以及完成這些交付項目所需要執行的工作。

這如果太繞口的話,那我們在此假設案子要製作一個角色叫做MuMu。 因為MuMu不會自己產生,而是需要好幾個部門的同仁一起協力。 所以我們會定義要完成這個角色,有下面幾項工作要做。而下圖中的箭頭則表示他們的施做順序。 
8401  
(當然,上面這圖是稍嫌簡單了些,但就這篇的說明而言倒是還滿足夠了。)

那整個專案裏呢,可能有好幾個製作物,也可能有些集數要製作。所以整個專案可能類似下面這樣:
整合的專案規劃

當然,上圖又是個很簡略的版本,實際專案的工作會更多更複雜。但是大家應該可以從上圖稍微體會這概念。 至於這圖的重點其實是這句:「完成專案計畫後,每項工作會依照前後順序被排在某個時間段上。」 換句話說,工作不但需要被完成,也必須在「該被完成的時間」內被完成。並會以此來核定所謂的「專案價值」。

  

專案價值(來自於人力換算成金錢權重)

列出工作後,每個工作我們還會根據狀況安排人員去完成。 可能簡單一點,讓Junior的人員去做;難一點的,則可能讓Senior的人員去做。 這除了影響可能的預估時間以外,還會影響每個工作的「權重價值」。

什麼是權重價值呢?

是這樣的概念:比方說Design這項工作預想要讓A君來做。 而在分析需求後,估算這件事情需要他投入3天。 若以一天八小時計算,那就是24小時的工時。 再假設A君這個職位的平均薪資是一小時100元,那這工作的價值是24小時乘上$100/h = 2400元。

若Model這項工作是B君做,一樣是三天。 但是B君比較資深,所以一小時是200元,那這工作的價值是4800元。

所以可以發現,隨著工作的複雜度、預定施做長度、人員的資深與否,都會影響一項工作的權重價值。而所有權重價值累加起來,則是一整個專案的權重價值。

  

專案時程達成率 (SPI)

上面談到的都還是「預定狀況」,也就是計畫時的想像。 但這些工作的價值要怎麼被取得呢?基本上判定方式就是工作的進度達成與否。 舉例來說,如果Design這個工作完全做完了,我們則會認定2400的專案價值達到了。 而這價值會跟「在這時間點」該完成的進度價值來相比較。

這又是甚麼意思呢? 請看更具體的案例:

Case 1
8403

請看上圖,在藍色線的時間點,預定要達到的進度(半透明黃色的部分) = 100%Design + 50%Model = 2400+ 0.5*4800 = 4800元

而實際達到的呢? 從圖上綠色的桿子(實際進度)來看,比黃色半透明(預計)的部分早完成。 若以權重價值來看,Design做完了,Model也做完了,所以獲得的權重價值為 100% Design + 100% Model = 2400 + 4800 = 7200元

在這情況下,時程達成率的分數:7200/4800 = 150% (進度超前)

 

那看個相反的狀態

Case 2
8404

在藍色線的時間點,預定要達到的進度(以權重價值來看)跟Case1一樣 = 100%Design + 50% Model = 2400+ 0.5*4800 = 4800元

但Model這項工作因為某些緣故沒能開始,所以藍色線的這時候啥都沒完成。那表示除了第一項工作以外,沒有獲得其他的權重價值。 也因此,100%Design + 0%Model = 2400 + 0 = 2400

時程達成率的狀況 = 2400 / 4800 = 50% (落後於預定進度)

  

專案成本達成率 (CPI)

專案成本由大家工時單回報所得。 而比較方式則是跟達成的權重價值來比。

Case 3 
工作Delay的狀況

 

同樣類似Case2的狀況。

若大家沒忘記的話,之前在Case2中,Model因為沒有如預期開始,所以在進度評估的分數只有得到50%。

但是成本指標會是這樣 :
假設A君在Design 這工作是如預期的投入 = 24h *100 = 2400元
而Model 還沒開始,所以實際成本 = 0元。
那獲得權重則跟Case2一樣是2400元。

所以成本達成率 = 2400 / 2400 = 100% (表示完成的事情都是在符合的成本投入下;至於還沒開始的工作還不知道最後會花多少成本,所以在此計算下並不會被Double處罰。 換言之,沒有資源投入下,進度雖然因為Delay被處罰了,但是成本指標並不會被處罰。)


 

計畫變更

但可能有人說,事情又不可能事事如預料的一樣,總可能有些變動吧。比方說,某個製作物不用做了。 那這時候可以走目前議定的變更程序,讓PM重新調整後執行Re-Baseline的動作。
8405

計畫變更為何很重要呢? 大家可以看上圖。 假設第二個製作物不用做了,可是卻還在計畫中,那如果沒有重改計畫的話,這項工作的預定權重會一直被計算。但是因為都沒有做,所以沒有任何權重價值會獲得。 這就會影響到進度分數啦!

當然,也可能是多加了工作,或是某些工作需要提早或是延後完成。這樣是否可以不理會呢?

答案一樣是否定的。

沒Baseline的狀況

如上圖,當一個新製作物沒有在Baseline中時,表示那是一個不被官方承認的工作。 也因此,它將沒有預定的權重價值。 沒有預定的權重價值,也就不會有達成的權重價值。在這情況下,進度的分數或許不會被影響,但是因為大家還是有花時間去做,實際成本會被累計下來,成本分數就會被往下修正了。

----

那以上,是整個計算的核心精神。

若有轉貼需求,請來信討論。 轉貼時禁止修改內容及標題、須保持所有連結、禁止商業使用,並且必須註明原文標題、連結、及作者訊息。
覺得這篇文章好嗎? 請分享給您的朋友
歡迎「讚」一下我們的粉絲專頁,接收最新文章!
張國洋 Joe Chang

現為識博管理顧問執行長,也在台灣百大上市櫃公司擔任管理講師與專案顧問。歷年客戶包含工研院、台積電、廣達、富智康、光寶集團、台灣大哥大、遠傳電信、中鼎工程、建國工程、台橡公司、大同公司、三陽工業、TVBS、特力屋集團、城邦集團、誠品集團等。 為了對抗雙魚座的感性,一直在努力強化理性思維與邏輯思考。 相信邏輯發展能解構任何事物,並讓我們找到合宜的人生策略與方向。

Joe G+ ICON Joe LInkin ICON

7 則讀友回應

  1. BrianWen 2010-10-25 13:09:25 第 7 則

    沒事~單純來反應文章一開頭有寫錯兩個地方:"實獲職"的"職",以及"CIP"應該是"CPI"~XD

    • Joe Chang 2010-10-25 16:17:42

      哈 確實
      感謝提醒
      已經改正了~~!!

  2. Bryan Yao 2010-10-25 01:45:29 第 6 則

    To 山姆夢 & Joe:

    我也來插個嘴,山姆夢你提到:「狀況二:若此時依照比例更新該任務進度...」我和Joe想知道的是,你在軟體裡面按了什麼樣的按鈕來執行這個動作?因為MS Project進度更新有多種操作方式,有時候造成的結果也會不同(尤其在有資源的狀況下)。

    另外我提醒一下,如果你設定狀態日期為10/1,其實在MS Project裡是指10/1的下班時間。比方某任務是10/1一大早開工,這10/1狀態日期表示其實已經pass一個工作日了。所以任務初始的狀態(進度為零,pv=0)時,狀態日期其實要設為9/30。

  3. 山姆夢 2010-10-24 21:11:07 第 5 則

    不好意思,又有新問題。

    我設定資源dev_01的成本為$100/h(且該任務的投入資源為dev_01, 於10/1~10/5期間100%投入), 依照前述的邏輯,該軟體認為"正常"的進度應如下:
    狀態日期為10/1 => 0%, PV=$0
    狀態日期為10/2 => 20%, PV=$800
    狀態日期為10/3 => 40%, PV=$1600
    狀態日期為10/4 => 60%, PV=$2400
    狀態日期為10/5 => 80%, PV=$3200
    狀態日期為10/6 => 100%, PV=$4000

    因此,我以手動方式更新該任務於10/2的進度,做了如下測試:
    若10/2進度為10% => EV=$400;
    若10/2進度為15% => EV=$600;
    若10/2進度為20% => EV=$800;
    若10/2進度為30% => EV=$800!!(我以為應為$1200)
    若10/2進度為60% => EV=$800!!(我以為應為$2400)
    若10/2進度為100% => EV=$800!!(我以為應為$4000)

    以上結果,讓我不禁懷疑我對EV的認知是否有誤,還是MS Project有bug。

    • Joe Chang 2010-10-24 23:00:59

      你要把檔案傳過來看看嗎?
      光看這樣描述 我不確定我有完全catch到你的意思...
      可以到論壇那邊留言並upload檔案

  4. 山姆夢 2010-10-24 20:24:00 第 4 則

    是的,預設是跟著工期的百分比走。
    所以問題就在於─當狀態日期為10/1時,用該軟體更新進度時,會更新為0%(且PV也為$0),但從進度線上來看,該任務又處於落後狀態。

  5. 山姆夢 2010-10-23 14:59:18 第 3 則

    不好意思,我不確定這個問題在這邊發問是否恰當,但該問題很困擾我一陣子了,所以在此提問,若版大覺得不恰當的話,直接把問題刪掉也是離所當然。

    我的問題如下,是關於MS Project軟體的問題:

    若某任務開始結束期間為10/1~10/5(假設均為工作日),目前狀態日期設為10/1。

    狀況一:於甘特圖上顯示10/1的進度線時,發現該任務的燈泡位於進度線左方也為 $0,直覺上來看,這是屬於落後狀態。並且,由於該進度線位於10/1及10/2中間,所以我會認為目前的狀態日期是10/1下班後。

    狀況二:若此時依照比例更新該任務進度,會發現更新後的結果仍為0%(而非20%)!這又讓我認為─「狀態日期10/1所代表的時間點是10/1上班前,因此即使依比例自動更新該任務進度仍然為0%」。但若依照這個邏輯,該任務會完成100%的時機會是狀態日期為10/6。也就是說,我要到10/6時依比例更新進度才會變成100%!

    所以,狀況一&二,讓我覺得互相矛盾-若於10/1依比例自動更新,則不會有進度(且切換到PV, EV, AC的表格檢視,PV也為 $0),但此時從進度線來看,該任務的燈泡又落於進度線左邊!

    以上是我在使用該套軟體的疑問,懇請諸君賜教。

    • Joe Chang 2010-10-24 13:48:33

      我要問的是,你狀態二所謂更新進度,你的動作是甚麼?
      Default它是跟著天期完成百分比走喔