极限编程(XP)是另一种流行的产品开发方法,主要应用于软件领域,他推动软件开发的实践走向极致。
极限编程的重点是客户满意度。由于采用XP方法的团队根据客户的需要开发特性,故可以获得很高的客户满意度。处理新需求是开发团队的日常工作,无论这些需求合适出现,开发团队都被授权去处理。团队根据出现的任何问题及时调整组织结构,并且尽可能高效的解决。
随着极限编程的不断推广与实践,极限编程团队的角色定义已经模糊化。现在一个典型的XP项目,其成员来自客户、管理层、技术和项目支持小组。他们在不同时间可能承担着不同的角色。
发现极限编程的原则
极限编程的基本方法是与敏捷原则相一致的。这些方法如下。
编码是核心活动。通过编写代码不仅可以交付解决方案,而且还可以用来探索问题。例如,一个程序员可以利用代码来解释某一个问题。
XP团队做大量测试。如果仅仅做一点测试就能帮助你发现一些错误,那么大量的测试将帮助你发现更多的错误。事实上,在开发人员制定出需求的成功标准和设计好单元测试之前,他们不会开始编码。一个程序漏洞所反映的并不是编码的失败,而是未进行正确的测试。
让客户和程序员之间直接沟通。程序员设计结束方案之前,必须了解商业需求。
对于复杂的系统,超越任何具体功能的、某一层次的总体设计是必不可少的。在极限编程项目中,所为总体设计指的是,在定期的代码重构中使用系统地改进代码的流程来提高可读性,降低复杂性,提高可维护性,并确保其在整个代码库中的可扩展性。
开始了解一些极限编程实践
在极限编程中,有一些做法与其他敏捷方法相似,但不尽然。以下表列出了几个关键的XP实践,其中大部分是常规做法,并且很多都在敏捷原则中得到了体现。
极限编程通过大幅度提高最佳开发实践常规的强度,着力突破开发团队习惯的局限,使极限编程在提高开发效率和成功率方面取得了出色的成绩。