11. 項目進度管理
對於甲方項目經理來說,項目進度管理指在項目建設的過程中,其通過各種管理手段來確保乙方項目團隊的項目建設工作能夠按照甲乙雙方協商好的項目建設計划進行。其職責主要有兩個方面:一是通過相應的管理手段來掌握項目建設的進度情況;二是基於項目工作計劃,結合自身工作經驗來對項目進度進行分析,如發現進度出現延期或存在延期風險,則對其原因進行判別並結合項目實際情況來採取相應的處置措施,如:不做任何處理、調整後續項目工作的進度或修改項目建設計劃等。
11.1. 項目進度情況表
在項目建設過程中,為滿足項目進度管理的需要,甲方項目經理必須要能夠隨時掌握乙方項目團隊開發建設工作進度的真實情況。準確、全面和及時的項目進度信息,是甲方項目經理進行項目進度管理的必要基礎,相關的進度管理手段才能夠做到有的放矢,否則的話一切管理都是建立在空中樓閣上的,沒有任何實際意義。從第十章中我們可以知道,甲方項目經理獲取項目建設情況的主要途徑是乙方項目團隊對日常建設情況的各種彙報文檔和會議。同樣,其獲取項目進度相關的信息也主要是通過乙方項目團隊的彙報,其中項目工作日報為主要的信息來源。
對於甲方項目經理來說,其從乙方團隊獲取到的進度信息通常是針對工作項的,項目的整體進度情況還需要其依據個人工作經驗並結合項目建設計劃,對所有工作項的進度進行綜合的分析後才能夠得到。其在確定項目進度情況的時候,有兩方面的內容需要注意:一是單項工作是否延期取決於其計劃時間內整體的工作情況,而不是當天的工作情況;二是單項工作延期並不意味著整體進度也延期,但整體進度延期一定存在某些單項工作延期。
依據筆者的個人經驗,甲方項目經理可以通過項目工作進度情況表來記錄每日的項目工作進度情況,該表主要展示項有工作項、責任人、預計開始日期、預計結束日期、實際開始日期、實際結束日期、每日工作狀態、父工作項、待解決問題和備註。其中「預計開始日期」和「預計結束時間」是項目工作計劃中規劃的日期;「開始日期」和「結束日期」是項目工作實際完成的日期,代表了項目的實際進度;「工作狀態」為按日記錄的所有在進行工作項的狀態,一般可以分為正常、提前、延期和完成,也可以使用不同的顏色進行標識。其內容是由甲方項目經理依據乙方項目團隊反饋的建設情況,依託自身工作經驗並結合自己對項目情況的認識和理解而填寫的;「父工作項」指該工作項所依賴的上一級工作項。
表 11.1
通過項目進度情況表,甲方項目經理可以直觀的看到當日所有單項工作和項目整體的進度情況,其在進行進度管理時只需要關注表狀態為「延期」的工作項,這是由於該工作當日的進度已落後於項目計劃,項目工作存在極大的延期風險或已發生延期,其需要及時對這些處於「延期」狀態的工作進行處理:一方面要結合項目整體情況來分析導致其延期的原因;另一方面在分析結果的基礎上,給出後續的處置方案,並督促乙方廠商予以實施。
11.2. 進度延期類型
一般情況下,項目進度表中的「延期」可以分為兩種類型:一種是某一具體項目工作的進度出現延期,但並不影響項目整體進度;另一種則是項目整體工作進度出現了延期。其中,具體項目工作進度的延期不一定會導致項目整體工作進度的延期,但整體工作進度的延期一定是由某些具體工作進度的延期導致的。可以看到,具體工作進度延期和整體工作進度延期之間有一定的聯繫,即如果第一種延期類型處置不當的話,勢必會導致整體工作進度的延期。甲方項目經理在開展進度管理工作時,不同延期類型對應的處置方式也各有不同,其在發現項目工作進度出現延期時,先要分析其延期的原因,並結合項目情況來判別是否對項目整體的進度有影響,然後再同乙方項目團隊成員共同協商並給出具體的解決方案:
1. 具體工作進度延期,整體項目進度未延期
對於這種類型的延期來說,儘管相應的工作項出現了延期,但由於其可以通過工作計劃調整、技術支持、延長工作時間等手段在短期內得以解決,因此對項目整體進度造成的影響基本可以忽略不計。其具有以下特點:一是影響範圍小,一般不會影響到與之關聯的其他項目工作;二是延期時間短,相較於計劃時間,其在大多數情況下可以忽略不計;三是不具有規律性,在項目建設工作中會導致這種延期的因素有很多,使得很難對其進行有效的預測。
在項目建設過程中,這種類型的延期大多數情況下是由其責任人自身的原因導致的,主要分為以下幾種情況:一是在制定項目工作計劃時,一般是基於乙方項目團隊的平均工作能力來制定的,所以在實際建設過程中,因具體工作責任人的不同,工作進度會以預定計劃為基線有所波動,但匯總後的總體進度依舊符合計劃要求;二是由於項目開始階段,因乙方項目團隊成員對項目需求或開發框架不熟悉,而導致項目進度存在一定的延期,但隨著項目工作的推進,在對需求或開發框架熟悉後,工作進度會逐漸趕上並超過計劃的要求,最後保證整體進度與計劃相一致;三是業務需求發生小範圍的調整,不影響整體進度但增加了額外的工作量;最後是由於具體項目工作責任人短期脫離崗位,如短期請假(3天以內),而導致項目工作的延期。
2. 項目整體進度延期
項目整體進度延期,指項目整體的工作進度因受某些具體工作項延期的影響,而出現無法按計劃如期完成的風險。甲方項目經理在對這種情況進行處置時,有兩個方面需要注意:一是在對整體延期進行處置時,可能會導致整體進度進一步的延期,這是由於處置工作也屬於計劃外的工作,也會對計劃內工作產生影響。因此,其在決定處置方案的時候,還需要考慮處置方案對項目工作的影響;二是項目整體延期風險如果無法得到及時、有效的處置的話,其還可能會導致其他在進行或將進行的項目工作也發生延期,進而使得項目整體進度產生進一步的延期。
在項目建設過程中,整體進度延期大多數情況下是由超出項目成員可控範圍以外的因素導致的,主要有以下幾種情況:一是工作計劃制定出現問題,即在制定工作計劃的時候,對項目團隊平均能力估計偏於樂觀,導致實際進度無法滿足技術要求,從而導致大範圍的延期;二是無法解決的技術問題,在項目建設工作中出現了無法迴避且很難解決的技術問題,要求乙方項目團隊投入大量的人力和時間來處理該問題;三是產品設計存在缺陷,使得建設工作無法開展下去,乙方項目團隊需要重新對產品進行設計;四是需求出現較大變更,在項目建設過程中由於業務變化或是需求明確等原因,對需求做了大的調整或新增;五是產品存在質量問題,導致項目測試進度無法達到預期;最後是人員大量流失或長期缺崗。
11.3. 進度延期處置
在項目建設過程中,當甲方項目經理髮現項目建設工作的進度延期時,其就需要結合項目的建設情況,對延期的原因進行深入的分析,並同乙方項目團隊一起制定相應的處置方案,以確保項目工作能夠如期完成。
甲方項目經理在制定處置方案時,通常應遵循如下的原則:基於項目「完成」定義,優先保證「完成」核心項。即其在制定處置方案時,要從項目「完成」定義來入手,在確保項目「完成」核心項的前提下,從時間、需求、質量和成本等角度綜合考慮、合理規劃、有所側重,一方面要求乙方項目團隊提升工作效率、注重產品質量、延長工作時間、改進技術方案、增加資源投入等;另一方面對「完成」非核心項的要求進行調整,通過降低項目建設目標要求的方式,來消除延期的影響。對於甲方項目經理來說,其常用的處置手段有:
1. 項目「完成」核心項為時間
當項目「完成」的核心項為時間時,項目的最終完成時間或某些里程碑時間在非必要的情況下是不可變更的。因此,甲方項目經理在制定項目進度延期的處置方案時,其應在保證項目完成時間不變的前提下,結合項目建設的實際情況,從項目建設相關的計劃、需求、質量和成本等方面綜合的進行考慮,從而得出合理、有效的處置方案。這種情況下,常見的處置方案主要有以下幾種:
1) 不做任何處理。對於存在延期風險的工作項來說,如果其具有以下兩個方面的特徵:一是不會對項目整體進度產生影響;二是其負責人可以給出充足的證據,來證明該項工作可以在計劃內完成時。那麼甲方項目經理可以不對其進行任何處置,但需要重點關注其後續的進展情況;
2) 調整工作計劃。對於無法在計劃時間內完成的工作項,甲方項目經理可以在不改變最終完成時間的前提下,通過調整其他工作項計劃的方式,來彌補其因延期而增加的工作時間,從而確保整體進度不發生變化。使用這種方式,需要注意的是被調整的工作項是否有足夠的調整空間,否則的話延期風險只是被轉移到了別的工作項上,而沒有真正的被消除;
3) 調整項目「完成」非核心項的要求。對於甲方項目經理來說,當其無法通過調整後續工作計劃的方式來確保整體進度時,可以考慮對「完成」非核心項的要求進行調整,如控制需求、降低質量或增加成本等,來保證項目整體的完成時間。首先,對於項目需求來說,其可以通過降低需求實現要求、控制需求變更範圍、減少新增需求等方式,來減少乙方項目團隊的工作量,從而確保其在計劃時間內可以完成相應的工作;其次,對於產品質量來說,其可以通過降低產品質量標準的方式,來減少乙方項目團隊的工作量、提升其工作效率;最後,對於項目成本來說,其可以通過增加成本的方式,來要求乙方項目團隊增加資源的投入,進而提升項目建設效率。但需要注意的是,因甲方財務、風控制度的要求和乙方項目團隊自身條件所限,增加成本的方式不一定可行。
2. 項目「完成」核心項為需求
當項目「完成」的核心項為需求時,項目建設的首要目標確保產品功能能夠滿足所有的業務需求。因此,甲方項目經理在制定項目進度延期的處置方案時,其應在保證業務需求全部滿足的前提下,結合項目建設的實際情況,從項目建設相關的計劃、時間、質量和成本等方面綜合的進行考慮,從而得出合理、有效的處置方案。這種情況下,常見的處置方案主要有以下幾種:
1) 不做任何處理。對於存在延期風險的工作項來說,如果其具有以下兩個方面的特徵:一是不會對項目整體進度產生影響;二是其負責人可以給出充足的證據,來證明該項工作可以在計劃內完成時。那麼甲方項目經理可以不對其進行任何處置,但需要重點關注其後續的進展情況;
2) 調整工作計劃。對於可以明確完成時間的延期工作項,甲方項目經理可以通過調整該工作及其相關工作計劃的方式,來為其分配充足的建設時間,使得調整後的工作計劃同當前的工作進度相匹配,從而消除相應的延期風險。這裡需要注意的是,儘管當前項目工作的核心要求是滿足業務需求,但項目完成時間也不能夠無限制的延長。這是由於當時間延長到一定程度後,項目「完成」的核心項勢必會由「需求」轉變為「時間」;
3) 降低質量標準。對於甲方項目經理來說,其可以通過降低產品質量標準的方式,來減少乙方項目團隊的工作量,進而確保項目整體的完成時間。但這裡需要注意的是,過多的降低質量標準會導致產品無法正常使用;
4) 增加項目成本。甲方項目經理可以通過增加成本的方式,來要求乙方項目團隊增加資源的投入,進而提升項目建設效率。但需要注意的是,因甲方財務、風控制度的要求和乙方項目團隊自身條件所限,增加成本的方式不一定可行。
3. 項目「完成」核心項為質量
當項目「完成」的核心項為質量時,項目建設的首要目標確保產品質量可以達到使用標準。因此,甲方項目經理在制定項目進度延期的處置方案時,其應在確保產品質量的前提下,結合項目建設的實際情況,從項目建設相關的計劃、時間、需求和成本等方面綜合的進行考慮,從而得出合理、有效的處置方案。依據筆者的個人經驗來看,項目質量在一定程度上也可以算作是對項目建設的一種特殊需求,即「質量需求」。因此,甲方項目經理在對以質量為「完成」核心的項目進行進度管理的時候,可以參照核心項為需求時的處置方式。這種情況下,常見的處置方案主要有以下幾種:
1) 不做任何處理。對於存在延期風險的工作項來說,如果其具有以下兩個方面的特徵:一是不會對項目整體進度產生影響;二是其負責人可以給出充足的證據,來證明該項工作可以在計劃內完成時。那麼甲方項目經理可以不對其進行任何處置,但需要重點關注其後續的進展情況;
2) 調整工作計劃。可以通過調整後續工作計劃的方式,對於可以明確完成時間的延期工作項,甲方項目經理可以通過調整該工作及其相關工作計劃的方式,來為其分配充足的建設時間,使得調整後的工作計劃同當前的工作進度相匹配,從而消除相應的延期風險。這裡需要注意的是,儘管當前項目工作的核心要求是滿足業務需求,但項目完成時間也不能夠無限制的延長。這是由於當時間延長到一定程度後,項目「完成」的核心項勢必會由「質量」轉變為「時間」;
3) 調整需求範圍。甲方項目經理可以通過縮減需求實現要求、控制需求變更範圍、減少新增需求的方式,來減少乙方項目團隊的工作量,從而確保其可以在計劃時間內,按照質量標準的要求來完成相應的工作;
4) 增加項目成本。甲方項目經理可以通過增加成本的方式,來要求乙方項目團隊增加資源的投入,進而提升項目建設效率。但需要注意的是,因甲方財務、風控制度的要求和乙方項目團隊自身條件所限,增加成本的方式不一定可行。
4. 項目「完成」核心項為成本
當項目「完成」的核心項為成本時,項目建設的首要目標是控制項目成本。因此,甲方項目經理在制定項目進度延期的處置方案時,其應在不增加成本的前提下,結合項目建設的實際情況,從項目建設相關的計劃、時間、需求和質量等方面綜合的進行考慮,從而得出合理、有效的處置方案。這種情況下,常見的處置方案主要有以下幾種:
1) 不做任何處理。對於存在延期風險的工作項來說,如果其具有以下兩個方面的特徵:一是不會對項目整體進度產生影響;二是其負責人可以給出充足的證據,來證明該項工作可以在計劃內完成時。那麼甲方項目經理可以不對其進行任何處置,但需要重點關注其後續的進展情況;
2) 調整工作計劃。可以通過調整後續工作計劃的方式,對於可以明確完成時間的延期工作項,甲方項目經理可以通過調整該工作及其相關工作計劃的方式,來為其分配充足的建設時間,使得調整後的工作計劃同當前的工作進度相匹配,從而消除相應的延期風險。這裡需要注意的是,儘管當前項目工作的核心要求是滿足業務需求,但項目完成時間也不能夠無限制的延長。這是由於當時間延長到一定程度後,項目「完成」的核心項勢必會由「質量」轉變為「時間」;
3) 調整需求範圍。甲方項目經理可以通過縮減需求實現要求、控制需求變更範圍、減少新增需求的方式,來減少乙方項目團隊的工作量,從而確保其可以在計劃時間內,按照質量標準的要求來完成相應的工作;
4) 降低質量標準。對於甲方項目經理來說,其可以通過降低產品質量標準的方式,來減少乙方項目團隊的工作量,進而確保項目整體的完成時間。但這裡需要注意的是,過多的降低質量標準會導致產品無法正常使用。
11.4. 常見的進度問題
在本節中,筆者依據自身的工作經驗,對可能會導致項目建設過程中出現進度問題的常見原因進行了梳理,主要有需求、技術、質量和人員等多個方面,並基於個人的經驗給出了相應的解決方案和注意事項。具體如下:
1. 業務需求變更
業務需求變更是指因某些原因而對已定稿的業務需求進行調整的過程,主要是針對功能工作基礎,所有工作都是圍繞其展開的。可以說,業務需求一旦發生了變更,就勢必會對相關的項目建設工作造成直接的影響:一方面為實現變更內容,乙方項目團隊需要投入很多額外的工作量,進而增加項目出現進度延期的風險;另一方面新增的工作要求對工作計划進行相應的調整,可能會對團隊成員已有的工作節奏、安排造成影響。
對於甲方項目經理來說,其在處置因業務需求變更而導致的進度延期時,可以採用如下處置流程,詳見下圖11.1:
圖 11.1
1) 在業務需求發生變更的時候,甲方項目經理需要依據業務需求的變更範圍,結合當前的項目建設情況,同乙方項目團隊一起,共同確認變更後的需求能否在預定時間內完成;
2) 如變更後的需求可以在預定時間內完成,那麼甲方項目經理就需要依據變更後的需求,同乙方項目團隊一起重新調整工作計劃;
3) 如變更後的需求無法在預定時間內完成,那麼甲方項目經理就需要依據項目「完成」的核心項來制定相應的處置方案:在確保滿足「完成」核心項要求的前提下,其可以通過控制需求變更範圍、增加乙方團隊人員、降低產品質量標準、調整預定完成時間等方式來消除需求變更對項目進度的影響。
2. 技術問題
技術問題指的是乙方項目團隊在項目建設過程中,由於對需求理解的不準確或是對所使用的技術認識不足,導致項目建設工作在技術層面無法順利進行,一般包含兩種情況:一是技術方案存在缺陷,導致無法全部滿足或只能部分滿足業務需求的實現要求;二是乙方人員對項目建設中所使用的技術不熟悉或了解不夠深入,導致在具體的開發時無法實現所要求的功能。在項目建設過程中,一旦出現了技術問題,就必定會導致與其相關的工作出現停滯不不前的情況,從而導致項目整體的進度出現延期。
對於甲方項目經理來說,其在處置因技術問題而導致的項目進度延期時,通常會針對不同的情況而採用不同的處理方案:
1) 技術方案存在缺陷。對於項目建設工作的影響較大,甚至會要求已完成工作進行返工。甲方項目經理在處置這種類型的延期時,一般會採用如下流程:首先評估該技術問題對項目建設工作的影響範圍;其次調整工作計劃,先行開展沒有受到影響的其他工作,以確保項目建設工作的不會因此而停滯;再次在確保「完成」核心項的同時,通過控制需求變更範圍、增加乙方團隊人員、降低產品質量標準、延長完成時間等方法來為後續工作留出充足的時間;從次要求乙方廠商依據項目建設的實際要求,對技術方案進行修改,並組織相關人員重新對技術方案進行評審;最後按照新的技術方案重新制定工作計劃。
2) 技術不熟悉或了解不夠深入。對於項目建設工作來說,受到影響的主要是某些特定的工作,影響範圍相對較小。甲方項目經理在處置這種類型的延期時,一般會採用如下流程:首先評估該技術問題對項目建設工作的影響範圍;其次調整工作計劃,先行開展沒有受到影響的其他工作,以確保項目建設工作的不會因此而停滯;再次要求乙方團隊協調外部專家或自行研究,以儘快掌握相應的技術;最後按照新的技術方案重新制定工作計劃。
3. 產品質量問題
產品質量問題是指因某些原因而導致軟體產品無法滿足業務需求或無法正常使用的情況,導致該問題的原因主要有:乙方人員對需求理解不準確、技術方案存在缺陷、代碼存在問題或產品測試不充分等。本節中,產品質量問題致的進度延期主要是指在項目測試階段,因待修復bug數無法在預定時間內收斂,而導致項目測試階段的工作進度偏離計劃。其中待修復bug數等於提出bug總數減去修復bug總數。
對於這種類型的進度延期,甲方項目經理的處置原則為:在保證「完成」核心項的前提下,儘可能的對bug進行修復。當「完成」核心項為時間時,其處置方案的核心目標就是在規定的時間內來使待修復bug數降至可接受的範圍。但當bug數始終無法降低時,「完成」核心項可能會由時間變為質量;當「完成」核心項為其他要素時,則可以接受一定程度的進度延期,從而確保產品的質量。但需要注意的是,當延期超過相關人員的預期後,「完成」的核心項就會轉變為時間。
對於甲方項目經理來說,其在處置這種類型的進度延期時,通常會從以下兩個方面入手:一是要提高bug修復率;二是降低bug提出率。但在制定處置方案時,其不會僅從某一方面入手,而是會依據「完成」核心項來從兩個方面綜合的進行考慮。具體如下:
1) 提高bug修復率。對於甲方項目經理來說,其可以通過以下幾種方式來提高bug的修復率:一是對待修復的bug進行分類,同類型bug應採用集中處理的方式,有利於提升bug修復的效率;二是在對bug進行分配時,相關聯的bug應盡量由同一人負責,可以降低不同人員間的溝通成本,提升修復效率;三是明確每個問題的責任人,按人進行待修復bug數的管理,一方面可以避免修復工作中出現相互推諉的情況,另一方面也有利於甲方項目經理開展跟蹤管理工作;四是對在修復的bug,制定bug修改計劃,並依據項目情況按日或半日進行跟蹤管理;五是對於較複雜或影響面較大的bug,應在修改前對其修改方案進行評審,可以有效規避相應的技術風險;六是對產品bug進行分級,低優先順序的問題暫不作處理;最後是加強工作總結和經驗分享,從而提升相關人員的能力。
2) 降低bug提出率。對於甲方項目經理來說,其可以通過以下幾種方式來降低bug的提出率:一是對提出的問題類型進行明確的區分,對不同類型的問題採用不同的處理方式,其中常見的問題類型有:需求變更、需求優化和bug等;二是強化乙方項目團隊內部的單元測試和交叉測試,以保證問題修復質量;三是降低產品的質量標準。但這裡需要注意的是,對於該方案來說,只有在其他方案均無法達到預期效果且「完成」核心項不是質量的前提下,才可以在相關領導授權的基礎上有限度的進行使用。
4. 乙方項目團隊成員能力問題
乙方項目團隊成員能力問題指的是因個人能力不足而導致項目建設工作無法順利開展的情況,在項目建設過程中涉及到的個人能力主要有需求理解能力、產品設計能力、代碼實現能力、軟體測試能力以及文檔編寫能力等。我們知道,在項目建設階段各項工作的主體是乙方項目團隊,其團隊成員是完成所有建設工作的基礎和保障。因此,一旦項目團隊中的某位成員因能力問題而導致其負責的工作無法按時、保質、保量的完成時,就勢必會對其它與之相關的各項工作的進度造成影響,進而影響項目整體的進度。
對於甲方項目經理來說,由於其對乙方項目團隊採用的是非接觸式的管理方式,因此在項目管理過程中很少會越過乙方項目團隊負責人來直接對具體的團隊成員行使管理職責。所以,在處置因乙方項目團隊能力問題而導致的項目進度延期時,乙方團隊成員的管理主要由乙方團隊負責人來承擔,甲方項目經理的工作職責主要是提出解決要求、審核乙方團隊的解決方案並監督其執行情況,必要時可以要求乙方項目團隊更換相關人員。另外,為避免因乙方成員能力而導致的項目進度風險,可以在乙方項目團隊成員入場前進行相應的能力測試,只有通過測試的成員才可以入場。
甲方項目經理在處置這種類型的延期時,通常會從以下三個方面入手:一是提升相關人員的個人能力;二是限制能力較弱人員所負責的工作;三個是加強對能力較弱人員工作的監督。具體如下:
表 11.2
5. 乙方項目團隊成員離崗
乙方項目團隊成員離崗通常指項目成員因某些計劃之外的原因,如生病、離職等,導致其臨時或永久脫離項目團隊,不再參與項目的建設工作。我們知道,項目成員離崗勢必會導致其所負責工作的進度停滯不前,而且還會對與之關聯的其他工作造成一定程度的影響,甚至還會造成項目整體進度的延期。
對於甲方項目經理來說,由於其對乙方項目團隊成員不具有直接管理的許可權,所以在對這種類型的延期進行處置時,其主要是通過以下幾個方面來處理的:一是要求乙方團隊重新調整工作安排,將離崗人員所負責的工作分攤給其他項目組成員,以確保項目整體進度不會因人員離崗而延期;二是依據項目當前的情況,從項目期限、項目進度、剩餘工作量、人員培訓成本等多個方面來決定是否需要乙方項目團隊補充新的成員;最後對於核心項目成員離崗,應要求乙方公司重新安排專職人員來接替其工作,只有在做好交接工作後方可離崗。
推薦閱讀:
※項目經理VS產品經理,哪個更有「錢途」?
※上輩子傷天害理,這輩子做項目經理
※什麼是產品經理?——產品經理基礎素養(附產品基礎知識)
※不要慫,就是干【PMP考試攻略】
※【PM如何管理項目干係人】