執行SCRUM-11 –半成品的限制WIP
上一篇文章有提到WIP(Work in Progress),而它的概念來自看板方法(KanBan Method,會在之後詳細介紹,可以先視為控制流程的方法),有些書籍翻譯為「半成品」,我覺得有表達出隱涵的「未完成」意思。而限制WIP的數目,是為了讓團隊手上的工作,在一個階段中可以集中心力來完成。如同之前文章所說的,未完成且發布的功能,其成效為零。即使作了許多的努力、花費SPRINT時間、投入很多的資源,但是未完成的工作,是不能算入績效的。
舉個例子來說,若設定kanban階段為預備->開發->測試發布->完成。如果設定「開發階段WIP=3」,意謂團隊只能在開發階段同時間放置3張卡片,並採用「拉動模式pull mode」來移動卡片,也就是說,只有1張卡片移到下一階段時(測試),才能從上一階段(預備)移來1張卡片。
而WIP設定的大小,將會影響執行SCRUM的成效,例如在測試發布階段WIP=1,若在SPRINT中測試因為發生問題而無法完成目前卡片時,前階段卡片(開發)無法移入將會被卡住,而當開發階段已累積3張卡片時,此時負責開發的人員將會無事可作。(以老闆而言,看到人員無所事事,心情可能就不好了 =_=#)。
那有人就會說WIP可以設定大一些,例如WIP=5。若是如此,可以想像的是,最後會全部的卡片都在測試發布階段,而完成階段的卡片數量還是為零,也是沒有解決問題。其實在執行SCRUM時,若是某階段的人員因WIP限制而無法工作時,會產生人員閒置的情形。此時SCRUM教練要指導,讓這些人員去幫忙處理卡住的問題等等。如上一段的案例,當開發人員不能移動新卡片進行工作時,可以去協助測試人員解決問題。
不過WIP的設定應該依團隊特性、專案類型、人員數等條件,並在初期彈性調整,找出適合的WIP設定值,不過初期有經驗SCRUM教練可以給個建議初值及調整方向,讓設定值可以快速收斂。

comments powered by Disqus