給工程師一個標準的估算項目時間 一個曾經與我一起工作過的經驗豐富的項目經理聲稱,他拿到程式員的時間估算以後,先將它乘以π,然後轉化下一個時間數量級後,才能得到真正的值。1天轉化成3.14周。他過去因為程式員不擅長估算時間而吃盡了苦頭。我創建了一個用來翻譯程式員時間估算的表格,來儘量縮小估算錯誤。 時 ...
給工程師一個標準的估算項目時間
一個曾經與我一起工作過的經驗豐富的項目經理聲稱,他拿到程式員的時間估算以後,先將它乘以π,然後轉化下一個時間數量級後,才能得到真正的值。1天轉化成3.14周。他過去因為程式員不擅長估算時間而吃盡了苦頭。我創建了一個用來翻譯程式員時間估算的表格,來儘量縮小估算錯誤。
時間估算時困難的。每一個程式員都有一個現實的估計區間。低於這個區間的估計意味著(構件,測試,檢查代碼的)時間開銷被低估了。超過這個區間的估計意味著這個任務太大而很難預估。
對於初級開發者來說,這個區間甚至都不存在。他們忽略(構件,測試,檢查代碼的)時間開銷,同時困難的任務他們卻又無法預估。我想說一個有經驗的開發者應該在0.5至24小時將事情做完。超過24小時,就需要細分。這項工作應該在開發者的頭腦中完成,然後總和到60小時。但是即使是有一些有經驗的開發者也需要有利用管理時間塊來思考。
同樣重要的是明白:編程經驗不等同於估算經驗。一個不被包含在估算流程中的開發者將不會擅長估算。同樣,如果實際的時間花費不被測量和用於與估算比較,那麼將沒有反饋來學習。
最後,每個程式員都應該具備估算的技能。為磨練這個技能,接手每個任務時,先決定你要做什麼。然後在開始之前估算任務所需時間。最後測量實際花費時間,並與估算相比較。同樣比較你實際完成的與計劃完成的。這樣你將會既提高你對一個任務包含細節的理解,同樣也提高了你的估算技能。