我是一個九人開發(fā)團隊的領(lǐng)頭人。一般來說,我們所從事的是(項目)支持和強化的工作,但是有的時候,我們被要求完成一項大型工作,而這項工作大到肯定可以被作為一個項目來看待。我們所面臨的問題是:我們很難估
估算需要在這些大型項目上所花費的工作量和時間。通常我們對工作量的估算不足,所以搞得在最后幾個星期里才拼命加班完成所有的工作。我正在嘗試先預(yù)估工作量,然后在未來將其翻倍。有沒有什么簡單的方法能夠解決這個問題?——Kurt
回答:
Kurt:在先前的專欄里,我們看到了在估算大型工作的工作量問題上,很多支持人員都是出了名的估算不準(zhǔn)者。我們知道,支持工作的很多特點會在支持人員試圖估算大型工作的工作量時合起來阻撓他們。好消息是,如果你知道這些陷阱并試著避免它們,而且學(xué)會一些基本的估算技巧,那么在估算工作量上你就會做得更好。
估算的技巧
項目的特點之一是,工作和可交付的內(nèi)容是唯一的。這就意味著對項目的估算也會是唯一的。但是,基本的估算技巧能夠幫助你建立一個對項目需要多長時間的初步評估。有一些技巧要依賴于暴力(硬性估算),有一些會利用同其他項目之間的相似性,有一些要依賴數(shù)學(xué)計算,而有一些要靠其他人的意見。如果有可能的話,你應(yīng)該使用兩種方法,并對比它們(的結(jié)果),看它們是否合理和一致。如果這兩種估算(的結(jié)果)很接近,那么你的估算就是相當(dāng)準(zhǔn)確的。如果它們相差較大,那么你就應(yīng)該改進估算的方法,并找到不足之處了,或者使用第三種估算方法來嘗試獲得某種一致性。
對工作結(jié)構(gòu)的分解
進行估算最精確的方法通常是建立一個將工作分解開的結(jié)構(gòu)。這就需要在一個很高的層面描述工作,然后將該工作分解成更小的部分,直到每項活動都能夠被估算在80小時以內(nèi)完成。(或者如果項目比較小的話,就是40個小時。)這通常也需要花費很多時間和精力。但是,如果你非常好地了解了這項工作,而且如果你能夠確定所需要的工作都已經(jīng)包括進了你的工作分解結(jié)構(gòu)里,那么你就常常取得獲得一個精確的估算。
以前的經(jīng)驗
盡管所有的項目都是唯一的,但是有些項目同其他的項目非常相象。使用以前的經(jīng)驗這一技巧,你可以找一找以前完成的類似項目,然后根據(jù)那個項目實際所需要的工作量來估算你當(dāng)前的工作。這是一個估算工作量的好方法,因為它允許你使用以前的經(jīng)驗。但是,它要求你以前有一個類似的項目,而且你必須具有對那個項目實際工作量的準(zhǔn)確計算。例如,假設(shè)你正在將你的財務(wù)軟件升級為一個新的版本。如果這是你第一次完成一個新的版本,你就沒有以前的經(jīng)驗。但是,如果你以前進行過軟件的升級工作,你就應(yīng)該非常了解這次升級需要什么。即使這個項目是唯一的,它也和以前所做過的工作非常類似。
類比/比率
類比技巧和以前的經(jīng)驗非常類似。但是,你不需要具有先前的項目作為比較對象,而是尋找具有類似特點的項目。例如,讓我們還是來看一下前面升級財務(wù)軟件的例子吧。如果你以前從來沒有對進行過升級,那么你就不知道這個項目會花多長時間。但是,你也許的確具有升級應(yīng)收帳款(Accounts Receivable)軟件包的經(jīng)驗。盡管這兩項工作不相同,但是它們很類似。知道了升級應(yīng)收帳款軟件所花費的工作量和時間,會有助于你估算財務(wù)軟件升級所需要的工作量和時間。
根據(jù)比率來估算是類似的,不同的是,你要考慮當(dāng)前項目同以前的項目相比而言的大小。一個很簡單的例子是,你以前可能在四個地區(qū)辦事處里安裝過一個新的財務(wù)軟件?,F(xiàn)在你被要求將同樣的軟件包安裝到另外兩個辦事處里。如果所有的條件都相同的話,在新項目(兩個辦事處)上所花費的工作量將是前一個項目(四個辦事處)所需工作量的一半,這樣考慮是理所當(dāng)然的。