實施看板方法一些注意事項

TechDays 2014 上了一堂看板方法課程

看到許多來參加課程的主管及工程師們紛紛起了嘗試 Kanban Method的興趣,真是讓人欣慰(也開始擔心起來)。要知道;看板方法十分簡單,實施起來只有簡單的規則,但它是屬於經驗主義之下的過程控制方法,經驗在這裡佔據成敗的最大成分,因此趕緊補上有關看板方法執行失敗的一些注意事項:

not simple

規則簡單但需要持續的改善才會成功!

作為一種漸進式變革管理工具的看板已逐漸為人熟知,它是精益敏捷陣營中適應性最強大的方法(如上圖,Kanban Method 只有3個產出物),這也就意味著它的標準化程度最低(如下圖,很少有長得一模一樣的看板)。所以一些團隊雖然參加了《看板方法課程》的培訓,實際應用時卻十分容易流於形式。大家雖都能把規則倒背如流,看板具有的6大核心實踐:視覺化、限制WIP、管理工作流、過程規則化、要落實回饋、協作式改進,但需要知道的是;達不到這六點就稱不上成功實施看板方法? ! 因為他們是息息相關的。( 其實;看板方法實施起來一點都不簡單。在 David J. Anderson 的看板方法一書裡頭,第六到第十五章講的正是實施看板的方法,初次看的人一定會頭昏腦脹,更別說後面談到模式的那幾章了,但話雖如此;有料的書應該買得讓人有比較值得的感覺吧!)

( 在課程中,舉了個人看板作為範例,請注意: 個人看板主要談的是持續改善進而確定人生的方向,人們很少用硬梆梆的數據來描述自己的行為的,反倒是能否容忍自己的作為表現才是重點。團隊的看板就不只如此了。)

  • 第一要忠實分析你的價值流程圖 Value Stream

     (這是精益精神的基礎,不要去看當初公司制定的制式規範,要透過團隊一起確認工作方式才是真正的工作流程。別忘了讓團隊自我管理,多畫幾次…)

  • 千萬不要本末倒置,讓流程反過來去配合看板 😦這是初次運用看板方法的必經過程)
  • 不要畫得太詳盡,要適度的抽象化,千萬不要什麼都想放上去(我的第一次失敗經驗)
  • 一定要實體與數位看板並行。讓團隊自己討論,讓他們自己挑出合用的工具,RUN 它一個星期之後再來個大PK(讓團隊自已做抉擇,這種經過團隊用心討論出來的東西,最有價值不過了)。

  • 要有個十分明確的目標,讓站在看板前面的人可以說得出來,問題(會阻礙達成目標的種種因素)自然也會呈現出來。
  • 千萬不要讓自己掩埋在Buffer裏頭,勇於嘗試! 想辦法看到瓶頸才是真正的目的,不要老是用小小的加加減減來欺瞞自己,因為要看到現象才能對症下藥,所以盡可大膽的嘗試。
  • 注意,在以能夠達到最大產能的原則下, WIP Work-In-Process 半成品的數值要越小越好,不需要分出多餘的Column時,就把它刪掉,若是刪錯了,別太擔心,最多就這一、二天問題自然會跑出來的(有問題出現,透過討論找出解決之道,看板自然就又改進了一步,持續改善是看板方法最重要的精神)

  • 千萬不能讓成員打迷糊仗: 如果一大早在Kanban 前的會議,有團隊的成員始終沒有進入狀況,也就是對看板上所出現的現象一知半解的,請務必花時間進行充份溝通,這是"經驗之談"。因為一旦有人脫鉤了,接著下去的整個 Sprint 他都會始終在狀況外。這是最最要不得的。 Scrum Master 一定要加以輔導盡到職責。

  • 遇到瓶頸基本上的因應之道可以考慮增加 WIP 的額度或是增加緩衝區的大小。但不要忘了 WIP 和 Buffer 都是越小越好的東西

  • 看板是一個實驗性的過程,因此WIP的限額需要視狀況進行適當的調整(請參考TOC的五步聚焦法)。

