1. 程式人生 > >掙值管理不是搞數字遊戲(4)——讓掙值管理實用!

掙值管理不是搞數字遊戲(4)——讓掙值管理實用!

摘要:
要考PMP(Project Management Professional ),掙值管理是必考的知識。軟體專案有很大的特殊性,不少人認為掙值管理不太適用於軟體專案。掙值管理相關資料也比較超多,但一般都難以讀懂,本文將會以輕鬆、易懂、實用的角度為你講解。

大綱:
1.掙值管理無用論
2.從搬石頭的故事說起
3.三大基本要素:PV,AC,EV
4.成本偏差(CV),進度偏差(SV)
5.成本指標(CPI),進度指標(SPI)
6.成本預測(EAC)

7.掙值管理不是搞數字遊戲,要讓掙值管理實用!
我將會通過4篇文章為你分享!

掙值管理不是搞數字遊戲,要讓掙值管理實用!

掙值管理將專案管理工作數字化、視覺化,很多第一次學習掙值管理的專案經理會興奮不已,想馬上在實際專案管理中用上,但往往實際效果不甚理想。下面我列舉一下常見的情況:

專案計劃與專案計劃跟蹤工作沒有做好,就沒有做掙值管理的基礎,這可能是最常見的情況了。很多軟體專案,沒有文件化的計劃,沒有詳細的進度計劃,很多工作通過開會、口頭佈置等方式落實。這樣無法得到PV、AC、EV這三個基礎數值,掙值管理自然就無從落實。

如果計劃與計劃跟蹤的工作能落實,這已經是前進了一大步,但如果沒有有效的、簡單的實際資料收集方式,掙值管理也難以完全落實。一般我們會使用Project來做進度計劃,如果我們能將任務細化做好,就能得到PV,如果我們能將任務的完成情況及時更新,這樣就能得到EV,但實際工時(AC)就不容易統計了。有些公司每週或者每月收集一次實際工時,有些公司還專門安排專案助理來負責資料收集的工作。但這些做法一開始會讓專案組各成員很不適應,能堅持下來的專案就很少了。

就算以上兩個問題你們都能解決,但你無法解決軟體專案“兩不確定兩大限死”的特點。這個特點讓你無法在專案初期計劃好專案的全部工作,而且計劃還經常與實際不符,你需要經常調整。也就是說你無法定下全部的PV,而且PV會經常調整。PV無法全部確定而且會經常調整,這意味著專案計劃的基準經常在變化,你會發現不止是PV,AC、EV的數值變化會非常頻繁,CV、SV、CPI、SPI這些指標變化幅度會很大。你會覺得花了這麼多的心思和工作來做掙值管理,收益卻不是很大。

專案計劃包括開發計劃、測試計劃、採購計劃、培訓計劃、配置管理計劃等等的各種計劃,一般會由不同的人員負責這些計劃,這些計劃一般是各自編寫的,不在同一份文件裡面,而且它們的表現形式也不太一樣。要系統地跟蹤這些計劃的PV、AC、EV,就需要解決這些計劃的統一性問題,而且不能因為要度量

PV、AC、EV,而讓這些計劃的負責人承擔很多額外的工作。

回到最根本的問題,我們為什麼要用掙值管理?難道就是為了追求量化嗎?

如果某專案的CPI、SPI數值很理想,一直在100%附近,你會覺得這個專案情況很理想嗎?
數字不能說明全部問題,數字往往還會欺騙我們呢!CPI、SPI 數值為100%,專案仍然有可能有嚴重問題。如果專案計劃本身有問題,漏掉了關鍵工作沒有安排,這樣PV其實是有問題,執行這樣的計劃,得到的AC和EV,計算出來CPI、SPI,其實沒有什麼意義。掙值管理說到底其實還是計劃與計劃執行情況的比較,需保證計劃沒有問題,這樣的比較才有意義。

某專案CPI、SPI都偏低,說明專案超支、進度落後,你會想到怎樣改進措施呢?在建築工程中出現這樣的情況,一般就是通過加班來搞定進度落後的問題,而專案超支一般就只能儘量節省一點,沒有更好的解決辦法。在軟體專案中,你會想到怎樣的辦法呢?
一般我們想到的辦法往往是想辦法讓AC更少,讓EV更多,而很少去想辦法降低PV!軟體專案是人類的高階智力活動,一個很有智慧的想法就能解決很多問題。軟體專案需求不確定、設計也不特定,需要我們用更多的智慧去主動迎接這兩個挑戰,想辦法降低工作量!

