iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 3
0
自我挑戰組

經濟學角度思考敏捷系列 第 3

Day 3 敏捷中的選擇 Sprint planning meeting 的方式

在 Scrum 中的 Sprint planning meeting 通常有下列幾種方式

  • 區分Part 1, Part 2
  • Part1, Part 2交錯進行
  • Part 2 採用Just In Time方式進行

首先來做簡單的名詞解釋
Scrum 是一種疊代式增量的軟體開發流,程詳細的說明可以參考

在 Scrum 中有一個活動叫做 Sprint planning meeting, 用來決定這個 Sprint 要做些什麼事情, 而 Planning meeting 通常會分兩個階段

  • Part 1: Product Owner (PO) 決定這個 Sprint 想要做的東西(Item) 的優先順序,團隊(team)依照優先順序及自己的能力決定要做哪些東西(Item)
  • Part 2: Team 根據 Part 1 所拿的 Item 進行拆分, 決定這個 Item 有哪些事情(Task) 要做.

今天想要探討的就是 Part 1 和 Part 2 所進行的方式

區分Part 1, Part 2

Part 1 時 PO 跟團隊說我想要做哪些 Item(又稱 Story),並且將優先順序排好,請團隊按照優先順序拿 Story
此時團隊會根據一些方式來決定要拿哪些 Story,這些方式我們明天會討論.
當 Part 1 結束後, PO 已經知道這個 Sprint 有哪些 Story 將會被執行,所以他的預期是等 Sprint 結束時,這些東西應該是會做完,並且處於可以 release 的狀態.此時大部分的 PO 就會離開 planning meeting 不繼續參加 Part 2了.
Part 2 時 team 將所拿到的Story 一一拆分成 Task.
進行的方式大概是拿一張 Story, 然後將這張Story要做的事情把他一一列下來,寫成 Task. 另如

  • 設計UI
  • 設計資料庫表格欄位
  • 新增資料
  • 查詢資料
  • 修改資料
  • 刪除資料

通常會對每一個 Task 寫一下預估的工時以小時為單位,例如

  • 設計UI (8 hr)
  • 設計資料庫表格欄位 (2 hr)
  • 新增資料 (2 hr)
  • 查詢資料 (1 hr)
  • 修改資料 (3 hr)
  • 刪除資料 (1 Hr)
    決定工時通常會採用 Planning Poker 的方式

不過由於team內每個人的能力不同,所以估出來的時間可能也不一樣,這裡估工時的目的不在準確,而是在溝通,可以有很很多種不同的方式來達到共識或是說寫下一個數字

  • 用出最少的來當工時, 到時拿到的人如果在時間內做不出來,代表有進步的空間,可以去請教別人,
  • 平均時間, 如果做時大於平均時間,代表你可能需要求救了
  • 最大的時間, 如果在做的時候還超過,那你也許踩到雷了還是太混了

Part1, Part 2交錯進行

Part1 ,Part 2交錯進行,也就是說 Part 1 先拿一個Story 然後就進行 Part 2 拆 Task, 拆完後可能根據拆出來的工時,和人力來決定是否繼續拿 Story.
例如:一個 team 有 5個人,每人每天的工時算6小時(相信我很多了),這樣一天有30工時,
如果一個Sprint兩個星期有 8個工作天,
那就會有 240個工時,
如果有人請假或是開會等,再把工時扣掉,假設有200個工時
所以以上面的例子,
第一個Story可能要花掉的工時為 8+2+2+1+3+1 = 17,
拿完第一個Story後還有 200 - 17 = 183 Hr,
team 可以繼續拿下一個 Story,繼續拆Task,估工時,一直到剩下的工時太少不足以做一張story為止.

Part 2 採用 Just In Time 方式進行

Part 2 採用 Just In Time 方式進行,也就是說先拿完 Part 1, 這個 Sprint 要做哪些事情也許5個 Story
然後 Part 2 等要做的時候再拆Task,
所以第一次只會拆下一個工作天需要的量,
等量不夠了後在拿下一個 Story來拆Task.

瞭解了這三種常見的方式後,
明天我們再來討論這三種方式的優缺點


上一篇
Day 2 馬糞案
下一篇
Day 4 不同 Sprint planning meeting 方式的優缺點
系列文
經濟學角度思考敏捷30

尚未有邦友留言

立即登入留言