XP ,极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的,是一种软件工程方法学。
XP由价值观、原则、实践和行为四个部分组成。
四个价值观: 沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage),此外还扩展了第五个价值观:谦逊(Modesty)
五个原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作
十三个最佳实践:基于敏捷的核心思想和价值目标,XP要求项目团队遵循13个核心实践
团队协作(Whole Team)
计划游戏(The Planning Game);
结对编程(Pair programming)
测试驱动开发(Testing-Driven Development)
重构(Refactoring)
简单设计(Simple Design)
代码集体所有权(Collective Code Ownership)
持续集成(Continuous Integration)
客户测试(Customer Tests)
小型发布(Small Release)
每周40小时工作制(40-hour Week)
编码规范(Code Standards)
系统隐喻(System Metaphor)
XP的价值:
1、快速。 快速的工作环境,持续的集成和部署。
2、可见。 团队内部的开放式沟通帮助每个人跟上项目进度
3、降低成本。减少了反馈回路,在整个开发阶段都会实施更改。变更成本降低。
4、团队合作。 开发人员努力工作以在紧迫的期限内完成目标。 在整个项目中相互支持。 结对编程以两人一组的形式将它们聚集在一起,在它们之间共享想法并并排创建软件。
Kanban方法:
大野耐一在丰田创建了看板方法并应用到生产管理过程中。
David J. Anderson是在软件开发中引入看板方法的首位实施者。
看板方法的核心特性:
1. 可视化工作流程
2. 限制进行中的工作(work-in-progress)
3. 度量和管理流动
4. 明确过程策略
5. 使用模型来识别改进机会
看板的价值:
1、缩短交付周期时间,提升交付速率
看板方法通过识别和消除价值交付流程中的瓶颈,不断缩短交付周期,提升交付速率。成功实施看板的团队,交付周期缩短时间的同时,交付的可预测性也将大幅提升。
2、改进业务响应能力
看板着眼端到端的价值流,改善IT与业务的协作,落实延迟承诺、迅速完成等精益原则;优化IT与业务的承诺方式,最大化业务灵活响应能力。
3、形成渐进改进的组织和团队文化
看板方法强调从组织的现状出发,建立组织持续变革和改进的能力,最大限度地降低组织对于精益和敏捷变革的抵制,并保障其长期效果。
个人观点:看板并非为敏捷设计,其中很多思路也有与敏捷想背离的地方。软件毕竟是软件,软件生产和机械制造业的生产车间有巨大的差别,以看板方法为唯一方法落地敏捷实践,效果和成效是非常有限的。个人更推荐与scrum、xp等方法结合使用。