原则
人和交互 重于 过程和工具
可以工作的软件 重于 面面俱到的文件
客户合作 重于 合同谈判
随时应对变化 重于 遵循计划
原则:
1、交付软件
2、欢迎需求改变
3、经常交付可以工作的软件
4、加强与业务人员的联系
5、围绕斗志高昂的人构建项目,提供环境和支持,并且给予信任
6、团队内部,面对面交流
7、用可以工作的软件衡量进度
8、敏捷过程提倡可持续开发
9、不断追求卓越技术和良好设计
10、尽量减少工作量
11、总结提高效率
1 极限编程实践
1.1 完整团队
客户:
指定义产品特性并排列这些特性优先级别的人后者团体
1.2 用户故事
就是正在进行的关于需求的谈话的助记符。它是一个计划工具,客户可以使用它并根据需求的优先级和估算代价来安排实现该需求的时间
1.3 短交付周期
1.3.1 迭代计划
周期:两周
迭代计划由一组用户故事组成,这些用户故事是客户根据开发人员确定的预算选出来的。
一旦迭代开始,客户就同意不再修改当次迭代中用户故事的定义和优先级别。
1.3.2 发布计划
xp团队通常会创建一个发布计划来规划处随后大约6次的迭代内容。
开发人员通过度量在以前的发布中所完成的工作量来为本次发布设定预算。只要估算成本的总量不超过预算,客户就可以为本次发布选择任意数量的用户故事。
1.3.3 验收测试
验收测试时在就要实现该用户故事之前,或者在实现该用户故事的同时才开始编写。它描述了每个特性的所有细节,并用作验证这些特性是否被正确完成的决定性依据。
1.4 结对编程
一个控制键盘,另外一个控制鼠标
1.5 测试驱动开发
编写所有的产品代码的目的都是为了使失败的单元测试能够通过。