軟考高項考點:項目進度管理的技術和工具
一、工作量和工期估計
1、軟件開發項目通常用LOC衡量項目規模,LOC指所有的可執行的源代碼行數。
例如,某軟件公司統計發現該公司每一萬行C語言源代碼形成的源文件約為250KB。某項目的源文件大小為3.75MB,則可估計該項目源代碼大約為15萬行,該項目累計投入工作量為240人月,每人月費用為10000元(包括人均工資、福利、辦公費用公攤等),則該項目中1LOC的價值為:
?。?40X10000)/150000=16元/L0C
該項目的人月均代碼行數為:
150000/24=625LOC/人月
2、項目工作量和工期的估計,通常有以下幾種方法
?。?)Delphi法進度管理。
?。?)類比估算法:類比估算法適合評估一些與歷史項目在應用領域,環境和復雜度等方面相似的項目,通過新項目與歷史項目的比較得到規模估計。由于類比估算法估計結果的精度取決于歷史項目數據的完整性和準確度。軟件項目中用類比估算法,往往還要解決可重用代碼的估算問題。可用下面的計算公式計算等價新代碼行:
等價代碼行=【(重新設計百分比+重新編碼百分比+重新測試百分比)/3】X已有代碼行
比如:有10000行代碼,假定30%需要重新設計,50%需要重新編碼,70%需要重新測試,那么其等價的代碼行可以計算為:
【(30%+50%+70%)/3】x10000=5000等價代碼行
即重用這10000代碼相當于編寫5000代碼行的工作量。
?。?)參數估算法:參數估算是一種基于歷史數據和項目參數,使用某種算法來計算成本或工期)的估算技術,準確性取決于參數模型的成熟度加基礎數據的可靠性。參數估算可以針對整個項目或項目中的某個部分,并可與其他估算方法聯合使用。
(4)儲備分析:在進行工作量或者工期估算時,需考慮應急儲備(有時稱為時間儲備或緩沖時間),并將其納入項目進度計劃中,用來應對進度方面的不確定性。應急儲備是包含在進度基準中的一段持續時間,與“已知-未知”風險相關。也可以估算項目所需要的管理儲備。管理儲備是為管理控制的目的而特別留出的項目時段,用來應對項目范圍中不可預見的工作。管理儲備用來應對會影響項目的“未知-未知”風險。管理儲備不包括在進度基準中,但屬于項目總持續時間的一部分。依據合同條款,使用管理儲備可能需要變更進度基準。
二、項目活動排列順序的技術和工具
1、確定依賴關系:活動之間的依賴關系可能是強制性的或選擇性的,內部或外部的。
?。?)強制性依賴關系。強制性依賴關系是法律或合同要求的或工作的內在性質決定的依賴關系
?。?)選擇性依賴關系。選擇性依賴關系有時又稱首選邏輯關系、優先邏輯關系或軟邏輯關系。
(3)外部依賴關系。外部依賴關系是項目活動與非項目活動之間的依賴關系。這些依賴關系往往不在項目團隊的控制范圍內。例如,軟件項目的測試活動取決于外部硬件的到貨。
?。?)內部依賴關系。內部依賴關系是項目活動之間的緊前關系,通常在項目團隊的控制之中。例如,只有機器組裝完畢,團隊才能對其測試,這是一個內部的強制性依賴關系。
2、前導圖法前導圖法也稱緊前關系繪圖法,是用于編制項目進度網絡圖的一種方法,它使用方框或者長方形,(被稱作節點)代表活動,節點之間用箭頭連接,以顯示節點之間的邏輯關系。這種網絡圖也被稱作單代號網絡圖。
前導圖法包括活動之間存在的4種類型的依賴關系
(1)結束-開始的關系(F-S型)
?。?)結束-結束的關系(F-F型)
?。?)開始-開始的關系(S-S型)
?。?)開始-結束的關系(S-F型)
通常,每個節點的活動會有如下幾個時間:
?。?)最早開始時間(ES),某項活動能夠開始的最早時間。
(2)最早結束時間(EF),某項活動能夠完成的最早時間。
EF=ES+工期
(3)最遲結束時間(LF)。為了使項目按時完成,某項活動必須完成的最遲時間。
?。?)最遲開始時間(LS)。為了使項目按時完成,某項活動必須開始的最遲時間。
LS=LF-工期
這幾個時間通常作為每個節點的組成部分,如圖所示。
3、箭線圖法與前導圖法不同,箭線圖法是用箭線表示活動、節點表示事件的一種網絡圖繪制方法。這種網絡圖也被稱作雙代號網絡圖,在箭線圖法中,活動的開始(箭尾)事件叫作該活動的緊前事件,活動的結束(箭頭)事件叫該活動的緊后事件。
在箭線圖法中,有如下三個基本原則。
?。?)網絡圖中每一活動和每一事件都必須有唯一的一個代號,即網絡圖中不會有相同的代號。
?。?)任兩項活動的緊前事件和緊后事件代號至少有一個不相同,節點代號沿箭線方向越來越大
?。?)流入(流出)同一節點的活動,均有共同的的緊后活動(或緊前活動)。
為了繪圖的方便,在箭線圖中又人為引入了一種額外的、特殊的活動,叫作虛活動,在網絡圖中由一個虛箭線表示。虛活動不消耗時間,也不消耗資源,只是為了彌補箭線圖在表達活動依賴關系方面的不足。借助虛活動,我們可以更好地、更清楚地表達活動之間的關系
4、提前量與滯后量:在活動之間加入時間提前量與滯后量,可以更準確地表達活動之間的邏輯關系。
三、制訂項目進度計劃的工具和技術
1.制訂項目計劃步驟
?。?)項目描述。項目描述是用一定的形式列出項目目標、項目的范圍、項目如何執行、項目完成計劃等內容,是制訂項目計劃和繪制工作分解結構圖的依據。
?。?)項目分解與活動界定。為了便于制訂項目各具體領域和整體計劃,需將項目及其主要可交付成果分解成一些較小的,更易管理和單獨完成的部分。項目分解是編制項目進度計劃,進行進度管理的基礎。
?。?)工作描述。在項目分解的基礎上,為了更明確地描述項目所包含的各項工作的具體內容和要求,需要對工作進行描述。
?。?)項目組織和工作責任分配。
?。?)工作排序。進度管理。
?。?)計算工作量
(7)估計工作持續時間。
?。?)繪制網絡圖
?。?)進度安排
2、關鍵路徑法
最早開始時間和最晚開始時間相等的活動稱為關鍵活動,關鍵活動串聯起來的路徑成為關鍵路徑。進度網絡圖中可能有多條關鍵路徑。在項目進展過程中,有的活動會提前完成,有的活動會推遲完成,有的活動會中途取消,新的活動可能會被中途加入,網絡圖在不斷變化,關鍵路徑也在不斷變化之中。
在不延誤項目完工時間且不違反進度制約因素的前提下,活動可以從最早開始時間推遲或拖延的,時間量,就是該活動的進度靈活性,被稱為“總浮動時間”。正常情況下,關鍵活動的總浮動時間為零。
“自由浮動時間”是指在不延誤任何緊后活動的最早開始時間且不違反進度制約因素的前提下,活動可以從最早開始時間推遲或拖延的時間量。
關鍵路徑是項目中時間最長的活動順序,決定著可能的項目最短工期。
3、關鍵鏈法
關鍵鏈法(CCM)是一種進度規劃方法,允許項目團隊在任何項目進度路徑上設置緩沖,以應對資源限制和項目的不確定性。這種方法建立在關鍵路徑法之上,考慮了資源分配、資源優化、資源平衡和活動歷時不確定性對關鍵路徑的影響。
關鍵鏈法增加了作為“非工作活動”的持續時間緩沖,用來應對不確定性。如圖所示,放置在關鍵鏈末端的緩沖稱為項目緩沖,用來保證項目不因關鍵鏈的延誤而延誤。其他緩沖,即接駁緩沖,則放置在非關鍵鏈與關鍵鏈的接合點,用來保護關鍵鏈不受非關鍵鏈延誤的影響。應該根據相應活動鏈的持續時間的不確定性,來決定每個緩沖時段的長短。一旦確定了“緩沖活動”,就可以按可能的最遲開始與最遲完成日期來安排計劃活動。這樣一來,關鍵鏈法不再管理網絡路徑的總浮動時間,而是重點管理剩余的緩沖持續時間與剩余的活動鏈持續時間之間的匹配關系。
4、資源優化技術
資源優化技術是根據資源供需情況,來調整進度模型的技術,包括(但不限于):
?。?)資源平衡,為了在資源需求與資源供給之間取得平衡,根據資源制約對開始日期和結束日期進行調整的一種技術。如果共享資源或關鍵資源只在特定時間可用,數量有限,或被過度分配,如一個資源在同一時段內被分配至兩個或多個活動;就需要進行資源平衡。也可以為保持資源使用量處于均衡水平而進行資源平衡。資源平衡往往導致關鍵路徑改變,通常是延長。
?。?)資源平滑,對進度模型中的活動進行調整,從而使項目資源需求不超過預定的資源限制的一種技術。相對于資源平衡而言,資源平滑不會改變項目關鍵路徑,完工日期也不會延遲。也就是說,活動只在其自由浮動時間和總浮動時間內延遲。因此,資源平滑技術可能無法實現所有資源的優化。
5、進度壓縮
進度壓縮技術是指在不縮減項目范圍的前提下,縮短進度工期,以滿足進度制約因素、強制日期或其他進度目標。進度壓縮技術包括(但不限于):
?。?)趕工。通過增加資源,以最小的成本增加來壓縮進度工期的一種技術。
?。?)快速跟進。將正常情況下按順序進行的活動按順序進行的階段改為至少是部分并行開展??焖俑M可能造成返工和風險增加。它只適用于能夠通過并行活動來縮短項目工期的情況。
6、計劃評審技術
計劃評審技術(PERT),又稱為三點估算技術。
四、項目進度計劃調整方法
1、分析進度度偏差
當項目進度出現偏差時,應分析該偏差對后續工作及總工期的影響。
?。?)分析產生進度偏差的工作是否為關鍵活動。若出現偏差的工作是關鍵活動,則無論其偏差的大小,對后續工作及總工期都會產生影響,必須進行進度計劃更新;若出現偏差的工作為非關鍵活動,則根據偏差值與總時差和自由時差的大小關系,確定其對后續工作和總工期的影響程度。
(2)分析進度偏差是否大于總時差。如果工作的進度偏差大于總時差,則必將影響后續工作和總工期,應采取相應的調整措施;若工作的進度偏差小于或等于該工作的總吋差,則表明對總工期無影響;但其對后續工作的影響,需要將其偏差與其自由時差相比才能做出判斷。
?。?)分析進度偏差是否大于自由時差。如果工作的進度偏差大于該工作的自由時差,則會對后續工作產生影響。如何調整,應根據對后續工作影響程度而定;若工作的進度偏差小于或等于該工作的自由時差,則對后續工作無影響,進度計劃可不進行調整更新。
2、項目進度計劃的調整
項目進度計劃的調整往往是一個持續反復的過程,一般有以下幾種方法:
?。?)關鍵活動調整法。關鍵活動調整方法的原理來自關鍵路徑法。在項目計劃圖中,關鍵路徑上的活動沒有機動時間。由于其中任一工作持續時間的縮短或延長都會對整個項目工期產生影響。因此,關鍵活動的調整是項目進度更新的重點。有以下兩種情況。
1)關鍵活動的實際進度較計劃進度提前。若僅要求按計劃工期執行,則可利用該機會降低資源強度及費用。實現的方法是選擇后續關鍵活動中資源消耗量大或直接費用高的予以適當延長,延長的時間不應超過已完成的關鍵活動提前的量;若要求縮短工期,則應將計劃的未完成部分作為一個新的計劃,重新計算與調整,按新的計劃執行,并保證新的關鍵活動按新計算的時間完成。
2)關鍵活動的實際進度較計劃進度落后。調整的目標就是釆取措施將耽誤的時間補回來,保證項目按期完成。調整的方法主要是縮短后續關鍵活動的持續時間。這種方法是指在原計劃的基礎上,釆取組織措施或技術措施縮短后續工作的持續時間以彌補時間損失,確??偣て诓谎娱L。
?。?)非關鍵活動調整法。當非關鍵路徑上某項工作持續時間延長,但不超過其時差范圍時,則不會影響項目工期,進度計劃不必調整。為了更充分地利用資源,降低成本,必要時可對非關鍵活動時差做適當調整,但不得超出總時差,且每次調整均需進行時間參數計算,以觀察每次調整對計劃的影響。
非關鍵活動的調整方法有三種:在總時差范圍內延長非關鍵活動的持續時間、縮短工作的持續時間、調整工作的開始或完成時間。當非關鍵線路上某項工作持續時間延長而超出總時差范圍時,則必然影響整個項目工期,關鍵路徑就會轉移。這時,其調整方法與關鍵線路的調整方法相同。
(3)增減工作項目法。由于編制計劃時考慮不同,或因某些原因需要增加或取消某些工作,則需重新調整網絡計劃,計算網絡參數。由于增減工作項目不應影響原計劃總的邏輯關系,以便使原計劃得以實施。因此,增減工作項目,只能改變局部的邏輯關系。
增加工作項目,只對原遺漏或不具體的邏輯關系進行補充:減少工作項目,只對提前完成的工作項目或原不應設置的工作項目予以消除。增減工作項目后,應重新計算網絡時間參數,以分析此項調整是否對原計劃工期產生影響,若有影響,應采取措施使之保持不變。
?。?)資源調整法。若資源供應發生異常時,應進行資源調整。資源供應發生異常是指因供應滿足不了需要,如資源強度降低或中斷,影響到計劃工期的實現。資源調整的前提是保證工期不變或使工期更加合理。資源調整的方法是進行資源優化。