軟件成本評(píng)估度量過程中,我們在估算軟件項(xiàng)目工期時(shí),如何使用回歸預(yù)測分析法估算軟件工期?回歸預(yù)測分析方法都包含哪些步驟?
回歸分析預(yù)測法的步驟如下:
a) 根據(jù)預(yù)測目標(biāo),確定自變量和因變量
明確預(yù)測的具體目標(biāo),也就確定了因變量。如預(yù)測具體目標(biāo)是工期,那么工期Y就是因變量。尋找與預(yù)測目標(biāo)的相關(guān)影響因素,即自變量,并從中選出主要的影響因素。“工作量-工期”模型只選擇工作量為自變量。
b) 建立回歸預(yù)測模型
依據(jù)自變量和因變量的歷史統(tǒng)計(jì)資料進(jìn)行計(jì)算,在此基礎(chǔ)上建立回歸分析方程,即回歸分析預(yù)測模型。
c) 進(jìn)行相關(guān)分析
回歸分析是對具有因果關(guān)系的影響因素(自變量)和預(yù)測對象(因變量)所進(jìn)行的數(shù)理統(tǒng)計(jì)分析處理。只有當(dāng)變量與因變量確實(shí)存在某種關(guān)系時(shí),建立的回歸方程才有意義。因此,作為自變量的因素與作為因變量的預(yù)測對象是否有關(guān),相關(guān)程度如何,以及判斷這種相關(guān)程度的把握性多大,就成為進(jìn)行回歸分析必須要解決的問題。進(jìn)行相關(guān)分析,一般要求出相關(guān)關(guān)系,以相關(guān)系數(shù)的大小來判斷自變量和因變量的相關(guān)的程度。
d) 檢驗(yàn)回歸預(yù)測模型,計(jì)算預(yù)測誤差
回歸預(yù)測模型是否可用于實(shí)際預(yù)測,取決于對回歸預(yù)測模型的檢驗(yàn)和對預(yù)測誤差的計(jì)算。回歸方程只有通過各種檢驗(yàn),且預(yù)測誤差較小,才能將回歸方程作為預(yù)測模型進(jìn)行預(yù)測。
e) 計(jì)算并確定預(yù)測值
利用回歸預(yù)測模型計(jì)算預(yù)測值,并對預(yù)測值進(jìn)行綜合分析,確定最后的預(yù)測值。
正確應(yīng)用回歸分析預(yù)測時(shí)應(yīng)注意:
——用定性分析判斷現(xiàn)象之間的依存關(guān)系;
應(yīng)用回歸預(yù)測法時(shí)應(yīng)首先確定變量之間是否存在相關(guān)關(guān)系。如果變量之間不存在相關(guān)關(guān)系,對這些變量應(yīng)用回歸預(yù)測法就會(huì)得出錯(cuò)誤的結(jié)果。
——避免回歸預(yù)測的任意外推;
——應(yīng)用合適的數(shù)據(jù)資料;
項(xiàng)目管理應(yīng)用中在制定進(jìn)度和風(fēng)險(xiǎn)管理時(shí)也經(jīng)常用到蒙特卡羅分析,蒙特卡羅法是以概率和統(tǒng)計(jì)的理論和方法為基礎(chǔ)的一種數(shù)值計(jì)算方法。它將所求解的問題同一個(gè)概率模型相聯(lián)系,用計(jì)算機(jī)實(shí)現(xiàn)統(tǒng)計(jì)模擬或抽樣,從而求得問題的近似解。該分析方法也稱為統(tǒng)計(jì)試驗(yàn)法或統(tǒng)計(jì)模擬法。這是一種模擬技術(shù),模擬指以不同的活動(dòng)假設(shè)為前提,計(jì)算多種項(xiàng)目所需時(shí)間,該種分析對每項(xiàng)活動(dòng)都定義一個(gè)結(jié)果概率分布,以此為基礎(chǔ)計(jì)算整個(gè)項(xiàng)目的結(jié)果概率分布,此外,還可以用邏輯網(wǎng)絡(luò)進(jìn)行“如果…怎么辦”分析,以模擬各種不同的情況組合,例如推遲某重要配件的交付、延遲具體工程所需時(shí)間、或者把外部因素(例如罷工、或政府批準(zhǔn)過程發(fā)生變化)考慮進(jìn)來。“如果…怎么辦”分析的結(jié)果可用于評(píng)估進(jìn)度在惡劣條件下的可行性,并可用于制訂應(yīng)急/應(yīng)對計(jì)劃,克服或減輕意外情況所造成的影響。
f) 將委托方的期望工期或開發(fā)方初步制訂的工作時(shí)間表中的工期與工期估算結(jié)果進(jìn)行比較;
通過行業(yè)數(shù)據(jù)統(tǒng)計(jì)的工期數(shù)據(jù),以及不同工期下的實(shí)際成本如圖ⅱ所示:
圖ⅱ中下限、標(biāo)準(zhǔn)、上限值分別對應(yīng)行業(yè)工期數(shù)據(jù)統(tǒng)計(jì)的P25,P50,P75,代表此工期下成功交付項(xiàng)目的比例數(shù),也代表項(xiàng)目成功的概率。
——如委托方的期望工期或開發(fā)方初步制訂的工作時(shí)間表中的工期長于模型標(biāo)準(zhǔn)值時(shí),開發(fā)方只需要考慮資源投入。
——如委托方的期望工期或開發(fā)方初步制訂的工作時(shí)間表中的工期短于或等于模型標(biāo)準(zhǔn)值時(shí),則需要壓縮工期并考慮相關(guān)的項(xiàng)目風(fēng)險(xiǎn)。
進(jìn)度壓縮是指在不改變項(xiàng)目范圍的前提下,縮短項(xiàng)目的進(jìn)度時(shí)間,以滿足進(jìn)度制約因素、強(qiáng)制日期或其他進(jìn)度目標(biāo)。進(jìn)度壓縮技術(shù)包括:
——趕工。通過權(quán)衡成本與進(jìn)度,確定如何以最小的成本來最大限度地壓縮進(jìn)度。趕工的例子包括:批準(zhǔn)加班、增加額外資源或支付額外費(fèi)用,從而加快關(guān)鍵路徑上的活動(dòng)。趕工并非總是切實(shí)可行的, 只適用于那些通過增加資源就能縮短持續(xù)時(shí)間的活動(dòng),它可能導(dǎo)致風(fēng)險(xiǎn)或成本的增加,如增加的額外資源不能及時(shí)到位等。
——快速跟進(jìn)。把正常情況下按順序執(zhí)行的活動(dòng)或階段并行執(zhí)行。例如,需求分析尚未全部完成前就開始進(jìn)行設(shè)計(jì)或編碼。快速跟進(jìn)可能造成返工和風(fēng)險(xiǎn)增加,且關(guān)鍵路徑上并行任務(wù)數(shù)增多,任一個(gè)任務(wù)延遲都將導(dǎo)致項(xiàng)目延期。
g) 如果委托方期望工期或工作時(shí)間表中的工期短于估算出的工期下限時(shí),應(yīng)分析原因,必要時(shí)需對人力資源安排或項(xiàng)目范圍進(jìn)行調(diào)整,再重新估算工作量、工期,并制訂新的工作時(shí)間表。
從圖ⅱ可以看出,隨著資源的增加,工期并不能隨之相應(yīng)減少,工期存在通過加班/加人不可能突破的極限。
項(xiàng)目有具體的制約因素,任何一個(gè)因素發(fā)生變化,都會(huì)影響至少一個(gè)其他因素。例如,縮短工期通常都需要提高預(yù)算,以增加額外的資源,從而在較短時(shí)間內(nèi)完成同樣的工作量;如果無法提高預(yù)算,則只能縮小范圍或降低質(zhì)量,以便在較短時(shí)間內(nèi)以同樣的預(yù)算交付產(chǎn)品,項(xiàng)目經(jīng)理需關(guān)注項(xiàng)目具體的制約因素及這些因素間的關(guān)系,合理安排項(xiàng)目工期,否則可能影響項(xiàng)目成功交付。
回歸分析預(yù)測法的步驟如下:
a) 根據(jù)預(yù)測目標(biāo),確定自變量和因變量
明確預(yù)測的具體目標(biāo),也就確定了因變量。如預(yù)測具體目標(biāo)是工期,那么工期Y就是因變量。尋找與預(yù)測目標(biāo)的相關(guān)影響因素,即自變量,并從中選出主要的影響因素。“工作量-工期”模型只選擇工作量為自變量。
b) 建立回歸預(yù)測模型
依據(jù)自變量和因變量的歷史統(tǒng)計(jì)資料進(jìn)行計(jì)算,在此基礎(chǔ)上建立回歸分析方程,即回歸分析預(yù)測模型。
c) 進(jìn)行相關(guān)分析
回歸分析是對具有因果關(guān)系的影響因素(自變量)和預(yù)測對象(因變量)所進(jìn)行的數(shù)理統(tǒng)計(jì)分析處理。只有當(dāng)變量與因變量確實(shí)存在某種關(guān)系時(shí),建立的回歸方程才有意義。因此,作為自變量的因素與作為因變量的預(yù)測對象是否有關(guān),相關(guān)程度如何,以及判斷這種相關(guān)程度的把握性多大,就成為進(jìn)行回歸分析必須要解決的問題。進(jìn)行相關(guān)分析,一般要求出相關(guān)關(guān)系,以相關(guān)系數(shù)的大小來判斷自變量和因變量的相關(guān)的程度。
d) 檢驗(yàn)回歸預(yù)測模型,計(jì)算預(yù)測誤差
回歸預(yù)測模型是否可用于實(shí)際預(yù)測,取決于對回歸預(yù)測模型的檢驗(yàn)和對預(yù)測誤差的計(jì)算。回歸方程只有通過各種檢驗(yàn),且預(yù)測誤差較小,才能將回歸方程作為預(yù)測模型進(jìn)行預(yù)測。
e) 計(jì)算并確定預(yù)測值
利用回歸預(yù)測模型計(jì)算預(yù)測值,并對預(yù)測值進(jìn)行綜合分析,確定最后的預(yù)測值。
正確應(yīng)用回歸分析預(yù)測時(shí)應(yīng)注意:
——用定性分析判斷現(xiàn)象之間的依存關(guān)系;
應(yīng)用回歸預(yù)測法時(shí)應(yīng)首先確定變量之間是否存在相關(guān)關(guān)系。如果變量之間不存在相關(guān)關(guān)系,對這些變量應(yīng)用回歸預(yù)測法就會(huì)得出錯(cuò)誤的結(jié)果。
——避免回歸預(yù)測的任意外推;
——應(yīng)用合適的數(shù)據(jù)資料;
項(xiàng)目管理應(yīng)用中在制定進(jìn)度和風(fēng)險(xiǎn)管理時(shí)也經(jīng)常用到蒙特卡羅分析,蒙特卡羅法是以概率和統(tǒng)計(jì)的理論和方法為基礎(chǔ)的一種數(shù)值計(jì)算方法。它將所求解的問題同一個(gè)概率模型相聯(lián)系,用計(jì)算機(jī)實(shí)現(xiàn)統(tǒng)計(jì)模擬或抽樣,從而求得問題的近似解。該分析方法也稱為統(tǒng)計(jì)試驗(yàn)法或統(tǒng)計(jì)模擬法。這是一種模擬技術(shù),模擬指以不同的活動(dòng)假設(shè)為前提,計(jì)算多種項(xiàng)目所需時(shí)間,該種分析對每項(xiàng)活動(dòng)都定義一個(gè)結(jié)果概率分布,以此為基礎(chǔ)計(jì)算整個(gè)項(xiàng)目的結(jié)果概率分布,此外,還可以用邏輯網(wǎng)絡(luò)進(jìn)行“如果…怎么辦”分析,以模擬各種不同的情況組合,例如推遲某重要配件的交付、延遲具體工程所需時(shí)間、或者把外部因素(例如罷工、或政府批準(zhǔn)過程發(fā)生變化)考慮進(jìn)來。“如果…怎么辦”分析的結(jié)果可用于評(píng)估進(jìn)度在惡劣條件下的可行性,并可用于制訂應(yīng)急/應(yīng)對計(jì)劃,克服或減輕意外情況所造成的影響。
f) 將委托方的期望工期或開發(fā)方初步制訂的工作時(shí)間表中的工期與工期估算結(jié)果進(jìn)行比較;
通過行業(yè)數(shù)據(jù)統(tǒng)計(jì)的工期數(shù)據(jù),以及不同工期下的實(shí)際成本如圖ⅱ所示:
圖ⅱ中下限、標(biāo)準(zhǔn)、上限值分別對應(yīng)行業(yè)工期數(shù)據(jù)統(tǒng)計(jì)的P25,P50,P75,代表此工期下成功交付項(xiàng)目的比例數(shù),也代表項(xiàng)目成功的概率。
——如委托方的期望工期或開發(fā)方初步制訂的工作時(shí)間表中的工期長于模型標(biāo)準(zhǔn)值時(shí),開發(fā)方只需要考慮資源投入。

