【看板方法】課後心得 之二

更新於 發佈於 閱讀時間約 8 分鐘
圖片來源:www.freepik.com

圖片來源:www.freepik.com

在上一回【看板方法】課後心得 之一 說明看板方法相關的精實精神與原則與實務,這一回則是來設計看板,包含看板的範圍應該多廣、有哪些狀態、工作的顆粒度,以及 DoD 的呈現。

要使用看板方法,要先進行看板的設計,雖然說看板方法四個原則的第一則:從既有的流程開始,但既有的流程卻有很多解釋的空間,例如,可能已經有 Scrum 經驗的團隊,很直覺地就以 scrum board 的 planned、in progress、done 作為既有流程,若以 task 為工作項目的單位來看,這當然沒問題,但一個 task 進到 done 時,能為產品帶來什麼價值?當然有價值,但若整體的 story 沒有完成,就無法出貨,就是一種浪費。因此,設計看板時,要以系統性的角度 (著重整體) 去想:(1) 範圍、(2) 工作項目的顆粒度、(3) 狀態。但重點是,要與團隊取得共識

範圍

範圍決定看板的輸入與輸出。就軟體開發來說,最簡單的是需求作為輸入,實際可動的產品做為輸出。說是這麼簡單沒錯,但通常在考慮範圍時,會多考慮一件事:團隊是否能掌控。舉例來說,最近很紅的 DevOps,從開發、測試到部署以及營運,一條龍式 (最近這個詞好像變成貶意了) 整合在一起,那是不是能在設計看板時,就把部署放進去呢?那要看團隊是否在測試完成後,有權利決定立即部署,若可以,就適合放進去,若部屬需要層層的管理,或是有其他的流程決定,那就建議將部署另外獨立一個看板,不然,一堆工作項目放在 ready to deploy 的狀態也沒什麼意義。

同樣的,在考慮輸入時,也要考慮到是否能控制,或說得更清楚點,是需求的明確性有多高,一個客戶的 idea 在沒有進行任何討論或分析就放進來,那看板上在開發之前可能就要放一個分析的狀態,讓團隊有機會去討論與分析,但討論完若太大,可能又要切成若干個工作項目,此時,原始 idea 這個工作項目的角色就有點尷尬,要從看板上移除呢?還是保留呢?因此,一般建議是不適合放概念層級的工作項目到真正開發的看板中,也許可以有另一個看板用來進行分析與討論。

狀態

工作項目的顆粒度與狀態會彼此相依,例如剛剛所提的,若一個 story 依前端、後端與測試分拆成不同的 task,那 planned、in progress 和 done也許就可以當作狀態,但不見得能看出瓶頸所在,這也是為什麼上課時,柯大哥問大家一句話:你想從流程中看出什麼問題?

問題因團隊而異,有可能是前端與後端的資源不匹配,也可能是開發與測試資源的不匹配,也可能是分析與開發的資源不匹配,之所以都用資源不匹配稱為問題,是因為大多數團隊成員還是有各自的專長,即便是 T 型人才,也還是有特別精的部分與較不熟的部分,因此一個工作項目不太會是一個人從頭做到完 (假設是工作項目不是依職能切割),就會有交接的現象發生,當資源不匹配時,就不太可能很順地,一個人做完,馬上下一個人就接著做。

流程上的每個節點都需要消耗資源,沒有資源就只好等待,有資源完成後才會進到下個階段,因此看板方法想做的是用視覺化的方式去找出資源不匹配的地方,也就是瓶頸,然後才能解決問題,但解決問題不是靠看板方法,而是去調整流程、資源、開發方法,看板方法只是找出瓶頸,透過不斷地找出瓶頸,然後進行改變來優化流程。所以,在每個可能需要等待的狀態欄通常會建議再切成兩個子欄:進行中與完成 (作為緩衝)。好處是可以看到有哪些工作項目是處於『等待』的狀態,等待是我們試著要消除的浪費,若不凸顯出來,團隊就不會知道等待的狀況有多嚴重。

如果團隊的問題是開發與測試資源的不匹配,那可能較合適的狀態會是將『測試』這個狀態獨立出來,讓開發與測試在流程尚能被凸顯出來,相對地工作項目就不太合適是以前端、後端與測試的方式切割,而是一個可操作的項目,當前端與後端在開發時,工作項目進到『開發』的狀態,當開發完成後進到『測試』的狀態,因此可能的看板狀態會像下圖(但團隊可自行調整):

raw-image

