在敏捷開發中,你們常常會提到看板(kanban)這個名詞,故名思義就是可視化的板。看板做爲一個敏捷方法,與其餘方法相比具備更強的可實施性,也更易讓團隊理解和執行。git
下面將結合豬齒魚團隊的敏捷故事,給你們講述下如何來使用看板,以及Choerodon豬齒魚敏捷管理又是怎麼輔助項目成員落地看板方法的。github
Choerodon豬齒魚尚未發佈第一個版本時,豬齒魚的總設計師已經很是肯定團隊必定要使用敏捷的方式,去作一個敏捷開發工具來幫助企業提高系統交付的價值。微信
在豬齒魚開發前期,團隊須要去整理需求、收集需求、排列哪一個故事先作哪一個故過後作。那時候整個豬齒魚開發團隊被分紅不一樣的敏捷小組,在辦公室擺了四、5塊白板。你們對照着看板方法中的圖片模樣,依葫蘆畫瓢地在看板上用線條進行分割,繪製出列和泳道,並買來各類顏色的便利貼和磁貼,豬齒魚各個敏捷開發小組就這樣用起來了看板。微服務
首先須要讓任務在板上呈現出來。工具
團隊定好一個開發週期時,產品負責人(PO)會將這個週期內的全部需求都整理出並分別寫在一張張大號便利貼上,按照優先級高低將卡片從上到下依次放在story這一列,剩下的故事卡片繼續留在backlog這列裏,直到有故事(卡片)作完再去backlog中將優先級最高的移動到story這列進行開發。團隊根據故事的描述、對象和目的等信息將其拆分紅一個個的開發任務,寫在小號卡片上貼在doing狀態列中。每一個團隊成員經過磁力貼顏色或其餘方式標記出本身,粘在本身所負責的任務卡片上。開發工具
在使用看板後的第一個迭代中,團隊裏幾乎聽不到「A功能是誰作的?」「B任務作到什麼程度了?」「爲何C功能還沒開始?」「張三李四王五大家在幹嗎?」等等這樣的聲音了,每一個成員只要擡頭看看白板,就能大概知曉以上這些信息,並且是即時的。這樣一來,看板可視化在豬齒魚團隊算是作到了。測試
圖爲豬齒魚團隊物理看板優化
既然已經將產品功能和開發任務都貼在了看板上,接下來就須要讓任務流動起來。管理流動的目的很明確,就是要將全部的卡片從backlog中運送到部署,並能讓這個過程在板子上體現出來。設計
每一天的工做從各個敏捷團隊成員站在白板前開始,在豬齒魚產品開發團隊現場,天天早上都會看到一副盛景——開站會。對象
在繪製成多列(分別是待辦、分析、開發、測試和待發布或者部署)的看板面前,開發人員依次陳述本身昨天作了什麼,並將對應工做的卡片進行狀態的更新,也就是將作完的任務卡片從doing狀態移動到完成的狀態。而後再接着說今天要作什麼,並將板上backlog中的任務移動到doing的狀態,貼上本身的名帖。接下來測試人員根據板上已完成開發的卡片來安排今日任務或對以前還沒進入測試列的卡片進行測試工做,將開發完成的卡片從開發完成這列中移動到測試doing。
在迭代的前1到2天,可能看不出明顯的變化,從第三天開始,你會發現卡片動起來了,白板上任何列中都有卡片,從開發doing到開發done,從測試doing到測試done,再到部署。全部到doing的卡片,都不是直接貼上來的,必定是從backlog中通過了分析、開發、測試的各個階段才挪到了這個位置。
這只是整個流程持續優化之旅的開始,在這個過程當中,老是存在某個瓶頸會拖延你的工做,慶幸的是,這些問題在白板上很容易顯現出來,好比某個卡片在板上停留了2天了尚未動靜,好比誰的名帖在板上最多,誰一個名帖都沒有。每每越嚴重的問題越早暴露,一旦解決掉,工做的流動就會明顯改進。
當基於這一原則開展工做時,你可以從精益思想中找到靈感來消除過程當中的浪費以便工做可以順暢流動起來。
限制在製品指的是對進行中的任務數進行最多數量的限制。首先限制在製品並非一個目的,它只是用來驅動改進的手段。
豬齒魚敏捷團隊在前期開發中,也沒法理解如何去作到限制在製品。平臺設計師張禮軍說,「咱們就先按一我的最多同時進行3個任務去執行吧」。
因而你們按人員數量去限制在製品,用磁貼來表示工做的分配。咱們爲團隊成員每一個人製做3個表明他們本身的磁貼,上面寫上代號或者名字。而後將其貼在本身負責的任務卡片上,這樣也很容易看出每一個人在作什麼,而且手頭有多少正在進行的工做項。
這樣的好處是每一個人只有當看板上本身的頭像少於3個的時候,才能夠去領取新的任務,避免多任務並行而忽略了交付質量。這樣實踐下來,很容易發現團隊中某些人是否是工做項過多,任務一直停滯不前,致使整個團隊的在製品過多,影響了總體進度。
但這個原則的目的側重於確保每一個人都有足夠多的工做可作,對工做流動的完成狀態沒有什麼大的幫助,由於客戶不關注團隊是否每一個人都有事情作,他們只但願能交付成果。
隨着敏捷思想的不斷實踐,團隊嘗試不斷改善方式,好比在每列上方寫上數字標記在製品的數量,開始實施基於列的在製品限制原則。經過在瓶頸以前的步驟設置在製品限制,能夠防止瓶頸處工做氾濫,而且促使團隊解決瓶頸,進而改善整個流程。
舉個例子,好比開發列中的卡片數已經到了在製品上限,但是測試列裏的任務也存在堆積,測試人員沒精力進行更多的測試。這個時候,開發的卡片沒法流動進測試列,開發人員便不能進行新的開發任務,瓶頸就很明顯在測試列了,那麼團隊的開發人員能夠去幫助測試人員進行測試,從而解除瓶頸,讓板子上的卡片從新流動起來。
豬齒魚團隊運用了人員限制、列限制幾個方案,而在敏捷方法裏也提供了許多的方法以便你瞭解如何設置在製品。
限制在製品就是經過條件限制把流程改進的機會呈如今表面,使團隊能直接觀察到流動遲滯(卡片在白板上的移動很是緩慢)、任務積壓(在某列中堆積了不少卡片)、項目停滯(工做項一直等待)的等些問題,以便及時做出調整。
這些看板實踐經驗後來也在Choerodon豬齒魚平臺的敏捷管理上有所體現,前兩個原則自沒必要說,在限制在製品方面,豬齒魚敏捷管理採用列限制的方案。支持用戶自行對列進行配置,設置該列任務最大數量和最小數量。
數量會在看板上直接顯示,當任務數量已經達到最大時,新的任務沒法拖入該列。
說到底,敏捷管理是一個方法也是一種心態,選擇哪條路改進你的系統徹底取決於你,最重要的一點是當你的工做向你發出改進信息時,你要響應並改善它。
豬齒魚敏捷團隊故事看板實踐就介紹到此,敬請期待下篇《電子與物理看板的差別化分析》。
Choerodon豬齒魚開源多雲集成平臺,基於開源技術Kubernetes,Istio,knative,Gitlab和Spring Cloud來實現本地和雲端環境的集成,實現企業多雲/混合雲應用環境的一致性。平臺經過提供精益敏捷、持續交付、容器環境、微服務、DevOps等能力來幫助組織團隊來完成軟件的生命週期管理,從而更快、更頻繁地交付更穩定的軟件。
你們也能夠經過如下社區途徑瞭解豬齒魚的最新動態、產品特性,以及參與社區貢獻:
歡迎加入Choerodon豬齒魚社區,共同爲企業數字化服務打造一個開放的生態平臺。