scrum注重的是管理和组织实践,而XP关注的是实际的编程实践。这就是为什么它们可以很好地协同工作--他们解决的是不同领域的问题,可以互为补充,相得益彰。
他们都要求团队在每一次迭代结尾完成可以交付的部分工作成果。迭代要短,有时间限制。将注意力集中在短时间内交付可工作的代码,这就意味着scrum和XP团队没有实践进行理论研究。他们不会花时间用建模工具来uml图、编写完美的需求文档,也不会为了应对在可预计的未来中所有可能发生的变化而去写代码。实际上, scrum和XP都关注如何把事情做好。这些团队承认在开发过程中会犯错,但是他们明白:要投入实践中,动手去构建产品,这才是找出错误的最好方式;不要只是停留在理论层次上对软件进行分析和设计。
XP的一些核心实践
结对编程
测试驱动开发(TDD)
增量设计
持续集成
充满信息的工作空间
可持续的开发速度/精力充沛的工作