另外,由於累積流程圖 (CFD) 能協助觀察流程的順暢度,合適的狀態也是讓 CFD 能顯示出更有用的資訊的一種方式。

工作項目的顆粒度

看板方法沒有限定工作項目的大小形式,所以可以沿用既有的工作項目,例如 ticket、story 和 task 都是可以的,但剛有提到工作項目的顆粒度和狀態的切法有關聯,其實也會跟流程跑得順不順會有關聯,工作項目大小不一,設定 WIP 限制有時會出現產能下降或是多出盈餘時間,理論上工作項目的顆粒度相近,流程就會跑得越流暢,但不可避免,不可能永遠都可以把工作項目切得很相近,所以 WIP 限制是一個實驗值,要隨著執行成果調整。

上完課後,我個人比較喜歡的工作項目形式是 story,在流程每個狀態之間移動的單位也是 story,但實際執行時還是會切成更細的 task,但 task 怎麼辦?就變成 story 卡片上的 check list,check list 也分狀態,例如設計狀態的 task、開發狀態的 task、及測試狀態的 task,每個狀態下的 task 都滿足了該狀態定義 DoD (等等會提到)才能稱作完成,等到該階段的所有 task 都完成了,才會將 story 移到下個狀態,所以一張 story 卡片看起來可能像這樣:

Definition of Done

其實還真的蠻多人搞混 definition of done (DoD) 和 acceptance criteria 的,至少上課時就有不少人搞混,簡單說,DoD 適用在所有工作項目上,可以根據狀態有不同的項目,也就是滿足了規定的 DoD 才能移到下個狀態,而 acceptance criteria 是針對特定工作項目所制定的,更簡單的說法是這個工作項目的規格,通過 acceptance criteria 才能跟客戶收錢。

會提到 DoD,是因為若看板空間夠的話,是可以將 DoD 直接條列在每個狀態的下方,例如,在分析與設計的狀態下可能的 DoD:

  • UI 流程圖已經完成並和 PO 或客戶代表確認過
  • 開發與測試的 tasks 已經切割完成

開發狀態下方可能的 DoD:

  • 都有單元測試,model 的 class/method coverage 到 100%
  • 程式碼至少由一個同儕 code review 過
  • 程式碼已 commit 到版控系統

而測試狀態的下方可能的 DoD:

  • 自動化測試腳本至少包含正常流程
  • 無法自動化測試的部分都有手動執行一次以上

當然,隨著團隊成熟,DoD 是可以一直增加的。最後,加上 DoD 的看板會像這樣:

raw-image

急件

能插入急件,應該是許多團隊或管理層喜歡採用看板方法的一個原因,但要先說一下,雖然原則上 scrum 建議盡量不要在 sprint 進行中插件或調整 user story,但若因為市場因素 (例如,目前進行中的 story 已經不再需要) 或其他緊急因素 (營運中的服務發生問題),還是能將既有的 sprint baclog 做調整,注意,是做調整,不是僅僅把急件插入就好,sprint 週期就是固定這麼長,插件會排擠原有 story 的資源,所以就是用 story 換插件,插進急件就要把 story 移除 sprint backlog,不過有時候比較討厭的是,有些 story 已經進行到一半,要移除去就很討厭了,這即使是 scrum 加上 kanban 一起使用也是一樣的。

不論既有流程不是像 scrum 這種有固定時間周期的,在看板方法中讓將急件有獨立的渠道,而渠道上每個狀態的 WIP 限制都為 1,通常會避免設定很大,避免將所有的工作項目都設為急件,而濫用急件渠道。一但有急件,團隊就必須將該工作項目就當成急件,就像課堂中玩的看板遊戲中,講師偷偷提醒急件的定義,但有些組分配給該工作項目的資源甚至比普通件還少,有一組還因為有急件無法在指定時間內完成被扣 (遊戲中虛擬的) 錢,那就失去急件的意義了。

通常團隊要同時負責開發與營運的話,急件是需要的,因此,看板方法透過視覺化的方式,凸顯急件在每個階段是否都能順暢地被處理。加上急件後的看板會像這樣:

raw-image

小結

到這邊,我們已經把工作視覺化,有了看板了,但這只是第一步,要想用看板方法優化工作的流程,我們得設置 WIP 限制,讓團隊開始知道瓶頸在哪裡,然後才能開始改善,下一回就來看 WIP 限制的設置。

