我知道準(zhǔn)確估算是有可能的。我自己就做到過(guò)(我的一個(gè)項(xiàng)目曾被估算需要1300工時(shí),結(jié)果用了1302工時(shí)完成),我也教過(guò)數(shù)千人怎樣做?;叵胍幌驴死硕桑喝魏翁^(guò)先進(jìn)的技術(shù)都會(huì)被誤認(rèn)為魔術(shù)。準(zhǔn)確估算也是一項(xiàng)技能,可以在實(shí)踐中學(xué)習(xí)提高,直至外行看起來(lái)像魔術(shù)的程度。
說(shuō)起來(lái)好像多余,進(jìn)行估算的第一件事就是知道你要估算什么?,F(xiàn)在,讓我們假設(shè)有人要求你估算粉刷你的臥室需要多少工作量(占用你多少時(shí)間)。雖然這是一件很小的工作,但它仍有相當(dāng)多的不確定性:
·你是否需要粉刷天花板和木器還是只有墻壁?
·有沒(méi)有需要粉刷的窗戶?這些窗戶有窗框嗎?
·房間里有家具嗎?能移動(dòng)嗎?如果能移動(dòng),把它移回來(lái)是否算在“粉刷房間”之內(nèi)?
·選擇顏色是否包括在工作之內(nèi)?還有去商店購(gòu)買(mǎi)涂料呢?
·需要刷多少遍?需要做什么特殊效果(例如大理石紋)嗎?
·有沒(méi)有人幫你做?還是你要一個(gè)人做完?
如果你不知道這些問(wèn)題的答案,你有多個(gè)選擇。你可以完全拒絕去做估算;你可以做一個(gè)預(yù)留大量不確定性的估算;你可以對(duì)上述問(wèn)題假設(shè)一些答案并根據(jù)這些假設(shè)做估算;你還可以在做估算之前取得上述問(wèn)題的答案以減少不確定性。這些方法中每一個(gè)都是可以接受的,只要相關(guān)人員知道你使用哪個(gè)方法就行!
大多數(shù)時(shí)間,你會(huì)將幾種方法結(jié)合使用。你會(huì)做一些合理假設(shè)(并且你一定會(huì)把你的假設(shè)記錄下來(lái)!)。你會(huì)問(wèn)一些問(wèn)題。然后你就運(yùn)用自己的最佳判斷。
你可以用區(qū)間估算改進(jìn)你的最佳判斷。區(qū)間估算是怎樣的?在它的最簡(jiǎn)單形式中,你對(duì)于你認(rèn)為可能需要的工作量估算一個(gè)低值和一個(gè)高值。例如,在粉刷你臥室這一案例中,而且假設(shè)只粉刷墻壁,你可能估算2到3小時(shí)。
區(qū)間估算背后的基本概念是你不需要知道所需工作量的精確值。你需要知道的是它不會(huì)比你的進(jìn)度表多出一整天。你需要知道的是它不是一件能在幾分鐘做完小事。只要實(shí)際結(jié)果落在估算值的2到3小時(shí)左右,你的估算就相當(dāng)不錯(cuò)了。
即使實(shí)際結(jié)果超出了這個(gè)范圍,你的估算也是很好的,因?yàn)榫彤?dāng)時(shí)你能掌握的情況來(lái)說(shuō)這已是你能做出的最佳估算了。另外,你可以從這次偏差(實(shí)際結(jié)果超出預(yù)測(cè)范圍)學(xué)到東西并改進(jìn)你以后的估算。
使用區(qū)間估算大大減少了估算過(guò)程的痛苦。如果你習(xí)慣于單點(diǎn)估算(見(jiàn)下文),要在2小時(shí)和3小時(shí)之間選擇會(huì)非常困難。甚至做出一個(gè)2.5小時(shí)的估算都會(huì)困難,因?yàn)槟阒缹?shí)際會(huì)多于或少于那個(gè)數(shù)量。使用區(qū)間估算讓你能在不確定性之下進(jìn)行操作。
單點(diǎn)估算是魔鬼的作坊;它們就是魔鬼!在任何情況下都不要向任何人提供一個(gè)單點(diǎn)估算。如果你的老板堅(jiān)持要單點(diǎn)估算,那他或她很可能是想要一個(gè)預(yù)算,而非估算。給他們一個(gè)預(yù)算也沒(méi)問(wèn)題,但你真的應(yīng)當(dāng)讓他們也知道你的估算,這樣他們就能了解你對(duì)預(yù)算數(shù)字的可靠性有多大信心了。
你可以通過(guò)三點(diǎn)區(qū)間估算進(jìn)一步改進(jìn)你的判斷。在簡(jiǎn)單區(qū)間估算的低值和高值基礎(chǔ)上,你加上一個(gè)區(qū)間內(nèi)最有可能結(jié)果的評(píng)估。
比方說(shuō),假設(shè)你生活在電影《土撥鼠節(jié)》描繪的世界里,這樣你就能粉刷你的房間100遍,并且記錄下每次實(shí)際用了多少工作量。我們發(fā)現(xiàn),你耗時(shí)從未少于2小時(shí),也從未多于5小時(shí)。我們還發(fā)現(xiàn)你的實(shí)際用時(shí)結(jié)果構(gòu)成一個(gè)三角形分布,峰值在3小時(shí)。
由于得到了這一實(shí)際的歷史數(shù)據(jù),對(duì)于粉刷一間相同大小的臥室,你就能夠估算出所需的工作量如下:
·最可能:3小時(shí)
·樂(lè)觀:2小時(shí)
·悲觀:5小時(shí)
我知道有這樣精彩完美的歷史數(shù)據(jù)來(lái)支持你的估算的機(jī)會(huì)將是絕無(wú)僅有的,但區(qū)間估算的好處是你不需要完美的數(shù)據(jù)。只要三點(diǎn)區(qū)間估算是合理的,誤差就可能在項(xiàng)目進(jìn)行的過(guò)程中相互抵消了。
即使在這個(gè)案例中,擁有完美的數(shù)據(jù),你仍然不能準(zhǔn)確知道粉刷下一間臥室需要多少工時(shí)。可能是2.5小時(shí),也可能是3.75小時(shí),這不要緊。重要的是你有合理的估算;你的估算能讓你有效地管理項(xiàng)目。
準(zhǔn)備三點(diǎn)區(qū)間估算
準(zhǔn)備三點(diǎn)區(qū)間估算的技巧很重要,尤其是如果你的團(tuán)隊(duì)成員過(guò)去從未使用過(guò)這一技術(shù)。
一對(duì)一工作。讓我們?cè)俅斡靡粋€(gè)簡(jiǎn)單案例開(kāi)始,你需要一名團(tuán)隊(duì)成員去估算要完成一項(xiàng)特定工作可能需要他們多少工作量。第一步是要確認(rèn)你們兩個(gè)對(duì)于“估算”和“結(jié)果”的詞義有相同的理解。盡量保持你們的語(yǔ)言一致,即使你覺(jué)得有點(diǎn)別扭。
比如,人們總是喜歡問(wèn)“你認(rèn)為這需要多久?”之類的話。這個(gè)問(wèn)題可能產(chǎn)生一個(gè)期間估算而非一個(gè)工作量估算。一定要記住這樣問(wèn):“你認(rèn)為這項(xiàng)工作要用你多少時(shí)間?”
開(kāi)始討論時(shí)要先審視下需要做的工作以確定你和你的團(tuán)隊(duì)成員對(duì)于工作任務(wù)有相同的理解。如果有不明確的地方,要確定怎樣處理,是作假設(shè),還是去找答案,或者其他做法。
在你們對(duì)于工作達(dá)到適當(dāng)程度的一致之后,詢問(wèn)他們對(duì)最可能工作量的估算。我通常用這樣的措辭,“如果這些假設(shè)是正確的,你認(rèn)為這件工作可能占用你多少時(shí)間?”在他們回答了這個(gè)問(wèn)題之后,我問(wèn),“如果一切順利,如果你在這件事上很幸運(yùn),還使用同樣的假設(shè),你認(rèn)為這件工作會(huì)占用你多少時(shí)間?”然后用相似的措辭去得到一個(gè)悲觀的工作量估算。
要知道與任何一個(gè)人開(kāi)始進(jìn)行的幾次談話都不會(huì)很順利。他們會(huì)產(chǎn)生另外的問(wèn)題,或者在談話的任何一點(diǎn)上要求你進(jìn)行另外的假設(shè)。很好,隨他們?nèi)?。幫助他們攀登學(xué)習(xí)曲線。我的經(jīng)驗(yàn)是大多數(shù)人需要3到5個(gè)來(lái)回才能接受這一過(guò)程。在這之后他們將會(huì)主動(dòng)把三點(diǎn)估算交給你。
要不客氣地質(zhì)疑他們的估算,但是要建設(shè)性地詢問(wèn)一些澄清性質(zhì)的問(wèn)題。不要貶低他們的估算。如果你們的意見(jiàn)有分歧,最有可能的原因是你們對(duì)工作的理解不一致。努力找出并消除這些分歧。
以詢問(wèn)最可能結(jié)果作為開(kāi)始似乎也很重要 ,然后再問(wèn)樂(lè)觀的結(jié)果,以及悲觀的結(jié)果。我不知道為什么,但是這個(gè)順序似乎效果最好。
小組工作。你的大部分估算不會(huì)是一對(duì)一做出來(lái)的,而是由一些小組作為一個(gè)團(tuán)隊(duì)計(jì)劃過(guò)程的一部分做出來(lái)的。這一基本過(guò)程對(duì)于這些小組來(lái)說(shuō)是一樣的:
·對(duì)要做的工作進(jìn)行討論并取得一致。
·記錄下各個(gè)假設(shè)。
·從最可能結(jié)果開(kāi)始作三點(diǎn)區(qū)間估算。
即使有些小組成員對(duì)于項(xiàng)目工作沒(méi)有足夠的專業(yè)知識(shí),他們的參與也有助于將隱含的假設(shè)顯露出來(lái),以及建立整個(gè)團(tuán)隊(duì)對(duì)于工作量估算的合作和理解。
有些項(xiàng)目經(jīng)理企圖通過(guò)只要兩個(gè)數(shù)字—最可能結(jié)果和一定變動(dòng)范圍(例如,“10小時(shí),增減2”)來(lái)加快三點(diǎn)區(qū)間估算的進(jìn)度。即使這種表述相當(dāng)于三點(diǎn)區(qū)間估算的8、10、12,以我的經(jīng)驗(yàn),它缺乏我的估算過(guò)程中的豐富內(nèi)容,它似乎也沒(méi)有同樣程度的深思熟慮。
認(rèn)識(shí)估算工作的關(guān)鍵成果
當(dāng)我教人進(jìn)行估算時(shí),我強(qiáng)調(diào)估算工作的最重要成果是一個(gè)準(zhǔn)確的項(xiàng)目預(yù)算—實(shí)際結(jié)果落在預(yù)算基準(zhǔn)線的可接受區(qū)間內(nèi)??山邮艿念A(yù)算準(zhǔn)確度因項(xiàng)目的不同而不同:
·在新產(chǎn)品開(kāi)發(fā)(NPD)中,項(xiàng)目最終成本達(dá)到最初估算的3至4倍是可以接受的。
·在信息技術(shù)中,如果各項(xiàng)要求經(jīng)協(xié)商一致且保持不變,±10%是一個(gè)合理目標(biāo),然而如果該項(xiàng)目的任務(wù)是必須完成的,那么NPD的+300%至400%也可以是完全可以接受的。
·對(duì)于一個(gè)固定價(jià)格的顧問(wèn)合同,管理層可能不愿意接受任何的超支。
我主張,如果滿足兩個(gè)條件:(a)工程項(xiàng)目的實(shí)際結(jié)果大部分時(shí)候能落在估算區(qū)間內(nèi),以及(b)實(shí)際結(jié)果的總和接近于區(qū)間估算的期望值總和,一項(xiàng)估算就是準(zhǔn)確的。簡(jiǎn)而言之,我們關(guān)心總數(shù)。我們關(guān)心單個(gè)結(jié)果只是達(dá)到最終目的的手段而已。
我來(lái)做個(gè)說(shuō)明。比如我們有一個(gè)項(xiàng)目包含100項(xiàng)工作。簡(jiǎn)單起見(jiàn),讓我們暫時(shí)忽略排期問(wèn)題,而且讓我們進(jìn)一步假設(shè)每一項(xiàng)工作都有20、25、30小時(shí)工作量的三點(diǎn)區(qū)間估算。每一單項(xiàng)工作的預(yù)算將是25小時(shí)(這一點(diǎn)后面有論述),于是這一項(xiàng)目的預(yù)算將是2,500小時(shí)。
如果這一項(xiàng)目按計(jì)劃進(jìn)行,大部分的工作項(xiàng),也許70%左右,其實(shí)際成本將會(huì)在預(yù)算工作量的1到2小時(shí)誤差之內(nèi)。1至2項(xiàng)可能耗費(fèi)多達(dá)30小時(shí);1至2項(xiàng)可能只用20小時(shí)。但是項(xiàng)目的總體工作量可能非常接近2,500小時(shí)。從統(tǒng)計(jì)上,我們有大約95%的概率該項(xiàng)目的完工時(shí)間將會(huì)落在±50小時(shí)的區(qū)間內(nèi)。不錯(cuò)!
作為對(duì)比,我們拿一個(gè)相似的包含100項(xiàng)工作的項(xiàng)目,只是每一項(xiàng)工作的區(qū)間估算為10、25、和40小時(shí)工作量。我們?nèi)詫檫@一項(xiàng)目做2500小時(shí)的預(yù)算,但實(shí)現(xiàn)±50小時(shí)之內(nèi)誤差的概率只有大約60%。如果我們想要95%的準(zhǔn)確度,需要將誤差范圍增大到±120小時(shí)。
三點(diǎn)區(qū)間估算鼓勵(lì)團(tuán)隊(duì)中每個(gè)人既要用足又不浪費(fèi)時(shí)間和工作量以正確完成其工作項(xiàng),這有助于達(dá)到我們的準(zhǔn)確度目標(biāo)。我們避免了許多不當(dāng)行為,包括:
·團(tuán)隊(duì)成員可能會(huì)用足預(yù)算,即使他們不需要這樣。
·團(tuán)隊(duì)成員可能偷工減料以避免超出預(yù)算。
·該項(xiàng)目的各級(jí)經(jīng)理可能在解釋細(xì)小偏差上浪費(fèi)時(shí)間。
·經(jīng)理們可能會(huì)操縱報(bào)告數(shù)字以使估算看起來(lái)“更好”。
最后一點(diǎn):在有些情況下單點(diǎn)估算就足夠了。例如,我們能夠安全地預(yù)測(cè)一次一小時(shí)的七人團(tuán)隊(duì)會(huì)議需要7小時(shí)的工作量。有沒(méi)有可能只有六個(gè)人參加?會(huì)不會(huì)用一個(gè)半小時(shí)?當(dāng)然有可能,但是這種誤差機(jī)會(huì)是如此之小,我們可以安全地將其忽略。
估算不足會(huì)讓你瘋掉。你將要無(wú)休止地解釋為何你會(huì)超預(yù)算以及延誤工期。你將要無(wú)休止地面對(duì)惱怒的客戶和崩潰團(tuán)隊(duì)成員。過(guò)度估算也好不了多少。你的項(xiàng)目將無(wú)法得到批準(zhǔn),因?yàn)樗鼈兛雌饋?lái)太昂貴了。如果你的辯解被認(rèn)為別有用心的,你甚至?xí)G掉工作。
三點(diǎn)估算不會(huì)把你送到天堂。但是對(duì)于被你的項(xiàng)目影響到的每個(gè)人,它們會(huì)讓他的生活得到更多報(bào)償。