如何通過相對規模來估算用戶故事?
- 2022 年 5 月 20 日
- 筆記
事實上,如果沒有一個好的系統或者工具,我們很難估算用戶故事,甚至經常高估或低估了自己要做的工作。而對於那些需要花數周或數月時間制定長期計劃的傳統公司來說,一旦工作出現中斷,必然會偏離最初的估算。
作為一個敏捷團隊,可以 通過精準的迭代和看板上的在制品來避免長時間的、不可預測的計劃周期。儘管這些敏捷實踐更具靈活性與適應性,但用戶故事估算在交付過程中的重要性也不能忽視,因為它是與領導溝通工作交付時間的唯一方式。
隨着時間的推移,估算能幫助我們了解團隊的速度,這樣我們就可以更準確地預測工作。而通過引入相對規模,我們可以更好、更快地進行估算。
一、我們要估算什麼?
敏捷團隊會估算每個用戶故事,並將其寫在用戶故事卡上。
用戶故事是對客戶所需功能的簡短描述,用戶故事卡是根據用戶故事為敏捷團隊顯示某一交付單元的卡片。對於敏捷團隊來說,他們要估算每一個故事的大小。

為了確保我們不會花費了大把時間做計劃,結果因為不能適應這個計劃轉回到瀑布方式中,我們需要一種更直接的方法來評估用戶故事。
如果團隊剛開始做用戶故事估算,一般會傾向於以小時為單位進行思考。但這其實行不通,因為我們通常在預測時間的時候是不太準確的。這也是比起馬拉松式的計劃,我們更喜歡短的迭代周期的原因之一。
如果故事的大小不能與小時掛鈎,那我們如何估算用戶故事呢?這裡其實建議大家使用相對規模來估算。
二、什麼是相對規模?
我們先來看一下這個術語的兩個組成部分:規模和相對。
首先,故事的大小是需要估算的,由三個因素組成:
- 努力:完成這項任務需要做多少工作?
- 複雜性:這個任務有多困難或複雜?
- 不確定性:我們是否確切地知道要完成這項任務必須做什麼,或者我們是否需要邊做邊學?
綜合這三種因素考慮出的故事大小就是故事的規模。
其次,故事的大小是相對於團隊其他用戶故事來說的。
也就是說,我們可以通過多個用戶故事的比較來確定哪個用戶故事更大或更小,而不是在沒有參考的情況下單獨給故事規劃大小。
三、水果沙拉遊戲
對於初用相對規模估算的新手來說,我們可以用一個簡單的遊戲來介紹這個概念。
現在有一個需求是我們要帶一份水果沙拉去參加聚會,且目前手中有幾種水果:一個蘋果、一串葡萄、一個菠蘿等等。那我們現在需要將每一份水果都準備好,這包括清洗、去核、切塊、剝皮等等。
那我們每次都只能拿到一種水果,並需要估算處理這個水果的任務的大小,這裡的估算要考慮處理這個水果的工作量、複雜性以及不確定性。
首先我們先標記出所有規模:

然後我們來處理蘋果。因為要花幾分鐘的時間來給蘋果去核、切塊,所以我們 可以先將蘋果標位中等大小。這個任務並不是很複雜。

接下來需要處理葡萄。對於處理蘋果來說,可能清洗葡萄會更為容易一些,葡萄只需要清洗一下並去掉它的根莖。

接着需要處理櫻桃、西瓜、菠蘿等,依次確定這些任務的大小。

在自己對所有水果的任務有一個大致標準之後,可以在團隊之間交流彼此的看法,比如一個團隊成員認為處理葡萄的任務複雜程度應該大於處理櫻桃的任務,因為葡萄需要一個一個摘下來清洗並去籽。但是另一個團隊成員則認為葡萄不需要去籽,因此任務比較輕鬆。
那在這些不同的觀點提出之後, 團隊就需要明確一個製作沙拉的標準:葡萄需 不需要去籽?蘋果需不需要去皮等等。在統一了標準之後,大家再就任務實現估算的對齊。
在實際的項目中,我們可以運用做沙拉的思維,比如哪一個用戶故事可以定位中等規模的用戶故事,並以此設定一個標準的用戶故事規模。同時將其他用戶故事與該用戶故事做比較,確定其他用戶故事的規模。在了解了如何通過相對規模來估算用戶故事之後,不妨在實際的團隊中試一試這個方法吧~