︿
Top

2016年1月21日 星期四

研讀心得: 精實開發與看板方法


最近有空把 Ruddy Lee (李智樺) 老師所著的 "精實開發與看板方法" 研讀了一遍. 以下是個人一段小小的心得.

"精實" (Lean) 係源自於製迼業, 稱之為 "精實生產" (Lean Production); 因此, 書中有提到不少管理方面的理論或方法, 例如: TOC (Theory Of Constraints), GTD (Getting Things Done), 蕃茄鐘, Little's Law, Multitasking Is Evil, PDAC (Plan, Do, Check, Action), 啤酒遊戲  ... 等; 將精實生產的精神, 用在軟體開發上, 就稱之為 "精實開發" (Lean Development), 例如: 消除浪費.

"看板" (Kanban) 方法, 並不是一套軟體開發的方法論, 而是一種改善工作流程及效能的工具, 其主要著眼在於改善工作流程. 其主要的好處是 透明化工作流程 及 專注在現行工作項目




在個人或小團隊使用看板方法 , 最主要的步驟有二: 
1. 視覺化工作流程: 繪出價值流程圖 (Value Stream Mapping), 並確定可以代表整個工作歷程後, 再繪製看板圖 (Kanban)
2. 限制 WIP (Work In Progress) 的數量: 主要為以下2個理論, 細節可參考 "精實開發與看板方法" 書中第3-2節.
(1) 利特爾法則 (Little's Law)
(2) 多工是不好的 (Multitasking is evil)

在看板上如何設計工作流程呢? 通常會依時序或開發流程作設計
1. 時序: 通常用在 非軟體開發 的工作項目. 
例如: 採用 ToDo(待辦) , In Progress(進行中) , Done(已完成) 作為流程.
2. 開發流程: 通常用在 軟體開發 的工作項目. 
例如: 本期衝刺項目(Sprint Backlog), 準備(分析及設計), 開發(進行中/已完成), 測試, 部署.
請注意: 本例中的 '開發', 有分 '進行中' 及 '已完成', 最主要將 '已完成' 當作緩衝 (Buffer), 以防萬一測試人手不足, 來不及消化測試的工作項目, 而造成阻塞 (blocked) 狀況.

由於看板軟體不少, 書中第5章的截圖, 係採用 KanbanFlow , 因此, 將在下一篇作基本的操作說明. 以供有興趣的朋友作參考.

沒有留言:

張貼留言