我是谁?
• 趋势科技, 台湾部门, 品质经理
• 台湾敏捷技术社群发起人之一• “Scrum Community in Taiwan”
• “Agile Community in Taiwan”
• 博客: http://kojenchieh.pixnet.net/blog
3
趋势科技 (Trend Micro)
• 前三大防病毒软件公司
• 着重于云端, 企业, 和个人等资安产品
• 2008 年开始推行敏捷, 目前约有七成使用 Scrum
4
主题: 如何利用 Kanban 让 Scrum 更完美
• 项目背景和早期的开发流程
• 项目实施 Scrum 后所遭遇的问题
• 如何以 Kanban 来进行渐进式改革• 流程中的坏味道
• 持续改进的方式
• Q & A
5
多版本, 多国语言, 多项目
• 多版本• 2012: 2.9 -> 2.91 -> 2.92 -> 2.95
• 2013: 3.0 Beta 1 -> 3.0 Beta 2 -> 3.0 -> 3.0 SP1
• 多语言
• 多项目• 2012: DDA
• 2013: DDA/CTIS/DDTI
8
早期的开发流程
• 以 Scrum 为主的开发方式
• 为期 2 周的 sprint
• 发行周期: 1.5 M -> 2 M -> 4 M
9
5 个核心实务• 可视化你的工作流程
• 限制同时工作数量
• 管理工作流程
• 为流程订定明确的方针
• 一同合作来改进
16
分析(3) 设计(3) 做完需求 开发(4) 测试(2)
测试人员的任务版
• 测试: 测试个案开立, 检视, 环境准备, 执行, 验证修复结果
• 自动化
• 效能和侦测率调整
• 事件导向: To Do -> In Prog -> Done
18
开发人员的任务版
• 以开发为主
• Backlog -> Do -> Check -> Done
19
曾试图利用 WIP limit 解决问题
• 很难归纳公式• 多种类型工作, 多个项目
• WIP limit 只是提醒, 重点是厘清和解决问题
26
利用 Improvement Kata 持续改善
27
2. 理解目前的状态
1. 了解愿景方向
3. 想要达到的下一步的目标
4. 利用PDCA 达到下一步目标
http://hakanforss.wordpress.com/tag/toyota-kata/
处理并行状况
29
• 收集信息• 记录处理概念性验证的时间
• 专人专职• 处理开发和维护不同人负责
• 确认有足够资源• 纪录 cycle time 以评断处理速度
制定政策
33
设计做完的条件1. 设计需要检视2. 验收测试个案要开立
整合完毕的条件1. 验收测试个案要通过2. 程序代码要检视过
处理修太久又错太多的状况
36
• 先处理既有的错误• 评估和保留修复时间
• 可视化错误处理的状态• 将 bug 贴在开发人员任务板上面
• 由架构师专职检视• 避免修复后带来更多错误
解法整理: 如何补强 Scrum
问题 解法
多项目, 多种不同性质工作 多个工作流程
任务版上的信息不足 详尽的工作流程
人数太多不易使用 Scrum of Scrum
Retrospective 的效果不彰 Improvement Kata
Fishbone + 5 Whys
39
解法整理: 如何观察坏味道
• 有不需要或是少列的步骤
• 工作流程过度一般化• 同时处理不同性质的事情
• 台面下的多任务
• 有些步骤做太快• 有些步骤拖太久• 有些步骤一直重复发生
40