評價一個軟件項目(這里主要指合同項目)管理優劣的主要指標是質量、進度和成本,這已為業界所公認。軟件項目的質量管理問題自有一套完整的體系,包括定義良好的過程、評價準則和控制方法。軟件項目的計劃進度反映了用戶對項目在時間方面的要求,從我國的實際情況看,這種時間要求往往不是由項目的設計開發方根據對項目規模、性質以及資源等的估算提出來的,而往往是由用戶根據其使用要求、市場需求,有的甚至是根據某種行政或政治上的需要提出來的。這兩種要求有時有很大的差距,用戶的要求往往偏緊。這是多數軟件項目不能按時完成的重要原因。軟件項目的成本主要是人力資源成本,而人力資源成本直接與投入項目的人力和項目的計劃進度相關。大多數情況下,項目經理對人力資源的控制能力是很有限的(更多的權力在項目經理的上層),項目經理能夠控制的是進度。所以,從某種意義上說,控制好了進度,成本基本上也控制了。項目經理想要在既定的項目工期內完成任務,那么控制項目的計劃進度是非常關鍵的,是至關重要的。但是,在實踐中,我們看到有很多項目沒能按計劃完成,項目經理在執行中往往不知道如何控制計劃,發覺了計劃已經偏離,但不知道偏離有多大,影響有多嚴重,如何采取有效的措施來糾正。
有一個不是笑話的例子:
老板對項目經理小張說:“這個項目對公司和客戶都很重要,你們要好好干,在四個月內完成,要讓客戶滿意。四個月后我來看你們的成果,為你們慶功。”
按規定每個小張都要向老板匯報項目進展情況,頭三個月里,小張每次匯報都說,挺好,進展順利。
四個月時,老板興沖沖地問小張:“項目完成了吧,可以請客戶驗收了吧?”
小張卻說:“還有一些小問題,再給我半個月時間,應該沒問題。”
四個半月后,小張在匯報中說:“出了點小意外,我們正在解決,我們保證在一星期內解決。”
五個月后,小張說:“我們在測試時遇到了點小麻煩,還需半個月。”
六個月后,小張說:“我們正在修改一些重要功能,還需半個月。”
七個月時,小張說:“我們正在完善一些重要功能,還需半個月。”
八個月后,項目總算完成了,老板請客戶來驗收,客戶礙于情面同時也覺得再也等不起了,通過驗收,投入試用。
過了試用期,客戶卻不按合同規定付款,他們說,試用中發現了好多問題,要到這些問題都解決了才能付款。
比起那些因為計劃拖延得太多而放棄的項目來,小張他們還算不錯。但公司可能賺不到錢了,客戶的項目建設計劃泡湯了,應用也受到嚴重影響,公司的客戶滿意度和在業界的聲譽也受到了影響。
為什么小張他們一而再,再而三地突破計劃呢?很大的可能是小張在每次周匯報時不能正確地判定當時的狀態,發現問題后,又不能評估問題的嚴重程度,當然也不會提出切實的解決措施。
本文提出的積分法是要讓項目經理和項目成員能在檢查點處定量地評估當時的進度狀態,定量地分析問題的嚴重程度,預測后果和輔助項目經理和項目成員對進度問題作出正確的決策。
1、用積分法控制進度
積分法的基本思想是,為項目中每一項任務按項目計劃給出一個績效指標―計劃積分,在項目執行過程中的每一個檢查點(一般應在里程碑點,或按月/周定期)按執行計劃的績效得出實際積分,通過這兩個積分值的比較,分析、評估項目的進度狀態。
項目總的工作量 100
圖1 項目EXP的計劃圖
讓我們用一個例子來說明這種方法是如何控制進度的。一般在作項目計劃時都應該繪制計劃圖(如GANTT圖,可用MS PROJECT繪),圖1是項目EXP(本文用的案例)的GANTT圖。圖中還包含了人力的安排,在表示每項任務工期的杠的兩端標出了該項任務的開工和完工日期。繪制這種圖的難度在于對整個項目工作量的估計和對各項任務工作量的分配,關于這方面的問題,在不少資料上有介紹,本文不予討論。從圖1可以看出,這是一個需要100人-周工作量,分成9項任務的項目。開發工期為9個半月。下面我們討論積分法的工作步驟。
2、 積分和累計積分