最近 Team 開始試 Story Points 來評估專案,所以稍微花了點時間了解一下。
預估
我想從事軟體業,最難的一項就是預估,為什麼呢?
因為預估往往是針對從前的經驗,去推算出未來需要的時間,如果鋪一塊柏油需要2個小時,在相同大小的情況下,就可以很準確的預估出下一次所需要的時間,但是從事軟體業的技術日益更新,今年夯物聯網,明年又會有另一種題材竄起,即使每天使用的框架,一、兩年後又會有新的局面。所以永遠預估不準,索性乾脆不要預估,或業界常用的預估方式,抓三倍的時間,因為永遠會有意外發生。
既然估不準,那還要不要預估?
當我們去景點區的時候,第一件事會做什麼?通常會先看一下門口放置的觀光地圖,挑出想去的景點,規劃一下 Route,這個地圖非常的不精準,但卻不可或缺對吧。
什麼是 Story Points?
既然估不準,那我們就不應該花太多時間預估,Story Points 就是一個提供快速預估的方法論
。
Story Points 採用需求複雜度所估算,不是針對小時估算。
人很擅長比較大小,我們可以在一分鐘內說出,甲物比乙物大,但是如果你再追問,甲物比乙物大多少?1.5倍?2倍?1.8倍?那就會變成一個相當耗時的評估。
優點
Story Points 是一個客觀的估算基準點,它不牽扯到個人的經驗背景。如果用小時估算,有可能資深的只需要兩天,資淺的需要一周,但這個 Task 也還沒決定給誰,而且就算決定給誰了,人是會流動的,所以我們需要一個客觀的評估方式。
在評估過程中,如果甲跟乙所估算的 Story Points 差異太大,可以趁這時間做交流,例如可能甲以前有做過類似的Task,所以他已經知道大概怎麼進行會比較快,或是甲沒預估到乙覺得可能會發生的一些問題。