极限编程(eXtreme Programming,简称XP)是一种轻量级、高效、低风险、柔性、可预测的、科学的软件开发方法,其特性包含在12个最佳实践中。
1. 计划游戏 ( Planning Game )
(1)快速制定计划、随着细节的不断变化而完善;
(2)详解:要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。当计划赶不上实际变化时就应更新计划。
2. 小型发布 ( Small Release )
(1)系统的设计要能够尽可能早地交付;
(2)详解:强调在非常短的周期内以递增的方式发布新版本,从而可以很容易地估计每个迭代周期的进度,便于控制工作量和风险;同时,也可以及时处理用户的反馈。
3. 系统隐喻( System Metaphor )
(1)找到合适的比喻传达信息;
(2)详解:通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。
4. 简单设计( Simple Design )
(1)只处理当前的需求使设计保持简单;
(2)详解:任何时候都应当将系统设计的尽可能简单。不必要的复杂性一旦被发现就马上去掉。
5. 测试驱动( Test-driven )
(1)先写测试代码再编写程序;
(2)详解:程序员不断地编写单元测试,在这些测试能够准确无误地运行的情况下开发才可以继续。
6. 重构( Refactoring )
(1)重新审视需求和设计,重新明确地描述它们,以符合新的和现有的需求;
(2)详解:代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。
7. 结对编程( Pair Programming )
(1)由两个程序员在同一台电脑上共同编写解决同一问题的代码。
(2)详解:通常一个人负责写编码,而另一个负责保证代码的正确性与可读性。
8. 集体所有权(Collective Ownership)
(1)任何人在任何时候都可以在系统中的任何位置更改任何代码。
(2)详解:每个成员都有更改代码的权利,所有的人对于全部代码负责。
9. 持续集成( Continuous Integration )
(1)可以按日甚至按小时为客户提供可运行的版本;
(2)提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试,避免了一次系统集成的恶梦。
10. 每周工作40小时 ( 40-hour Week )
(1)要求项目团队人员每周工作时间不能超过40小时,加班不得连续超过两周,否则反而会影响生产率。
11. 现场客户( On-site Customer )
(1)在团队中加入一位真正的、起作用的用户,他将全职负责回答问题。
(2)详解:要求至少有一名实际的客户代表在整个项目开发周期在现场负责确定需求、回答团队问题以及编写功能验收测试。
12. 编码标准( Code Standards )
(1)强调通过指定严格的代码规范来进行沟通,尽可能减少不必要的文档。
相关推荐
《敏捷软件开发方法与实践》第1章阐述了敏捷软件开发方法出现的历史背景、敏捷宣言、敏捷原则及最新动态;第2章介绍了常见的敏捷软件开发方法及其相互间的简单比较;在第3章至第5章中,作者结合自己的敏捷项目开发...
敏捷技能修炼 敏捷软件开发与设计的最佳实践
附件包含经典 火星人敏捷开发手册 2012-12-31.pdf 敏捷开发方法与实践交流.pdf
Ruby on Rails敏捷开发最佳实践书的全部源代码
主要内容包括:敏捷开发的哲学理念、价值观、敏捷开发方法框架和敏捷实践,企业敏捷转型参考框架,帮助企业回答为什么要进行敏捷转型,敏捷转型包含哪些内容和如何开展敏捷转型等问题。 第1章 敏捷开发知识体系总体...
敏捷软件架构、开发方法与开放源码最佳实践 敏捷软件架构、开发方法与开放源码最佳实践
难得的一本关于敏捷落地指导的书,完全可以参照手册在团队中开始尝试敏捷
敏捷开发的九大实践: 完整团队,迭代开发、站立会议、结对编程、简单设计、单元测试、测试驱动开发、时序集成,代码集体所有。
软考高级系统分析师 论敏捷开发方法 达标论文(大于45分)
·讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。 ·使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程。 ·包含了极具价值的可多次使用的C++和JAVA源代码 ·重点...
敏捷技能修炼 敏捷软件开发与设计的最佳实践
本文档可以作为HLD和LLD设计阶段的参考,详细介绍了敏捷园区网络的方案架构、设计方法及最佳实践。最佳实践都是来自实际项目交付的经验总结。通过遵循本文档的最佳实践,网络工程师可以提高项目交付的效率,同时简化...
在本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导...这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。
《Ruby_on_Rails敏捷开发最佳实践》英文版,文字影印版
敏捷开发之实践总结敏捷开发之实践总结敏捷开发之实践总结
本文档可以作为HLD和LLD设计阶段的参考,详细介绍了敏捷园区网络的方案架构、设计方法及最佳实践。
, 本书教你如何采用XP实践,详细描述了每一种实践,然后讨论了一些原则,使你可以更改XP并创建自己的敏捷方法。尤其是,本书为敏捷开发中一些较为困难的方面(合作的需要和团队成员之间的信任)提供了解决办法。, 不管...
敏捷开发实践 敏捷开发体会 敏捷开发过程 架构师和Scrum Master的重要性
这是我收集的一些SCRUM敏捷开发方法的资料.