我們公司採用掙值管理來管理專案,已經有6年以上時間,最開始需要解決的就是落實計劃及計劃跟蹤工作,無論貴公司是否想採用掙值管理,這個工作都應該先做好,否則別的東西都是空談。在此基礎上,我們逐步落實各種度量措施,能讓我們方便地得到PV、AC、EV。到後期我們更加是更進一步,將按專案性質和工作型別,細分CPI、SPI,將需求分析
軟體設計編碼、測試四個子過程細化,加強控制力度並提高,使之達到CMMI4級及5級水平。

看上去我們公司似乎掙值管理做到了比較高的層次,其實我自己本人是不太想去計算這些CPI、SPI指標的。2009年我做了幾個公司之前沒有做過全新的專案,需求與技術不明確的特點充分展示出來,而且我帶領的團隊成員全部都是新人,大部分還是應屆生。專案每天都在打仗,而工作重點是想辦法去降低工作量!這幾個專案,全部都是預算限死、工期限死的!

對於掙值管理PV、AC、EV,我的看法是:
PV:你要想盡一切辦法降低PV,這是讓專案成功的最有效辦法,是你最需要做的事情!
AC:要讓專案組水平不斷提高,讓大家學會高效的工作辦法,讓大家用正確的辦法做正確的事情,這樣才能降低AC。
EV:每個任務的完成標準必須明確,任務要足夠細分,不要安排長週期的任務。任務只有兩個狀態:完成與未完成,任務完成90%之類的說法是不靠譜的,只要未完成,狀態就是未完成,該任務EV為零。

我覺得掙值管理最大的精要應該在於你對PV、AC、EV的認識!PV、AC、EV其實不必量化,專案成功的關鍵在於專案組的整體能力水平和知識水平,在於工作的條理性和嚴謹性。你覺得專案管理有問題,其實問題可能不是因為沒有應用掙值管理,而是專案組的水平不夠,工作沒有條理。

掙值管理不是玩數字遊戲,所有數字的背後必須有大量的客觀事實支撐,否則要數字不如無數字。本文介紹了掙值管理基礎知識以及在實際應用中的經驗體會,希望同學們能在實際工作中體會並靈活應用。

請看下一篇……

作者:張傳波

創新工場創業課堂講師

軟體研發管理資深顧問

《火球——UML大戰需求分析》作者

相關推薦

管理數字遊戲4——管理實用

摘要: 要考PMP(Project Management Professional ),掙值管理是必考的知識。軟體專案有很大的特殊性,不少人認為掙值管理不太適用於軟體專案。掙值管理相關資料也比較超多,但一般都難以讀懂,本文將會以輕鬆、易懂、實用的角度為你講解。大綱: 1.

cookie猜數字遊戲------------以及cookie使用的安全之處

