什么时候可以使用极限编程?
此篇文章译文摘自敏捷开发网站
原文来源于Don Wells 极限编程
一、极限编程(XP)是为了响应需求变化的问题而创建的。
在以下情况中,使用XP的成功率更高:
- 您的客户可能对系统应该做什么没有一个明确的概念;
- 您的系统可能会每隔几个月更改一次功能;
- 在许多软件环境中,动态的需求更改是唯一不变的。
二、XP也是为了解决项目风险问题而设置的。
- 如果您的客户在特定日期之前需要一个新系统,则项目风险很高;
- 如果该系统对您的软件组是一个新的挑战,则风险会更大;
- 如果该系统对整个软件行业构成新挑战,则风险甚至更大。
XP实践的建立旨在降低风险并增加成功的可能性。
三、XP是为小型程序员群体设置的。
尽管有一些容纳 30个程序员的大型项目取得了成功,但在 XP方法中,只适应有 2到 12个程序员的项目。您的程序员可以很普通,他不需要具有博士学位,但您不能在拥有大量员工的项目上使用 XP。我们应该注意,在具有动态需求或高风险的项目中,您可能会发现一个小的 XP程序员团队无论如何都比大团队更有效。
四、XP需要一个扩展的开发团队。
XP团队不仅包括开发人员,还包括管理人员和客户,他们之间相互协作。提出问题,协商范围和时间表以及创建功能测试,这些不仅需要开发人员参与软件的开发,还需要其他团队成员的参与。
五、XP要求强调可测试性。
该条件要求使用者必须能够创建自动化的单元测试和功能测试。虽然有些域名会被取消资格,但您应清楚,有多少域名是没有资格的。另外还要求在某些领域应用一些测试技巧,可能需要更改系统设计,以便于测试。请记住,有志者事竟成。
六、XP强调生产力。
与相同公司环境中的其他项目相比, XP项目中,程序员生产力处于较高阶段。但这从来不是 XP方法论的目标, XP真正的目标是在需要时交付客户所需的软件。
如果您的项目符合这些条件,那么是时候尝试 XP了。