理解
- 实践是一个向量,从你现在所在的地方指向你用XP能够到达的地方。
- 在XP中,你是在朝着这种高效开发的理想状态前进。
- 如果你发现有一处地方需要改进,那么就立刻去改进。
- XP中的实践是一组经验证有效的实践,你可以从任何一个实践开始,也可以全部使用,但全部使用的效果会更大。
-XP中的实践分为基础实践和扩展实践两部分
基础实践
坐在一起
- 全团队成员坐在一起,因为物理上的接近可以促进沟通并了解沟通的价值。
- 坐在一起,让见面时间更多,就越有人情味和生产率。
完整团队
- 将拥有项目成功所必须的各种技能和视角的人都包含进团队。
信息工作空间
- 是一个团队信息的载体,所有团队内和团队外的人能迅速了解整个项目情况。
- 比如贴在墙上的故事卡片或可视化图表。
充满活力地工作
- 在有效率的时间段内高效地工作。
- 疲惫、熬夜、带病的工作,不能体现对工作的负责,反而可能会损害工作。
结对编程
- 所有产品程序的编写都由坐在一台机器前的两个人完成。
- 结对的程序员,使彼此都专注于任务,一起头脑风暴,讨论系统的精化,理清想法,使彼此都对团队的实践负责。
结对与个人空间
- 结对时,考虑个人卫生健康、地域文化差异、异性差异等因素。使彼此能愉悦高效的工作。
故事
- 使用客户可见的功能描述进行计划。
- 将需求都使用故事描述。
- 对故事“早早估算”。
- 对故事划分优先级。
周循环
- 每一周为一个迭代
季度循环
- 一次计划一个季度的工作。
- 每个季度根据更大的目标对团队、项目、进度和安排做一次反省。
- 季度计划中,要确定瓶颈,尤其是那些在团队控制之外的;开始修补措施;计划季度主题;挑选对应那些主题的整个季度的故事;集中在宏观想法上,考虑项目和组织的关系。
松弛
- 80%的任务必须做
- 20%的任务弹性选择做。
10分钟构建
- 在10分钟之内自动地构建整个系统和运行所有的测试,超过10分钟的构建,人们一般很少原意使用,因此会导致反馈机会的丧失。
持续集成
- 不超过两小时就对改变的地方进行一次集成和测试。
- 集成和构建的结果应该是一个完整的产品。
测试优先编程
- 在改变任何代码之前先编写一个自动化测试。
增量设计
- 每天都考虑你的系统设计,力求使得系统设计适应当天的系统需求
- 增量设计建议的最佳设计时机是在取得来相关经验之后。
- 善于运用重构。
执行实践的时机
- 一旦认识到需要改变,就可以开始改变来。
- 改变总是从自身开始,你唯一能改变的是你自己。
- 一旦你有潜在的改变要做,那么不妨做一些。
- 所有关于如何让事情更好的那些好想法,在执行之前都是没有价值的。一旦发现来对你的改进有意义的主意,就放手做。
- 行动派
网友评论