1.通過cookie可以解決上篇中多個使用者對資料的修改,每個COOKIE儲存不同使用者的資料 <?php if(empty($_COOKIE['num'])||empty($_GET['num'])){ //第一次提交,執行這裡面的程式碼 $num=rand(0,100); se

cookie猜數字遊戲---------------思路分析踩坑

說明:使用者第一次請求頁面的時候,同時會產生一個隨機數,使用者點提交表單的時候,會將輸入的數字與第一次請求產生的數字進行一個對比。 問題一:如何儲存使用者每次提交的資料  我們常見的在伺服器中儲存資料的方式是通過file_put_content()函式,將使用者輸入

【ZCMU2096】數字遊戲數學題

題目連結 不忘初心,砥礪前行!慶祝中華人民共和國建國六十九週年!祝祖國繁榮昌盛,祝全國人民幸福安康! Problem 2096. -- 數字遊戲 2096: 數字遊戲 Time Limit: 1 Sec  Memory Limit: 128 MB Submit:

Python學習筆記數字遊戲while

今天寫的是一個猜數字遊戲,我記得好像大二還是大三的時候在日方課上用vb實現過,大體思想就是先生成一個隨機數,然後進行輸入,程式會判斷你輸入的值和隨機值相比較的結果,一直到你輸入正確才退出迴圈體。 關於隨機數的應用,首先要引入random類,程式中生成的是1到10的隨機

打地鼠遊戲4遊戲實現

通過前幾篇的屬性建立和定義,接下里就是有效開始後呼叫這些屬性的方法,並實現整個遊戲效果: //遊戲開始函式 function GameStart(){ if(Game.time > 0 && Game.time != 61){ alert("遊戲尚未結束,不能重新開始哦

管理方法論-學習技術管理實戰36講有感7-我能做好管理嗎?大家服我嗎?

1.補習和加強管理知識 2.從更高緯度去思考技術管理這件事 技術管理者生存之道就是能夠集合大家的力量,創造更好的業績,為團隊帶來更好的發展,贏得團隊和上級的信賴。 3.收集外部積極正向的反饋,提升團隊自信 定期向領導彙報團隊工作,在重大事情上徵求領導的看法和評價。

管理方法論-學習技術管理實戰36講有感1-為什麼需要學管理

1.自我傾聽-why 理順內心的糾結與彷徨,而後心無旁騖地開始用心學習技術管理 2.角色認知-what 搞清楚技術管理涉及的管理範圍 3.管理方法-how 管理三部曲:管理規劃、團隊建設、任務管理,即“看方向、帶人、做事“ 4.管理溝通 向上、向下、橫向 5.

用FLASH MX製作動畫卡通人物4-人物動起來

最後加入幀動畫以及ACTION:[img]/uploads/allimg/080331/1512500.gif[/img]動作設計是這樣的:眼睛按時間閃動,當滑鼠移上娃娃的手時,手上下移動,同時腦袋也歪一歪。眼睛很好做,增加一幀閉眼的動畫:[img]/uploads/alli

等號操作符重載為什麽能用友元函數大揭秘,以及函數沒有等到重載的時候賦會出現什麽現象盲點

style 報錯 round 賦值運算符重載 -c post body opera 為什麽 先看下面程序結果輸出什麽? 1 #include <iostream> 2 using namespace std; 3 4 clas

Lua用於遊戲運行期熱更重啟遊戲客戶端

服務端 道理 IT path 客戶 內存 每次 調用 清除 lua在Unity的熱更新中,一般是每次客戶端啟動的時候檢查是否有更新,然後加載。 如果要在運行期熱更,跟服務端做不停服熱更(比如java 用類構造啟動java腳本本身,或者luaJ)是一個道理。

Ts_半分查詢猜數字遊戲初始版

第一次使用半分查詢,勉強可以看 封裝函式體 int look(int arr[],int num,int r) { int left = 0; int right = 0; right = r; while (left <= right) /

c語言數字影象處理:閾處理

定義 全域性閾值處理 假設某一副灰度圖有如下的直方圖,該影象由暗色背景下的較亮物體組成,從背景中提取這一物體時,將閾值T作為分割點,分割後的影象g(x, y)由下述公式給出,稱為全域性閾值處理   多閾值處理 本文僅完成全域性閾值處理的演算法實現 基本全域性閾值處理方法

數字影象處理】二維2D線性插的應用

應用情況 在使用matlab對影象進行各種操作的時候經常要使用插值進行計算。 例如:影象縮放、影象旋轉、仿射變換等等。 線性插值 先介紹線性插值的概念。 已知兩個點(x1, y1)、(x2, y2),求它們中間橫座標為x的點的y值。 則可以利用如下公式進行插值

Time in the Subway: 猜數字遊戲GuessNum--Java程式碼實現

/* 需求:開發一個猜數字的小遊戲; * 描述:系統產生一個1-100之間的隨機數(含0和100),請猜出這個數字是多少。 * 1.產生隨機數 * 2.接收鍵盤輸入數字

7-24 猜數字遊戲 15 分

猜數字遊戲是令遊戲機隨機產生一個100以內的正整數,使用者輸入一個數對其進行猜測,需要你編寫程式自動對其與隨機產生的被猜數進行比較,並提示大了(“Too big”),還是小了(“Too small”),相等表示猜到了。如果猜到,則結束程式。程式還要求統計猜的次數,如果1次猜出該數,提示“Bing

js 陣列元素屬性一致 實現平均分歡迎支援別樣簡單解法

舉例:let resArr = [{'name':'p1',scores:[{'a1':15},{'a2':25},{'a3':38},{'a4':45},{'a5':51},{'a6':63},{'a7':73},{'a8':81},{'a9':29},{'a10':10}]},{'name':'

一個簡單的猜數字遊戲練習迴圈結構中的“while”

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>猜數字</title> <!--計算機隨機

獲取數字簽名.keystoreSHA1、MD5

1.執行進入控制檯 2.定位到.android資料夾下,輸入cd .android .android資料夾為存放簽名證書檔案的地方 3.輸入keytool -list -v -keystore debug.keystore,會得到三種指紋證書 金

Vijos P1218 數字遊戲動態規劃,環形DP

丁丁最近沉迷於一個數字遊戲之中。這個遊戲看似簡單,但丁丁在研究了許多天之後卻發覺原來在簡單的規則下想要贏得這個遊戲並不那麼容易。遊戲是這樣的,在你面前有一圈整數(一共n個),你要按順序將其分為m個部分,各部分內的數字相加,相加所得的m個結果對10取模後再相乘,最終得到一個數k。遊戲的要求是使你所得的k最大或