敏捷开发之极限编程(XP)概念

1.极限编程(Extreme programming,缩写为XP),是敏捷软件开发中应用最为广泛和最富有成效的几种方法学之一。极限编程鼓励管理人员和开发人员接受并使用某些特别的有价值的方法。
2.极限编程的创始者是肯特·贝克、沃德·坎宁安和罗恩·杰弗里斯。
3.极限编程的目标:降低因需求变更而带来的成本。极限编程通过引入基本价值、原则、方法等概念来达到降低变更成本的目的。一个应用了极限编程方法的系统开发项目在应对需求变更时将显得更为灵活。
4.极限编程的12个核心实践
(1)短交付周期:和Scrum一样xp采用迭代的交付方式,每个迭代1-3周时间。在每个迭代结束的时候,能够交付可运行的,经过测试的功能。
(2)计划游戏:主要包括软件发布计划和周期开发计划。
(3)结对编程:编程时两个人一起,一个考虑系统架构,一个设计编程细节。
(4)可持续节奏:在项目开发过程中持续保持节奏。
(5)代码集体所有:所有人都可以更改代码任意一部分,可以提升开发速度,提高错误发现的速率。
(6)编码规范:团队使用统一的编码规范。
(7)简单设计:用最简单的办法实现每个小需求。
(8)测试驱动开发(TDD):从功能需求的测试用例开始,先添加一个测试用例,然后运行所有的测试用例看看有没有问题,再实现测试用例所要测试的功能,然后再运行测试用例,查看是否有case失败,然后重构代码,再重复以上步骤;确保照顾到所有需求并实现所有功能。
(9)重构:开发人员对每个USER STORY都进行简单设计,但同时也在不断地对设计进行改进。
(10)系统隐喻:用比喻来描述系统或功能模块是怎样工作的,帮助团队更好理解需求。
(11)持续集成:团队经常基集成,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。
(12)现场客户:客户应该时刻在现场解决问题
5.极限编程的4个价值:沟通、简单、反馈、勇气
6.极限编程的5个原则:快速反馈、假设简单、增量变化、拥抱变化、高质量工作。

参考资料:
scrum中文网http://www.scrumcn.com/agile/

你可能感兴趣的:(敏捷开发之极限编程(XP)概念)