圖ⅱ 不同工期下實(shí)際成本
——如委托方的期望工期或開發(fā)方初步制訂的工作時(shí)間表中的工期短于或等于模型標(biāo)準(zhǔn)值時(shí),則需要壓縮工期并考慮相關(guān)的項(xiàng)目風(fēng)險(xiǎn)。
進(jìn)度壓縮是指在不改變項(xiàng)目范圍的前提下,縮短項(xiàng)目的進(jìn)度時(shí)間,以滿足進(jìn)度制約因素、強(qiáng)制日期或其他進(jìn)度目標(biāo)。進(jìn)度壓縮技術(shù)包括:
——趕工。通過權(quán)衡成本與進(jìn)度,確定如何以最小的成本來最大限度地壓縮進(jìn)度。趕工的例子包括:批準(zhǔn)加班、增加額外資源或支付額外費(fèi)用,從而加快關(guān)鍵路徑上的活動(dòng)。趕工并非總是切實(shí)可行的, 只適用于那些通過增加資源就能縮短持續(xù)時(shí)間的活動(dòng),它可能導(dǎo)致風(fēng)險(xiǎn)或成本的增加,如增加的額外資源不能及時(shí)到位等。
——快速跟進(jìn)。把正常情況下按順序執(zhí)行的活動(dòng)或階段并行執(zhí)行。例如,需求分析尚未全部完成前就開始進(jìn)行設(shè)計(jì)或編碼。快速跟進(jìn)可能造成返工和風(fēng)險(xiǎn)增加,且關(guān)鍵路徑上并行任務(wù)數(shù)增多,任一個(gè)任務(wù)延遲都將導(dǎo)致項(xiàng)目延期。
g) 如果委托方期望工期或工作時(shí)間表中的工期短于估算出的工期下限時(shí),應(yīng)分析原因,必要時(shí)需對人力資源安排或項(xiàng)目范圍進(jìn)行調(diào)整,再重新估算工作量、工期,并制訂新的工作時(shí)間表。
從圖ⅱ可以看出,隨著資源的增加,工期并不能隨之相應(yīng)減少,工期存在通過加班/加人不可能突破的極限。
項(xiàng)目有具體的制約因素,任何一個(gè)因素發(fā)生變化,都會(huì)影響至少一個(gè)其他因素。例如,縮短工期通常都需要提高預(yù)算,以增加額外的資源,從而在較短時(shí)間內(nèi)完成同樣的工作量;如果無法提高預(yù)算,則只能縮小范圍或降低質(zhì)量,以便在較短時(shí)間內(nèi)以同樣的預(yù)算交付產(chǎn)品,項(xiàng)目經(jīng)理需關(guān)注項(xiàng)目具體的制約因素及這些因素間的關(guān)系,合理安排項(xiàng)目工期,否則可能影響項(xiàng)目成功交付。