留言
avatar-img
留言分享你的想法!
Spirit-avatar-img
發文者
2023/09/27
【看板方法】課後心得 之三提及了這篇文章,趕快過去看看吧!
avatar-img
Spirit的沙龍
53會員
104內容數
這是從 Medium 開始的一個專題,主要是想用輕鬆閒談的方式,分享這幾年軟體開發的心得,原本比較侷限於軟體架構,但這幾年的文章不僅限於架構,也聊不少流程相關的心得,所以趁換平台,順勢換成閒談軟體設計。
Spirit的沙龍的其他內容
2023/11/01
在上回提到一些應該要避免的措施,以及時時梳理 product backlog 讓團隊有較好的估算,這回則是作為一位 scrum master,我們該如何自省與發現估算的問題,也是以自我反省的方式完結這個系列。
Thumbnail
2023/11/01
在上回提到一些應該要避免的措施,以及時時梳理 product backlog 讓團隊有較好的估算,這回則是作為一位 scrum master,我們該如何自省與發現估算的問題,也是以自我反省的方式完結這個系列。
Thumbnail
2023/10/25
在上回討論 Scrum 對於估算的精神與常見的估算單位,這回就來討論一些應該避免的事項,讓團隊能有更好的估算,下回則是過去的自省與感想。要讓團隊有較高品質的估算,agile coach 或 scrum master 可以觀察一些徵兆,若有發現盡早排除,免得讓團隊成員有壞習慣或是對估算這件事有陰影。
Thumbnail
2023/10/25
在上回討論 Scrum 對於估算的精神與常見的估算單位,這回就來討論一些應該避免的事項,讓團隊能有更好的估算,下回則是過去的自省與感想。要讓團隊有較高品質的估算,agile coach 或 scrum master 可以觀察一些徵兆,若有發現盡早排除,免得讓團隊成員有壞習慣或是對估算這件事有陰影。
Thumbnail
2023/10/18
這同是 2016 年的舊文,根據現在的閱讀習慣重新整理,文章分成三回陸續發布,本回先談談在 Scrum 中,為什麼要估時,然後談談比較常見的單位與用法。下回則是幾個小方法,讓團隊能有更好的估算。最後一回,則是一些過去的自省與感想。
Thumbnail
2023/10/18
這同是 2016 年的舊文,根據現在的閱讀習慣重新整理,文章分成三回陸續發布,本回先談談在 Scrum 中,為什麼要估時,然後談談比較常見的單位與用法。下回則是幾個小方法,讓團隊能有更好的估算。最後一回,則是一些過去的自省與感想。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我相信許多主管在面對維運部門的挑戰時,都可能遇到提升工作效率和加強團隊氛圍的需求。維運團隊通常面臨著大量的重複性工作,而團隊成員則負責不同的平台或系統,使得彼此的工作相對獨立。由於維運作業經常面臨突發狀況,難以精確預測未來的工作量,這可能導致排擠原先預定的工作計畫。在過去的經驗中,我協助維運團隊提升
Thumbnail
我相信許多主管在面對維運部門的挑戰時,都可能遇到提升工作效率和加強團隊氛圍的需求。維運團隊通常面臨著大量的重複性工作,而團隊成員則負責不同的平台或系統,使得彼此的工作相對獨立。由於維運作業經常面臨突發狀況,難以精確預測未來的工作量,這可能導致排擠原先預定的工作計畫。在過去的經驗中,我協助維運團隊提升
Thumbnail
分享之前上的敏捷專案管理中的看板改善系統KSI複習作的圖解筆記, STATIK 六步驟, 以及如何透過立體思維重新思考看板設計
Thumbnail
分享之前上的敏捷專案管理中的看板改善系統KSI複習作的圖解筆記, STATIK 六步驟, 以及如何透過立體思維重新思考看板設計
Thumbnail
在上回,探討 WIP Limit 的設置,但如果當被 WIP Limit 卡住時,直覺的想法是放寬 WIP Limit 而不是想著如何協助他人讓工作順利完成,那就失去使用看板方法的意義了,這回將探討如何讓團隊自覺與改善。
Thumbnail
在上回,探討 WIP Limit 的設置,但如果當被 WIP Limit 卡住時,直覺的想法是放寬 WIP Limit 而不是想著如何協助他人讓工作順利完成,那就失去使用看板方法的意義了,這回將探討如何讓團隊自覺與改善。
Thumbnail
在上回,我們已經把工作視覺化成看板,但這只是第一步,要想用看板方法優化工作的流程,我們得設置 WIP 限制,讓團隊開始知道瓶頸在哪裡,然後才能開始改善,這一回就來看 WIP 限制的設置。
Thumbnail
在上回,我們已經把工作視覺化成看板,但這只是第一步,要想用看板方法優化工作的流程,我們得設置 WIP 限制,讓團隊開始知道瓶頸在哪裡,然後才能開始改善,這一回就來看 WIP 限制的設置。
Thumbnail
在上一回 說明看板方法相關的精實精神與原則與實務,這一回則是來設計看板,包含看板的範圍應該多廣、有哪些狀態、工作的顆粒度,以及 DoD 的呈現。
Thumbnail
在上一回 說明看板方法相關的精實精神與原則與實務,這一回則是來設計看板,包含看板的範圍應該多廣、有哪些狀態、工作的顆粒度,以及 DoD 的呈現。
Thumbnail
當初上完課,很激勵地寫下當時的心得,不太符合現在閱讀的習慣,所以重新整理成較適合閱讀的系列作,這篇將主要分享看板方法的精神與原理,後續會陸續更新,第二篇則是視覺化的作法,第三篇是 WIP Limit 的使用,最後是落實與其他感想。
Thumbnail
當初上完課,很激勵地寫下當時的心得,不太符合現在閱讀的習慣,所以重新整理成較適合閱讀的系列作,這篇將主要分享看板方法的精神與原理,後續會陸續更新,第二篇則是視覺化的作法,第三篇是 WIP Limit 的使用,最後是落實與其他感想。
Thumbnail
這本書是在 Agile Tour 2015 聽完作者本人演講後買的,不過,還真的沒挪出什麼時間把它看完,直到最近因為一些因素終於有時間把它看完了,所以上述很多摘錄都是心有戚戚焉。看是看完了,也別因為我上面都把好處寫出來就覺得看板方法好棒棒,一定也可以適用在你的團隊,真的嗎?
Thumbnail
這本書是在 Agile Tour 2015 聽完作者本人演講後買的,不過,還真的沒挪出什麼時間把它看完,直到最近因為一些因素終於有時間把它看完了,所以上述很多摘錄都是心有戚戚焉。看是看完了,也別因為我上面都把好處寫出來就覺得看板方法好棒棒,一定也可以適用在你的團隊,真的嗎?
Thumbnail
工作拆解第一式 用「階段」為基礎的拆分 用「交付物」為基礎的拆分 微管理(micro-management)不會讓事情更好 「專案管理」也是WBS的一部份 小趣談
Thumbnail
工作拆解第一式 用「階段」為基礎的拆分 用「交付物」為基礎的拆分 微管理(micro-management)不會讓事情更好 「專案管理」也是WBS的一部份 小趣談
Thumbnail
福爾摩斯學習法分作《計畫》、《成果》、《日誌》3 部分,這一篇說明《計畫》。 《計畫》使用「看板」方法(Kanban 這個詞是日本來的,因為整個敏捷思維都跟日本脫不了關係)的模板。「看板」就是在辦公室放塊隔幾格的白板,每張便利貼是一個任務,隨進度推進把便利貼往右邊移動。(圖片來源:Wikimedi
Thumbnail
福爾摩斯學習法分作《計畫》、《成果》、《日誌》3 部分,這一篇說明《計畫》。 《計畫》使用「看板」方法(Kanban 這個詞是日本來的,因為整個敏捷思維都跟日本脫不了關係)的模板。「看板」就是在辦公室放塊隔幾格的白板,每張便利貼是一個任務,隨進度推進把便利貼往右邊移動。(圖片來源:Wikimedi
Thumbnail
經過了幾次的一頁紙課程中與實際操作者的討論互動,我發現有幾種問題是比較難利用短時間來說明清楚,所以我想利用這篇文章來釐清一些使用上的困惑與解決方式 1. 主要任務有順序嗎? 主要任務當然有優先次序的考慮,比如說新產品上市活動中,活動的預演就不太可能發生在預定場地這個任務的前面,對嗎? 裝潢房子也
Thumbnail
經過了幾次的一頁紙課程中與實際操作者的討論互動,我發現有幾種問題是比較難利用短時間來說明清楚,所以我想利用這篇文章來釐清一些使用上的困惑與解決方式 1. 主要任務有順序嗎? 主要任務當然有優先次序的考慮,比如說新產品上市活動中,活動的預演就不太可能發生在預定場地這個任務的前面,對嗎? 裝潢房子也
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News