2.8 XP模型
1.模型的本意
XP模型(eXtreme Programming Model),即极限编程模型,它本来是敏捷企业文化现象,但是不少人将它当作一种软件开发模型。
对传统软件开发模型进行重新审视发现,它们太正规、太呆板、太浪费资源,从而提出了省时省力的XP模型。它属于轻量级开发模型,由一组简单规则(需求、实现、重构、测试、发布)组成,它既保持开发人员的自由创造性,又保持对需求变动的适应性,即使在开发的后期,也不怕用户需求的变更。XP模型的迭代开发过程,如图2-6所示。

图2-6 XP模型
2.模型的特点
在需求、实现、重构、测试、发布的迭代过程中,XP模型有4 条核心原则:交流(Communication)、简单(Simplicity)、反馈(Feedback)和进取(Aggressiveness)。XP开发小组包括开发人员、管理人员和客户。XP模型强调小组内成员之间要经常进行“交流”,结对编程,在尽量保证质量的前提下力求过程和代码的“简单”化。来自客户、开发人员和最终用户的具体“反馈”意见,可以提供更多的机会用于调整设计,保证把握正确的开发方向。“进取”则包含在上述三个原则中。在XP模型中,采取讲“用户场景故事”的方法,来代替传统模型中的需求分析,“用户场景故事”由用户自己讲,用户并不考虑技术实现细节,只详尽描绘用户场景。
3.选择模型的条件
XP模型克服了传统模型不灵活机动的缺陷,是一种面向客户场景的轻量级模型。它只适用于中小型开发小组,可分解并降低风险,使软件开发简易可行。实践表明,XP模型特别适合于情投意合的青年人群的小项目。
4.模型的优点
XP模型的优点如下:
(1)采用简单策略,不需要长期计划和复杂管理,开发周期短。
(2)采用迭代增量开发、反馈修正和反复测试的方法,因而软件质量有保证。
(3)适应用户需求的变化,因而与用户关系和谐。
5.模型的缺点
XP模型作为一种新的模型,在实际应用中还存在一些问题,引起了一些争议。它一般适用于小型项目,同时,它与ISO 9001、CMMI的精神也存在冲突。