5. 看板限制每個工作流程狀態的WIP, Scrum限制每個循環的WIP

source: Kanban and Scrum making the most of both, Henrik Kniberg & Mattias Skarin
http://www.infoq.com/minibooks/kanban-scrum-minibook

在scrum中, sprint backlog顯示了, 在目前這個循環中有那些工作在被執行.("衝刺, sprint", 這是英式橄欖球內爭球的行話) 通常會用卡片來表示, 並把他們放在牆壁上. 所以又稱為Scrum的白板, 或是任務的白板.

所以, 那麼scrum的白板和看板的白板有什麼不同呢? 讓我們從一個平凡簡單的項目開始, 來比較他們:

在這兩種方法中, 我們利用工作流程的進展, 來追蹤一群工作項目. 我們已經選擇了三種狀態: 待處理(To Do),進行中(Ongoing), 和已完成(done). 你可以選擇任何你需要的狀態 - 有些團隊會增加一些狀態, 像是整合(Integrate), 測試(Test), 發佈(Releas)等等. 然而不要忘記少即是多的原則. 

所以, 那這兩個白板有什麼分別呢? 是的, 在看板的白板中, 有個小2在中間的欄位. 那就是不同所在. 這個2代表"在任何時刻, 不會有超過兩個以上的項目在這個欄位"
 
在scrum中, 沒有任何規則會阻止團隊把所有的項目同時都放在"進行中"這個欄位! 因為循環本身有固定的範圍, 所以這裡會有一個不言明的限制. 在這個例子中, 因為在整個白板中只有4個項目, 所以在每個欄位有隱藏的限制是4. 因此Scrum是間接限制WIP, 而看板是直接限制WIP.

大部分scrum的團隊最終會明白, 太多進行中的項目是個壞主意. 因此會逐步形成一個文化, 也就是試著在新項目開始前, 先去完成目前的項目. 有些人甚至決定去限制, 被允許在進行中欄位的項目個數, 然後 - tadaaa - scrum的白板變成看板的白板.

所以scrum和看板兩者都限制了WIP, 但是用了不同的方法. Scrum團隊通常是衡量速度 - 多少項目(或是相對應的單位, 像是"故事點數")在循環中完成. 一但團隊知道他們的速度, 那將變成他們WIP的限制(或至少是個指引). 一個平均速度是10的團隊, 在循環中通常不會做超過10個項目(或故事點數)

因此, 在scrum中, WIP是限制了每個時間的單位.

而在看板中, WIP限制了每個工作流程的狀態

以上面看版的例子來說, 在任何時間, 最多2個項目會在"進行中"的狀態, 不管它是任何節奏. 你需要去抉擇什麼樣的限制會要加到那些工作流程的狀態. 但是一般而言, 是限制整個工作流程狀態的WIP. 最好這個值在整個流程狀態中, 是越早被套用越好, 並且越晚被解除越好. 所以在上面的例子中, 我們應該也要考慮加WIP的限制到"待處理"的狀態(或者你稱做輸入序列也可以). 一但我們有適當的WIP限制, 我們便能開始度量和預測前置時間(lead time). 也就是, 平均一個項目在整個白板上從頭到尾移動的時間. 有了前置時間, 便可以讓我們去承諾SLA(服務等級契約, services-level agreements)和制定務實的發佈計畫.

如果項目的大小相差很大, 你可能考慮用故事點數來代替定義好的WIP限制, 或者任何你習慣使用的單位來代替. 有些團隊會花精力去把項目拆解成相同的大小, 以避免這類型的考量, 並減少時間花在評估這樣的事情上(你可能甚至會認為這樣評估是種浪費). 如果項目的大小大致是相同的話, 那就很容易去建立一個順暢進行的系統.

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()