极限编程(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)强调通过指定严格的代码规范来进行沟通,尽可能减少不必要的文档。

敏捷开发方法XP的12个最佳实践的更多相关文章

  1. 第三次实验报告 敏捷开发与XP实践

    一.  实验内容 (一)敏捷开发与XP 摘要:一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈.假设简单性.递增更改.提倡更改.优质工作.XP软件开发的基石是XP的活动,包括:编码 ...

  2. 实验三 敏捷开发与XP实践(改)

    ---恢复内容开始--- 一.敏捷开发与XP 二.编码标准 1.编码标准中的版式就是一个很好的例子,版式虽然不会影响程序的功能,但会影响可读性.程序的版式追求清晰.美观,是程序风格的重要因素.单击Ec ...

  3. 20175308 实验三《敏捷开发与XP实践》

    20175308 实验三<敏捷开发与XP实践> 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰写实验 ...

  4. 20145205 《Java程序设计》实验报告三:敏捷开发与XP实践

    开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软 ...

  5. 实验三 敏捷开发与XP实践

    实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验 ...

  6. 20145213《Java程序设计》实验三敏捷开发与XP实践

    20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...

  7. 20145215实验三 敏捷开发与XP实践

    20145215实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软 ...

  8. 20145211 《Java程序设计》实验报告三:敏捷开发与XP实践

    实验内容 使用 git上传代码 使用 git相互更改代码 实现代码的重载 XP基础 XP核心实践 相关工具 一.git上传代码 这一部分是与我的partner合作的,详见他的博客- 20145326蔡 ...

  9. 20162330 实验三 《敏捷开发与XP实践》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验三 <敏捷开发与XP实践> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623班 ...

随机推荐

  1. 一列道出yield和生成器的真谛

    均匀大小的块 def chunks(l, n): """Yield successive n-sized chunks from l.""" ...

  2. 递归与分治策略之棋盘覆盖Java实现

    递归与分治策略之棋盘覆盖 一.问题描述 二.过程详解 1.棋盘如下图,其中有一特殊方格:16*16 . 2.第一个分割结果:8*8 3.第二次分割结果:4*4 4.第三次分割结果:2*2 5.第四次分 ...

  3. uoj407 【IOI2018】狼人

    link 题意: 给一张n个点m条边的无向图,有q个询问,每次询问给出s,t,l,r,问你能否从s走到t,并且初始为人形,结束时必须为狼形,你是人形的时候必须避开$[1,l)$的节点,狼形的时候必须避 ...

  4. java线程系列文章之一(线程的安全性)

    本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/7421217,转载请注明. 当我们查看JDK API的时候,总会发现一些类 ...

  5. Codeforces Round #288 (Div. 2) B. Anton and currency you all know 贪心

    B. Anton and currency you all know time limit per test 0.5 seconds memory limit per test 256 megabyt ...

  6. C++各大名库

    C++各大名库的介绍之C++标准库 标准库中提供了C++程序的基本设施.虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实 ...

  7. DOM-XML(解析与创建)

    /** * 读取(解析)xml文件 * @author Administrator * */ public class DOMRead { public static void main(String ...

  8. BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 (动态树LCT)

    2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2843  Solved: 1519[Submi ...

  9. Cocos2d-x移植android增加震动效果

    cpp部分通过jni调用java静态函数 头文件: #include <jni.h> #include "cocos2d.h" #include "platf ...

  10. Mac 安装 brew

    安装方法:命令行输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ma ...