2015.04.24 星期五
我很榮幸在Agile Meetup新竹場分享這個Topic
其實這場Topic的靈感是來自於91學長上次的Dog Point Workshop
http://www.codedata.com.tw/social-coding/estimation-with-dog-point-game/
只是我這次有調整了一下講課內容以及workshop的流程
這邊就先整理一下今天的內容吧
今天這場sharing 主要分兩個部分
上半場主講估需求前必須知道的事
下半場就讓大家來玩Animal Point Workshop
來先談談估需求前必須知道的事吧
在任何的軟體開發流程中,需求估算永遠不會消失。
或許很多朋友認為估需求是相當困難且痛苦的一件事,或許很多朋友把大量時間花在冗長的估算上但始終也估不準。
今天這堂課將則是引導出需求估算的另一種方向 - 相對估算
課程將會以Workshop的方式進行,用一個有趣的案例,讓學員們實際操作,體會相對估算的精神。
首先 我請大家先思考一下
目前自己的團隊中對於估需求這件事是否遇到什麼問題?
主要的想法是要解決問題前
至少要知道問題是什麼吧
於是我就請學員們分組討論
5分鐘後請每組挑出三個最重要的問題來分享
以下是學員們的分享:
- 估不準
- 照著被訂好的deadline估
- 每個Sprint的工作量不一
- 總是被分派到類似的任務
- 需求不明確
- 需求超出能力
- 團隊對工時有落差
- 範圍太廣很難估
或許今天的內容無法解決他們的問題
但是釐清問題就是解決問題的一大步了
接下來就進入主題了
I. 估需求前必須知道的基本原則
- 相對比較 比 絕對評估 簡單
- 小任務 比 大任務 容易掌握
- 使用 Planning Poker 來估
原則一 : 相對比較 比 絕對評估 簡單
我請大家進入一個情境 : 假設今天你要爬樓梯
請問大家這24層樓的大樓以及101登高賽分別要爬多久?
要很快地回答要爬多久其實有點困難
但是要比較兩者之間的難易度就簡單多了
我們不知道每一棟高樓實際要爬多久
但是知道彼此的相對關係
所以估相對關係真的比較簡單
原則二 : 使用 Planning Poker 來估
我一樣請大家進入一個情境 : 假設今天你要評估肌肉痠痛的程度
一樣是爬樓梯
面對1層樓、3層樓或5層樓甚至是40層樓應該是不一樣的痠痛程度吧!
那我們如何很快地評估肌肉的痠痛程度?
其實可以參考費氏數列 (Successione di Fibonacci in wiki)
費氏數列的特性是越後面的數字,差距越大。
當數字小的時候,你感覺得到差距
可是當數字大的時候,你卻分不出誰大誰小,反正都很痛苦就是
所以費氏數列很完美地詮釋了需求越大,不確定性越大的特性。
我們可以利用這個特性來對需求快速的分類
這邊呼應了原則一,我們對於評估實際的數值感到困難,但評估彼此的相對比例會簡單很多。
當數字小時,即使保守點取較大數,也不會造成太大的影響
當數字大時,不用糾結於40或是41的差別
而Planning Poker正是使用類似費氏數列的數字牌卡
所以這邊推薦大家使用Planning Poker
II. 評估時的注意事項
Who - 誰來估?
你累了嗎?來聽個故事好嗎?
照片裡的主人翁是個小力士,這個祕密被邪惡老爸發現了之後,規定他一分鐘之內要搬10包尿布!但是實際上小力士只能搬2包。
請問各位如果你是小力士,作何感想?
小力士:實際搬的人又不是你! 真是OOXX
這種情境總是一再上演阿!所以誰要來估?當然是有做事的人才來估。而且要大家一起評估,估出來的結果才會客觀;大家也會達成共識;團隊也有參與感。
所以誰來估?
由做事的人一起評估
When – 何時估?
還沒分派任務前估
原因是將個人因素降低,估出來的結果才會比較客觀。
What – 評估因素
我們在評估這個需求時,可以就這三個角度來思考 :
- 複雜度
- 重複性
- 風險
這邊是參考之前讀的一本書:
Scrum Shortcuts Without Cutting Corners: Agile Tactics, Tools, & Tips
小結
為何推薦大家採用這套相對估算方法?
- 簡單
- 客觀評估
- 達成共識
- 自我承諾
簡單
越簡單的東西才越容易導入到團隊裡。尤其要改變大家平常的工作習慣,必須想辦法簡單到無縫接軌,或是讓團員們有感覺到好處。才容易導入成功。
客觀評估
大家一起估,就能消除個人主觀的因素。整個團隊估出來的東西才會比較客觀。或許你會問,那估錯怎麼辦?那就下次改進囉!我們也可以利用每次的Retrospective Meeting修正一下估錯的因素。
達成共識
大家一起估的東西,才會達成共識。
自我承諾
我一直都認為自己開出去的支票,比起被別人assign,總是會更想努力地兌現。而這套方法是Member大家一起估的東西,等於是自己承諾的份量,他們肯定會想辦法完成的。
需求怎麼估? - Animal Point Workshop Part II - 實際動手玩
參考資料:
估算需求複雜度(1)Story Point 與 Planning Poker
0 意見:
張貼留言