1. 最終該任務(wù)是由這個人來完成的,他估計多少時間才能做完,這個時間才是最接近實際的。
2. 負責(zé)該任務(wù)的人進行估算的時候,肯定需要認真思考這個任務(wù)的風(fēng)險,需要做哪些具體的工作,這樣更容易在未開始工作之前就發(fā)現(xiàn)更多的潛在問題。相反如果由項目經(jīng)理來分配時間,這個人就可能不會去思考這個任務(wù)了。
3. 做這個任務(wù)的人會有被重視和尊重的感覺,他會很重視自己承諾的完成時間,并且想法設(shè)法按時間完成。這樣會減少很多項目管理時間,因為每個任務(wù)負責(zé)人都會主動地跟蹤好自己的工作。
其實微軟這個方法根本就沒有什么特別,所有正常人都可以想到這個方法,但仍然有很多人去追求那些不太靠譜的估算方法。
這個方法還是有這樣的一些問題的:
1.有人會估算偏小,比方他說需要5天,但往往10天還完不成。
2. 有人估算過于保守。
3.項目的進度要求就是很緊,基本上你必須在指定時間內(nèi)完成,估算顯得毫無價值。
第一個問題是比較常見的,但我們要這樣想:估不準也比不估算好,估算偏差哪怕超過100%,也比不估算好,至少有個譜。
大家是會進步的,估不準往往是對任務(wù)和自己能力認識不到位,要讓大家不害怕估算,只要敢于估算,問題才會暴露出來,才能持續(xù)進步。
第二個問題分兩種情況,有些人是確實是過分保守的對自己信心不太足,項目經(jīng)理可以多多來指導(dǎo)他的工作,看看他具體的進展,讓他更加充分地了解任務(wù),更加充分了解自己的能力,增強他的信心,這樣他就能持續(xù)進步了。而另外一種情況就比較惡劣,少數(shù)人會故意增大時間,這樣他平時工作不必全力以赴,可以比較悠閑,甚至可以利用工作時間干私事。如果發(fā)現(xiàn)這樣的情況,就應(yīng)該嚴肅處理了,不要做爛好人,這樣的人在團隊中存在是對團隊的極大傷害。
第三個問題往往是各項目經(jīng)理心中的痛楚,他們會覺得:實在無奈啊!做項目就是在有限時間有限資源內(nèi)做不可能完成的任務(wù),在這樣的情況下,你就不要跟我扯估算了!
我們的項目大部分情況都是非常大壓力的,應(yīng)對這樣大的壓力越需要冷靜。實際上大部分項目盡管是有壓力,但只要發(fā)揮團隊的聰明才智,還是可以高效地做好工作的,不需要加班或者少加班。本文稍后會介紹這個問題的應(yīng)對辦法。
介紹了這么多種估算方法,每種都有很多問題,那到底怎樣才能做好項目估算呢?
軟件項目的特點就是項目簽訂時,價錢是死的,工期是死的,而需求和設(shè)計是不明確的。
我的經(jīng)驗告訴我,功能點法、代碼行法這些方法基本上是不靠譜的,我在實際項目中會綜合使用 Dephi法和由底而上的估算方法,并予以改良,下面介紹一下我的一些心得體會。
1.項目估算與其說是估出來,還不如說是做出來的。
假設(shè)某項目是這樣的情況:
1)合同簽署的金額是100萬,工期是3個月。
2)需求只是大致寫了,并不明確。
3)老板要賺50萬,給你的預(yù)算只有50萬。
我們很多項目都是這樣的情況,不是等你估算出比較靠譜的數(shù)字,然后才去報價簽合同的,我們經(jīng)常要在老板指定的預(yù)算下完成項目。
你現(xiàn)在要負責(zé)這個項目,你會如何做估算呢?
你需要做好兩個事情,才能保證項目實際成本控制在預(yù)算內(nèi)。
第一個事情,控制好需求。需求不明確,這既是不利因素也是有利因素,應(yīng)盡量往有利的方向控制。不明確的好處就是你有控制需求的空間,抓住客戶的關(guān)鍵需求,簡化不必要的花銷的需求,能極大地降低項目工作量。
第二個事情:想盡辦法降低開發(fā)工作量。不要因為進度緊就不認真思考軟件的設(shè)計,應(yīng)盡量采用簡單的成熟的設(shè)計方案,簡化工作。
2.估算應(yīng)該持續(xù)進行,持續(xù)細化。
項目初期很難對項目做完整估算,但能估計的部分應(yīng)先估計出來,并且針對不明確的部分安排計劃去搞