精益的历史
来源于1890年代的欧洲的手工艺生产,1910年代的美国福特公司用于工业生产,1950年代的日本丰田公司发扬光大,1990年代美国提出精益管理。
精益开发原则
消除浪费
构建完整性
强化学习
尽可能晚做决策
尽可能早交付
尊重授权团队
全盘优化
KANBAN原则
可视化工作流
限制在制品数量
管理工作流
保证流程规范清楚明确
加强合作
Scrum VS KANBAN
| Scrum | KANBAN |
|---|---|
| 设置时间盒 | 时间盒是可选的 |
| 团队预先选择每个冲刺的工作 | 预先选择工作是可选的 |
| 跨职能团队 | 除了跨职能团队,专家团队也是可选的 |
| 间接限定WIP(时间盒) | 直接限制WIP |
| 必须要有估算(不用精确) | 估算是可选的 |
| 每个Sprint中不能改变工作 | 随时可以增加工作量,只要容量允许(WIP限定) |
| 一个Sprint Backlog由一个研发Team负责 | 一个Kanban可以由多个Team分享 |
| Scrum Board会在每个冲刺之间重置 | Kanban Board是可选的 |
极限编程
XP,我们一般称为极限编程,是最轻量级的开发流程。最主要的精神是:在客户有系统需求时,给予及时满意的可执行程序,所以最适合需求快速变动的项目。
它强调:客户所要的是可工作的执行代码,所以把鱼撰写程序无关的工作降至最低,并要求客户与开发人员最好以side-by-side的方式一起工作。
XP的价值观
简单
沟通
反馈
勇气
尊重
XP的12个实践
计划游戏
小版本发布
隐喻
测试驱动开发
重构
结对编程
代码集体所有
持续集成
可持续的开发速度
客户测试
编码规范
XP的角色
XP教练
XP客户
XP程序员
XP测试员
XP跟踪员