三點(diǎn)估算法評(píng)估開發(fā)工作量
概述
開發(fā)人員在進(jìn)行開發(fā)工作之前都需要給出一個(gè)工作量的評(píng)估,以便后續(xù)的工作任務(wù)可以基于該時(shí)間進(jìn)行排期。大多數(shù)開發(fā)人員評(píng)估工作量主要是基于過往的工作經(jīng)驗(yàn)拍腦袋決定,并會(huì)給自己預(yù)留出一定的Buffer時(shí)間。這樣可能的問題就是過度依賴個(gè)人的開發(fā)經(jīng)驗(yàn),且Buffer時(shí)間的沒辦法量化。我們需要一種科學(xué)的工作量評(píng)估方法——三點(diǎn)估算。
詳解三點(diǎn)估算
什么是三點(diǎn)估算
先來介紹一下什么是三點(diǎn)估算法:三點(diǎn)法評(píng)估需要將一個(gè)任務(wù)的時(shí)間評(píng)估分成:最樂觀時(shí)間、最可能時(shí)間、最悲觀時(shí)間。好比上班路上花費(fèi)的時(shí)間,一般最可能花費(fèi)時(shí)間是30min;樂觀情況不堵車都是綠燈只需要20min,如果悲觀考慮到可能趕上上班高峰,路上很堵則需要50min才能到公司。將工作量模擬成正態(tài)分布的形式。那么就可以得到如下的公式:
期望值μ = (最樂觀時(shí)間 + 4 x 最可能時(shí)間 + 最悲觀時(shí)間) ? 6
標(biāo)準(zhǔn)差σ= (最悲觀時(shí)間 - 最樂觀時(shí)間) ? 6
通過計(jì)算得到的期望值μ是一個(gè)預(yù)期工作的持續(xù)時(shí)間,標(biāo)準(zhǔn)差σ代表由于開發(fā)過程中的不確定因素導(dǎo)致實(shí)際工期和期望工期的浮動(dòng)時(shí)間。
Buffer時(shí)間的設(shè)定
我們先來回答一個(gè)問題:我們?cè)谟?jì)算得到的【期望值μ】之前完成開發(fā)工作的任務(wù)的概率是多少——沒錯(cuò),不論開發(fā)經(jīng)驗(yàn)是否豐富都只有50%!明顯如果你給出一個(gè)工作量評(píng)估并跟PM說我只有50%的可能性完成,他可能會(huì)告訴你,我也有50%的可能性不給你發(fā)項(xiàng)目獎(jiǎng)金。學(xué)過概率論正態(tài)分布我們會(huì)知道點(diǎn)落在各個(gè)區(qū)間的概率存在如下規(guī)律:
| 標(biāo)準(zhǔn)差區(qū)間 | 區(qū)間概率 | 完成概率 |
|---|---|---|
| 1倍標(biāo)準(zhǔn)差 | 68.3 | 84.15 |
| 2倍標(biāo)準(zhǔn)差 | 95.4 | 97.7 |
| 3倍標(biāo)準(zhǔn)差 | 99.7 | 99.85 |
因此我們我們可以通過在計(jì)算得到的期望值的基礎(chǔ)上適當(dāng)增加標(biāo)準(zhǔn)差時(shí)間作為Buffer,來保證我們的工作可以按時(shí)交付。
關(guān)于三點(diǎn)估算的思考
工作評(píng)估粒度問題
在評(píng)估前我們都需要對(duì)當(dāng)前任務(wù)進(jìn)行拆分,使用三點(diǎn)估算我們不需要粒度拆分的很小,因?yàn)樽畛鯖]辦法面面俱到考慮到所有功能點(diǎn),粒度維持在一個(gè)中小型獨(dú)立的功能模塊為宜。
標(biāo)準(zhǔn)差的理解
數(shù)學(xué)上標(biāo)準(zhǔn)差代表著數(shù)據(jù)的穩(wěn)定性,標(biāo)準(zhǔn)差越大數(shù)據(jù)波動(dòng)越大,在三點(diǎn)估算中標(biāo)準(zhǔn)差也反映著開發(fā)者的對(duì)于當(dāng)前工作熟練程度,因此,越是經(jīng)驗(yàn)豐富在熟悉的領(lǐng)域最終的標(biāo)準(zhǔn)差就會(huì)越小,陌生的領(lǐng)域也會(huì)計(jì)算得到較大的Buffer時(shí)間,保證可以如期交付。
為什么使用三點(diǎn)評(píng)估
三點(diǎn)評(píng)估在評(píng)估過程中考慮到了項(xiàng)目中不確定性的風(fēng)險(xiǎn),且有概率統(tǒng)計(jì)的依據(jù),保證了評(píng)估的準(zhǔn)確性,同時(shí)該方法計(jì)算簡單、容易理解在實(shí)際開發(fā)工作中的使用門檻還是較低的
其他評(píng)估方法
除了三點(diǎn)評(píng)估,下面的一些方法也常常用來進(jìn)行工作量的評(píng)估:
| 方法 | 描述 | 評(píng)價(jià) |
|---|---|---|
| 類比法 | 和過往類似項(xiàng)目進(jìn)行類比估算 | 不同項(xiàng)目之間往往存在較大差異,存在較大風(fēng)險(xiǎn) |
| 專家推斷 | 行業(yè)內(nèi)經(jīng)驗(yàn)較豐富人員的給出指導(dǎo)性意見 | 過度依賴個(gè)人經(jīng)驗(yàn),不具備普適性 |
| 參數(shù)估算 | 根據(jù)任務(wù)進(jìn)行中特定材料的耗費(fèi)情況進(jìn)行估算 | 不適用于軟件開發(fā) |
| 自下而上估算 | 將任務(wù)拆分成一個(gè)一個(gè)細(xì)致的工作包,并單獨(dú)評(píng)估,最終匯總 | 最準(zhǔn)確,但是評(píng)估成本較高,在開發(fā)中適用于小型簡單的任務(wù) |
總結(jié)
不要輕視啟動(dòng)階段的計(jì)劃評(píng)估工作,這一過程也是對(duì)需求深入理解的過程,從而規(guī)避復(fù)工、回爐重造的風(fēng)險(xiǎn)。一個(gè)好的工作量評(píng)估,需要建立在對(duì)當(dāng)前的需求足夠了解,可以識(shí)別潛在風(fēng)險(xiǎn)的基礎(chǔ)上。評(píng)估中往往允許我們合理加入一定的Buffer時(shí)間,因?yàn)橐坏┭悠冢憧赡苡绊懙降氖呛罄m(xù)他人的工作計(jì)劃,從而影響整體的交付時(shí)間。管理規(guī)范的團(tuán)隊(duì)延期后往往會(huì)組織復(fù)盤會(huì),所花費(fèi)的代價(jià)遠(yuǎn)不止少評(píng)估了工作量這么簡單。當(dāng)然也為了避免延期預(yù)留過多的Buffer時(shí)間,造成人力資源的浪費(fèi)。最后分享帕金森定律中最常被引用的一句話:
Work expands to fill the time available for its completion. —— 你可以用來完成工作的時(shí)間有多少,你的工作就會(huì)拖延、膨脹、復(fù)雜到讓你足以填滿那段時(shí)間為止。
希望使用三點(diǎn)評(píng)估法可以幫助你合理科學(xué)的評(píng)估開發(fā)工作量。
https://juejin.cn/post/6932431639335141384
