1、介绍
极限编程(eXtreme Programming,简称XP)是敏捷方法中最被推崇的一个,它是一种优良的、通用的软件开发方法,它是由一组简单、具体、相互依赖的实践组成,这些实践结合在一起形成了敏捷开发过程。项目团队可以直接拿来使用,也可以对其中的实践进行修饰。2、实践
1)、客户作为团队成员
我们上篇的博客中提到,敏捷开发中希望客户能够很好参与到项目中,与开发人员一起紧密工作。在XP中,谁是客户呢?XP中认为的客户是能够提供产品的特性并排列这些特性优先级的人或者团队。所以客户的定义非常广泛,也非常灵活,它可以不是真正的客户,因为客户很忙,所以如果我们的团队中没有真正的客户,那么我们也要设法去寻找和创造客户的替代品并将客户纳入到我们的项目团队中,而不是空缺。
2)、用户素材
在XP中,我们希望尽可能的将需求了解的更多和理解的更准确,但随着时间的推移和项目的进行,客户很可能变更一些需求和细节,所以在XP中,开发人员和客户探讨需求的过程汇总,更加希望客户能够在索引卡片上写下一些我们认可的词语,这些词语主要的目的就是使我们能够回忆起这次的交谈,开发人员可以在这些卡片上进行需求的估算。在这些卡片上写下的帮助我们进行优先级和价值估算的注记符就是用户素材,它的作用在于帮助我们进行计划的制定和实现的安排。
3)、短交付周期
XP项目一般每两周交付一次,两周成为一次迭代,每次迭代之后,会给客户进行一次演示,以便带到更加积极的反馈。在每一次迭代之初,首先要做的就是制定迭代计划。制定计划就是开发人员根据客户给的用户素材进行预算,客户为本次迭代选取任意数量的用户素材,一旦迭代开始,客户就不可以修订用户素材的优先级和定义,在迭代期间,开发人员就可以任意的将用户素材分解成任务,并按照一定的顺序进行开发
迭代计划是一个比较小的交付,在一个XP团队中,通常会创建一个包含大约6次迭代内容的计划,也就是指定3个月的工作,它表示一个较大的交付,而这个较大的交付一般会被加入到产品中,所以成为发布计划。发布计划与迭代计划的实现过程类似,所不同的是,发布计划不是一成不变的,客户可以随时改变计划内容、改变用户素材的优先级以及编写新的用户素材等。
4)、验收测试
验收测试是由某种脚本语言编写的,可以用来验证系统能否按照客户指定的行为运转。所以,开发人员可以通过使用客户指定的验收测试进行有关用户素材细节的获取。也就是说,开发人员可以多次运行验收测试进行项目验收,一旦验收通过,那么系统创建就宣告结束,同时可以将该验收测试加入到项目中,并绝不允许该验收测试再次修改。今天的博客就先给大家介绍XP的这四个实践,更多内容,我们下一篇继续,请继续关注!
未完待续……