有些開發人員或專案經理已經習慣失準的估算,高估或低估皆會對專案造成不同的影響。
在萬不得已的情況下是選擇高估好還是低估好?
低估帶來的問題
1.低估的影響有連貫性
通常專案早期階段的活動(釐清需求,規劃原型,設計架構)影響專案的程度較大。這些早期活動的時程被低估壓縮而產生的負面效應,也會影響中後期活動(實作功能,測試除錯)的時程。
2.低估的影響難以補救
低估專案時程通常也代表專案延期完成,若組織營收和專案時程有直接關係,除了導致獲利下降,也會連帶影響品牌形象。
高估帶來的問題
1.高估容易導致拖延
若專案實際需要2個月,但估算預計3個月。那麼專案在第1個月的實際完成率會遠低於預計完成率。(因為可以拖延到第2個月才開始動手)
2.高估造成資源浪費
無論高估人力或時間都是多餘的成本浪費,且高估程度越多,浪費也越多。
另一個需要謹慎觀察的情況是組織的高估風氣,在組織中通常高估專案獲得的評價會優於低估專案。因為至少專案是在”高估”的時程內完成,其造成的成本浪費比低估導致時程延期的負面影響來的輕微。
為了獲得較高評價或避免列入黑名單,大家就會傾向高估。特別是管理者不具有相關產業知識的情況下,只看結果而不看過程,高估風氣會更明顯。
了解高估和低估的不同影響之後,在不得已的情況下要怎麼選擇?
當然是看情況。
若低估導致專案延期是殺頭重罪,在無法準確估算的情況下只能選擇高估。(特別是有高估風氣組織)。
至於選擇低估的情況應該有兩個,首先是根本不知道是低估,如相關專案經驗不足,相關技術不熟悉,需求釐清沒有做到位,需求變化太大。
其次是被迫選擇低估,也就是說專案時程已經決定,沒辦法改變。但還是可以透過協商來調整是否能提供部分功能而不是整體功能,讓低估所造成的負面效應降到最小。
最後來看看準確估算可以帶來什麼好處?
1.減少專案風險
專案的風險其實就是專案的理想目標和實際估算的差距,差距越大,風險就越大。
能夠早期處理風險代表可以考慮更多的應變措施,如早期增加人手,縮減規模,改變時間交付功能等等。
2.強化進度評估
準確估算通常代表專案的預計進度,透過比較預計進度和實際進度就可以清楚了解專案進度的狀態是提前還是落後。
3.減少錯誤發生
大約40%的軟體錯誤來自於緊急的進度壓力,這些進度壓力其實可以透過準確的估算進度來避免。在急迫壓力下通常只能選擇盡快完成功能,趕上進度。沒辦法採用單元測試或TDD來驗證正確性,也導致錯誤的可能性大增。
4.提高協調合作
專案的估算不準確,也會連帶影響專案中其他相關活動的時程,這些其他相關活動包含製作文件,市場銷售,後續的預算或人力編制等等。準確的估算能提高專案相關活動之間的協調與合作。