下面是一個實務化的看板,圖片的下半部有一些說明是用來提醒工程師在每個階段該做的事!

實例化看板

還有些話要說,等下次了…

用來提升個人效能的「個人看板系統」– Personal Kanban

images9CTXEYN5
用來提升工作效能的個人看板

(在Youtube 上的說明影片 )

用來提升個人效能的「個人看板系統」Personal Kanban ,創始人 Jim Benson

  • 一個人需要執行敏捷開發 Scrum ?

這是一個經常被問到的問題,

請問: 工程師一個人要如何來執行敏捷開發Scrum呢? 有必要嗎?

過去我的答覆都是這樣的: 由於Scrum對角色的要求,因此一個人沒有必要執行Scrum,只要符合敏捷開發的精神就可以了。但是在經年累月的scrum課程中這個問題始終沒有間斷過,確實有很多工程師屬於長時間、一個人單打獨鬥的環境下進行開發作業,但又渴望能有提升效能的方法,那要怎麼辦呢? 現在增加一個答案可以回答了,請嘗試「個人看板系統Personal Kanban

.

「 個人看板起始於先弄清楚自己現在的狀態,然後逐漸的邁向對未來的願景。」

.

(上面的問題在我的書裡頭說得較詳細。書裏頭用「類專案」來談一個人如何敏捷的做專案。「類文件」:一個人開發需要些甚麼文件。書名:" 精實開發與看板方法)

.

用來提升個人效能的個人看板系統

個人看板是用來增進個人理解自己的工作和進一步透過分析來改善流程使得更有效工作的方法。它透過視覺化目前手頭上的工作,然後運用WIP(work in process: 半成品,對軟體工作者而言,指的是還在coding中的程式 )的管制來調整個人對工作進行的流程管理,進而能夠經由有效的管理工作流程來提升工作效能。真是很有效率,也很有趣! 特別是採用微軟系列開發工具的工程師,若能夠透過 Visual Studio 所提供的看板機制,實際管理一下自己的工作與生活瑣事,讓撰寫程式的工具與個人的生活事物相結合也是一種提升個人工作效能的好方法。(看板方法之父 David J Anderson 實際上是出身自微軟, Kanban Method 也是首先運用於微軟的專案上。)當然如果你已經採用了個人看板系統;透過自身的實行,對於整個開發團隊一起實施Kanban Method時,能夠事半功倍是可以預見的。 要深入解釋這種運作,首先要有一種概念:「多工造成效能不佳」談起。(請試著在網路上搜尋: Multitasking is evil 後面在加上 “哈佛” 就有參考文獻了,或是參考這段影片 https://www.youtube.com/watch?v=US9Sff8BFx0 )就很容易了解是怎麼回事了。

多工反而降低了工作效能 — Multitasking is evil

人們總是不自覺的同時處理多件事情。對電腦而言,它能很有效的做到多工(multitask)的動作,而且相當有效率。但人腦卻很難這麼做,我們太容易分心了,對於外界所傳達的訊息我們幾乎來者不拒,是這些干擾的訊息造成我們很容易就開啟了另一個工作而對原來的工作降低了該有的專注力,這一點;對程式設計言;這當然是 BUG的好來源,對測試而言;萬惡則莫過於邏輯思維受到中斷所埋下的缺陷(這是種比較難被測試出來的疏失)。所以針對專注力不夠的朋友,我想推薦Personal Kanban,透過運用它來管理你的工作,運用工具來有效管理手頭上的工作讓生活更好過些。

實行 Personal Kanban 三步驟

  1. 視覺化: 把你手頭的工作用流程畫出來。(Gerry Kirk 在youtube 上的幾篇個人看板運用說明,值得一看!  畫出你的第一個看板)。
  2. 限制WIP(Work In Progress進行中的工作)。(為 Dave Lowe 所製作的一段默片,他運用了Drive through窗口點餐作範例,再清楚不過的說明了WIP的功用,以及我們該注意甚麼。) 試著設定WIP值,請參考這裡WIP 0
  3. 管理工作流(透過反省、分析最佳化你的工作,這是最有價值的一段)。 依稀記得在第一次閱讀 David J. Anderson 所寫的「看板方法」時,就發現給 Comment的許多人中,一致認為看板不只是如此而已,它潛在的可運用空間很大。我想指的就是這裡。(可以參考Gerry Kirk 在youtube 上的其他說明)

(Personal Kanban 的創始人Jim Benson 在書上只列了前二個步驟,並且認為它可以適用在家庭、學校… 任何有人的地方,它能讓人們能更有效的工作(我完全讚成!)。但在這裡我還是加了第三條執行原則,也就是善加管理你的流程。所以這裡就多列了原始Kanban的第三項步驟! )

※ 先介紹 David J. Anderson 所寫的「看板方法」 一書: 如果你想採用 Kanban Method 的話,這是必讀的經典參考書籍。但請務必去看更新資料 http://www.djaa.com/ 查看他最新的定義,這是一個用功的傢伙,隨著時事的改變他也不斷在精進自己所創的理論。(Kanban Method 的開發原則,目前已經稱為6個 practices了)

※ Personal Kanban「個人看板」 Jim Benson 所著。很有參考價值。

kanban
簡體中文版,看板方法:科技企业渐进变革成功之道
personal kanban
原文版

已經沉浸在 Kanban的信息分配多時了,真是有太多麟麟角角,很多只能意會難以言傳的東西,希望找到更好的說詞。想想那些教授看板理論的老師真是難為了。以下是看板方法的六個核心實務(6 practices),前三個常常被稱為3大準則 3 Principles。

6 core practices for kanban

個人看板讓你掌握時間《做自己

個人看板不只是拿來提升個人工作效能, 它更能拿來管理自己生活與工作流程,讓你知道如何掌握時間《做自己》。如何做呢? 靠分析瓶頸來達成改進的需求。

分析三步驟:
(1) 注意自己開始和完成工作的速率。
(2) 每個工作是否按步就班在自己能夠容忍範圍之內完成。
(3) 超過 WIP 限制的情況嚴重嗎? 應該採用寬鬆的方法(加大WIP值),還是緊縮的方法,讓現象能夠改善呢?

(Queue 跟 Buffer 的運用,有一點複雜找機會再來詳細說明)

當然;日子要過得快樂才對,但為了在龐大的工作壓力下還能笑得出來,來試試 Personal Kanban吧!

kanban tools 0

一開始;我覺得越簡單越好,就直接用 OneNote 自己畫看板(如圖中最左邊的),後來因為經常坐在床上更新工作事項(當然用iPad了,也就換成 trello了),最近已經換成 KanbanFlow (非常好用!),因為它多了番茄鐘,可以提醒我專注在工作上的時間。建議大家不遑多試試看,用習慣了就是好的。

為何不直接使用 Visual Studio呢?

答案是當然可以! 不過我會建議你用角色的方式來運用 Visual Studio,因為它比較適合團隊運作的方式,你若能將在家裡的角色、在公司的角色或區分成更多角色,分開來運用,則更能跳脫那種公私不分的枷鎖(這是良心的建議)。

附上一張個人使用看板方法的參考圖示。 (想試試看嗎? 參考: 運用個人看板做時間管理)

.

personal kanban

.

結論

你想增進自己的工作效能嗎?你想讓自己活得更愉快嗎?首先;你要先弄清楚此時此刻你要的是什麼?現在什麼事對你是最重要的,你最在乎的是什麼?然後把每天所作的工作,花費多少時間去做,記錄下來。再從記錄上去分析你是否把時間都用在自己最想要的工作上了,如果不是的話,就設法增加它的比重、調高它的優先順序,然後再執行ㄧ陣子看看,持續改善它,讓自己為自己所想要的東西而活。

請參考: 一個人如何施行敏捷 (來自單核工作法的聯想)

.