軟體公司耗費最多的成本就是人力資源,軟體的所有東西,都是要靠工程師去寫程式以及維護系統,沒有人就等於沒有辦法做事,目前根本沒辦法做出一個無人化的軟體工廠。
當一個軟體專案發生後,買方跟賣方都需要衡量一個專案的工時,一方面是估算成本,進行報價,另一方面也需要這個工時來衡量工作進度表。但是「軟體總是估不準的! 」明明說三天可以做完,卻不斷遇到問題做了一兩個禮拜,說一個月才能完成,可是卻非常順利地在一兩週內就完成了。
就算是不準還是要估,總是要有個數字出來,不然一切都會停在這裡,在這麼不準確的情況下,Scrum 就提出 Story Point 跟 Planning Poker 的方法來進行估算,不過在了解 Planning Poker 之前,有個 Dog Point Game 可以幫助大家了解 Planning Poker。
人力資源
正因為人力資源佔了最大的決定性因素,負責處理專案的人員,對於專案來說,每一個人都扮演了舉足輕重的角色,軟體專案可以簡單的區分成三種角色:Product Owner, Project Manager, Programmer。
Product Owner 基本上就是出錢的人,要使用這個軟體的人,Project Manager 是 Product Owner 跟 Programmer 之間的橋樑,但因為 PM 隸屬於賣方,最重要的當然就是要賺錢,這時候就會因為要滿足 Product Owner 的種種要求,要能夠結案拿到錢,轉向去壓榨 Programmer 的時間精力。
Programmer 就是實際上做事的人,實作的人,也就是專案背後的螞蟻雄兵,程式碼基本上都是 Programmer 一個字一個字打出來的(當然也有 Copy & Paste),
PM 最喜歡問的問題的三部曲應該是
- 能不能做,技術上可行嗎?
- 什麼時候可以做完
- 能不能提早完成
Programmer 最喜歡回答的三部曲應該是
- 不確定能不能做,要試試看
- 兩個禮拜可以做完(心裡想的應該是做完的時候就知道要多久)
- 盡量拉(要不然你來做)
Dog Point Game
2015微軟實戰課程日-需求複雜度估算 是一段一個小時的演講,主要講題就是 Dog Point Game,基本上因為是 Game,整個過程還蠻歡樂的,但也許是主講者不斷地丟獎品讓台下的人叼走的關係。
大家可以看這個影片,加上估算需求複雜度(2)Dog Point Game 這個網頁說明,去了解 Dog Point。
估算的基本原則
應該在決定誰做之前估
如果團隊基本的技術 domain 已經區分好了,例如前端或是後端工程師,工作下來時馬上就知道要給誰做,那基本上就不成立了,因為大家沒辦法用客觀的角度提供意見應該由做事的人一起估,請 PO 參與估算過程,但不干涉實際估算
基本上就是希望所有 project stakeholders 都要畫押的意思相對比較,比絕對估算來得簡單
有兩項工作要比較多或少,比較耗時長短,會比較簡單,只要知道誰大誰小,不需要精確地知道要做幾個小時公開、透明、容易達成共識
不要黑箱作業,幫做事的人推坑的意思
Dog Point 基本原則
1.「相對比較」要比「絕對估算」來得簡單且容易有共識
兩隻狗一拿出來,直覺馬上就知道誰比較大隻
「粒度小」的估算比「粒度大」的估算精準且容易有共識
工作項目切割越細,越能精準地判斷耗時的長短,專案工作項目在專案進行中,會慢慢的越來越清楚工作的細項,這時候估算的時間會越來越準確,換句話說,專案啟動甚至是還沒開始(標案)的時候,估算的誤差是最大的估算單位以「費氏數列」為參考
估算數字太接近,會造成估算的錯覺,因為 20 跟 25 差不多,到底要選 20 還是 25,如果是 20 跟 40,那就很清楚要選什麼,後面的數字差距越大。
Reference
估算需求複雜度(1)Story Point 與 Planning Poker
沒有留言:
張貼留言