摘要:
ide
提及估算問題,咱們第一反應每每是「估不許」!估得準又如何呢?若是估算結果是須要5個月才能完成,但合同要求3個月交貨,你怎樣辦?因此其實咱們還有一個「估得多」的問題,而在「估不許」和「估得多」這兩個問題以前,還有「不敢估」的問題。spa
估算問題很複雜,咱們首先要作的是拆解這個問題,這樣才能更好地找到合適的解決方法。
orm
咱們從不一樣角色的視角來看看估算的問題:資源
老闆如何看估算?開發
老闆是很瞭解本身的手下的:若是讓項目組本身去估算,那麼估算值必定是大於工期限制,並且實際的工做量又會遠大於估算值。團隊協作
但老闆是要賺錢的,項目的合同金額是固定的,交付期是「死」的,因此項目組不要跟我扯項目有多困難,不要說須要更長時間,反正必須在交付期以前將項目作出來,並且項目能驗收!這樣才能符合個人利益。it
因此老闆不太可能讓項目組本身估算工期,而後讓項目組按照這個工期來安排工做。class
項目經理如何看估算?基礎
項目經理(後面簡稱PM)是責任大,權力小的職位,項目的「幾座大山」都壓在了PM身上。軟件
這「幾座大山」是什麼呢?
1)進度的壓力
2)老闆的壓力
3)客戶的壓力
4)軟件質量的壓力
5)恨鐵不成鋼的項目組成員
6)……
原本估算應該是舒緩這些壓力的好辦法,若是能根據估算來安排進度和調整項目組的人力安排,估算就是美好的。
但問題是估算出來須要5個月完成,但工期只有3個月,老闆和客戶都不會由於這個估算而放鬆對進度的要求和限制,也不會下降軟件的質量要求,老闆也不會安排更多的人手到你的項目組(項目期間老闆若是不將人員抽走的話,你已經要阿彌陀佛了)。
因此估算對於PM來講一點價值都木有,橫豎都是死,不如節省這些無用的估算時間,讓我死得舒服一點吧。
項目成員如何看估算?
我是來打工的不是來賣命的,完成本職工做對得起這份工資就行。項目成敗跟我沒啥特別關係,PM把任務安排下來,我完成任務就能夠了。至於加班嘛,這是IT界的「潛規則」,我就加一點吧,但沒日沒夜的加班老子是受不了的!
你說「估算」?讓我估計本身任務須要多長時間完成?說了這個時間有用嗎?我說10天你還不是直接砍成3天,不要作這種「虛僞」的事情了,直接告訴我何時要完成就好了。
客戶如何看估算?
不要老說咱們提不出需求,你不作出來我怎樣知道我要什麼呢?軟件開發我不懂,不要每次催促大家交貨就跟我提一些我聽不懂的理由,咱們懂技術的話就沒有大家公司的事了!咱們判斷事情的標準其實很簡單,簽署合同時咱們已經寫得很清楚了,就是:給大家這麼多錢,這樣的工期,到時必須交出像樣的東西出來!
估算?你說什麼估算?大家籤合同的時候不是應該想好了嗎?如今纔跟我說超出工期,那合同要來幹嗎呢?
看上去不管是從哪一個角度來看,估算」都是「十死無生」的事情,並且估算彷佛沒有辦法兼顧各方面的利益。那麼是否是不談估算,直接繞開估算這個事情,就「萬事大吉」呢?
理想的估算境界
理想狀況是這樣的:項目組的估算符合合同的要求,能在工期內交付,能保證質量要求,並且項目的實際狀況與估算狀況基本吻合,而且項目組不須要太多加班,甚至是不須要加班。這樣就能知足和平衡老闆、PM、項目組成員以及客戶的利益了。
避開估算其實象鴕鳥遇到事情將頭埋在沙中,避得一時避不了一世。咱們須要直接面對估算帶給咱們的挑戰,只要能克服如下的三個問題,就能夠實現上述的「理想境界 」。這三個問題是:1)不敢估;2)估不許;3)估得多。
問題1:不敢估
不敢估算或者不肯意估算,主要有三個緣由:
1)項目工期是限死,項目人力資源基本也是死的,讓估算者以爲估算沒有價值;
2)項目的需求不肯定,採用什麼技術也不太肯定,讓估算者以爲沒法進行估算;
2)估算其實至關因而對本身工做的承諾,估算者不想本身對本身設套。
問題2:估不許
不敢估算這個問題克服後,估不許的問題就會呈現出來,估算偏差超過100%甚至是200%以上都是很常見的事情。沒必要太過緊張,若是能克服「不敢估」這一關,「估不許」這個問題是能夠解決的。
「估不許」的緣由一般有:
1)對項目的需求和技術估計不許,特別是項目需求不肯定的時候;
2)對項目組自身的估計不許,包括對自身的技術能力、團隊協做能力、研發流程能力的估計等。
問題3:估得多
估算出來了,並且實際狀況也估算狀況相差無幾,也不必定能知足要求,由於這個估算每每是大於工期的限制的。這第三個問題,纔是咱們終極須要解決的問題!
估算方法最多隻能幫助咱們估得比較準,但並不能幫助咱們估算得少,真正能讓估算數字降低的決定性因素是什麼呢?這個決定性東西其實就是大家的研發能力!
如何解決這些問題?
談起估算問題,咱們表面上談的是「估得準」的問題,而實際上咱們但願的是「估得準而且估得少」,要終極達到這個目標,必須按順序逐步來解決前文提到的三個問題。
公司的領導們不要太過心急,這三個問題沒有幾年時間是不能完全解決的,給你一個時間表參考參考:
1)完全解決問題1大概須要3個月時間;
2)在解決問題1基礎上,完全解決問題2大概還須要6個月-1年時間;
3)在完全解決問題一、2的基礎上,完全解決問題3大概還須要2年以上時間。
這是一個系列文章,將會圍繞這三個問題給出一些最佳實踐供你參考,你也不用太擔憂須要這麼長時間 纔有效果,後續文章會爲你分享立刻能夠實踐的作法,改進是持續進行的。
如下是本系列文章的大體規劃:
1.不只僅是估不許的問題 <---------這是本篇文章
2.估算能夠很難也能夠很容易
3.估算和預算
4.估什麼?誰來估?
5.怎樣估算?
6.項目初期的估算
7.項目中後期的估算
8.怎樣才能讓估算數值更少?
請關注後續文章,謝謝!
做者:張傳波
創新工場創業課堂(敏捷課程)講師
軟件研發管理資深顧問
CMMI首席專家
《火球——UML大戰需求分析》做者