关于极限编程简单介绍

    2001年,首次提出了敏捷开发。其中应用比较广泛的就是极限编程与scrum。本文主要介绍极限编程。

    极限编程(extreme programming),简称xp,这是敏捷过程中极具盛名的一个。其中“极限”代表把好的开发实践运用到极致。目前来看,极限编程广泛应用于需求模糊且经常改变的场合。其大致有以下的原则:

1.客户作为开发团队的成员。必须要有一名客户代表在整个开发周期中与开发人员一起工作,负责确定需求,设计功能验收测试方案。

2.使用用户素材。所谓用户素材就是正在进行的关于需求的谈话内容的助记符。根据用户素材可以合理安排实现该需求的时间。

3.短交付周期。每两周完成一次的迭代过程实现了用户的一些需求,交付出目标系统的一个可工作的版本。通过向有关用户展示迭代生成的系统,获得他们的反馈意见。

4.验收测试。通过执行由客户制定的验收测试来捕获用户素材的细节。

5.结对编程。两名开发人员在同一台计算机上共同编写解决一个问题的程序代码。通常一个人编码,另一个人对代码进行审查与测试,以保证代码的正确性与可读性。结对编程是加强开发人员相互沟通与评审的一种方式。

6.测试驱动开发。极限编程强调着“测试先行”。在编码之前应该首先设计好测试方案,然后编程,直到所有测试都获得通过之后才可以开始编程。

7.集体所有。极限编程强调持续代码属于整个开发小组集体所有,小组每个成员都有更改代码的权利,每个成员都对全部代码质量负责。

8.持续集成。一天之内多次集成系统,随着需求变更,不断进行回归测试。

9.可持续的开发速度。开发人员以能够长期维持的速度努力工作。xp规定开发人员每周工作时间不超过40小时,不得连续加班两周,以免降低生产率。

10.开放的工作空间。项目全体参与者(开发人员,客户)一起在一个开放的场所中工作,项目组成员可以在这个场所中自由交流讨论。

11.及时调整计划。计划应该是灵活的,循序渐进的。制定出项目计划之后,必须根据项目进展及其情况进行调整,不可以一成不变。

12.简单的设计。开发人员应该使设计与计划在本次迭代过程中完成的用户素材完全匹配,设计时不需要考虑未来的用户素材。

13.重构。在不改变系统行为的前提下,重新调整和优化系统的结构以降低复杂度,增加灵活性,提高性能。但不要过分依赖重构。

14.使用隐喻。隐喻可以看作是把整个系统连接在一起的全局视图。它描述系统如何运作,以及使用何种方式把新功能加入到系统。


参考资料《软件工程》 作者:张海藩

猜你喜欢

转载自blog.csdn.net/qq_41445403/article/details/80024110