极限编程
目录
极限编程
极限编程(XP)是一种软件开发方法,旨在提高软件质量和对不断变化的客户需求的响应能力。作为一种敏捷软件开发,提倡在较短的开发周期中频繁发布“版本”,旨在提高生产率并引入可以采用新客户要求的检查点。
极限编程的其他元素包括:成对编程或进行大量代码审查,对所有代码进行单元测试,直到实际需要时才进行编程功能,平坦的管理结构,代码简单明了,随着时间的流逝预期客户需求的变化问题得到了更好的理解,并与客户以及程序员之间进行了频繁的沟通。该方法的名称来源于将传统软件工程实践的有益要素带到“极端”水平的想法。例如,代码审查被认为是有益的做法;极端地讲,代码可以连续进行审查(即结对编程的实践)。
![极限编程](http://map.s-jl.com/wp-content/uploads/sites/14/2024/09/20240927231114-66f73b925abac.png)
极限编程的原理
构成XP基础的原则基于刚刚描述的值,旨在促进系统开发项目中的决策。原则旨在比价值观更具体,并且在实际情况下更容易转化为指导。
极限编程的可扩展性
ThoughtWorks声称在多达60人的分布式XP项目上取得了合理的成功。
2004年,随着XP的发展,引入了工业极限编程(IXP)。它旨在带来在大型分布式团队中工作的能力。现在,它拥有23种实践和灵活的价值观。
可分割性和响应
2003年,Matt Stephens和Doug Rosenberg出版了《极限编程重构:XP的案例》,质疑XP流程的价值并提出了改进XP的方法。这在文章,Internet新闻组和网站聊天区域引发了漫长的辩论。该书的核心论点是XP的实践是相互依赖的,但是很少有实践组织愿意/能够采用所有实践。因此,整个过程将失败。该书还提出了其他批评,并以消极的方式将XP的“集体所有权”模式与社会主义相提并论。
自从极限编程的发行发布以来,XP的某些方面发生了变化; 尤其是XP,现在只要可以实现所需的目标,就可以对实践进行修改。XP还对流程使用越来越通用的术语。有人认为,这些变化使先前的批评无效。其他人则声称,这只是在简化整个过程。
其他作者试图将XP与较旧的方法进行协调,以形成统一的方法。其中一些XP寻求替代,例如Waterfall方法;示例:项目生命周期:瀑布式,快速应用程序开发(RAD)等。摩根大通公司(JPMorgan Chase&Co.)尝试将XP与能力成熟度模型集成(CMMI)和六西格玛(Six Sigma)的计算机编程方法相结合。他们发现这三个系统相互加强,导致更好的发展,并且没有相互矛盾。