上次的博文敏捷开发之道(二)极限编程XP中,我们了解了XP的实践中的其中四个,今天我们来一起学习一下剩余的实践。



……接上文

5)、结对编程

结对编程就是由结对的开发人员使用同一台电脑共同完成一项任务。在结对编程中,同一时刻只有其中一位开放人员拥有键盘的控制权,另一位则负责寻找代码中漏洞和可以改进的方法,两个人可以进行交互和合作,这对提高开发人员的团队意识和合作有着积极的作用。

        同时,关于结对编程是否能够像我们想象的那样,这就需要我们去实践了。

6)、测试驱动的开发方法

测试驱动与XP原则的第四条类似,只不过测试驱动更加的具体,前者主要针客户需求的实现,后者则属于开发人员主动的开发测试用例,在测试用例的基础之上进行代码开发。

        测试驱动目前在国内还没有被大多数人所接受,大多数人更倾向在代码完成之后或代码完成过程中去做调试或单元测试。

7)、集体所有权

在XP中强调,每一个人员都具有对任何模块进行改进和更新的权力,没有专门的人员的对专门的模块负责,当然如果确实存在某一领域的专家,那么该专家就会被邀请或需要主动承担这方面的工作,同时还需要给团队成员进行培训。

        集体所有权可以加强团队内部的知识的共享,同时也会扩展团队成员的视野,不会将自己局限在某一领域。

8)、持续集成

对于持续集成,XP与我们基本类似,所不同的是传统模式的构建可能是单独模块或功能的构建,而在XP中则是整个系统的构建。

9)、可持续的开发速度

对于开发人员来讲,每天的工作应该是积极和愉悦的,为了保持开发人员旺盛的精力和敏锐的警觉力,团队要保持适中和稳定的开发速度。所以在XP中不允许团队加班,允许加班的唯一例外是发布版本就在眼前,而且能够立即完成。

10)、开放的工作空间

通常我们认为在开发人员应该工作在一个安静、没有干扰的环境中,但在XP中则打破了这一传统,XP要求开发人员应该能够彼此听到彼此的声音,能够彼此了解所出现的问题,当团队中的成员遇到问题时,每个人都了解对方的状态,程序员随时处在适合进行激烈的讨论的位置上。

11)、计划游戏

所谓计划游戏,就是开发人员根据最近一次迭代的工作量给客户一个预算,客户根据开发人员的开发速度就可以确定项目的持续时间。它的意义在于开发人员和客户之间(或业务人员)进行职责的分离,客户可以决定产品特性,开发人员决定实现产品特性的花费。

12)、简单的设计

过分的设计在XP中是不推荐的,在开发过程中,能够最简单的实现用户素材就是最好的。只有在十分迫切需要进行改进的时候,才会去进行改进。

13)、重构

在开发过程中,随着迭代的进行,我们会发现处理一个错误可能引起另一个错误,代码会随之变得结构退化,最终导致代码难以维护。所以在XP团队中,会经常性的进行代码重构。

14)、隐喻

隐喻的概念类似于,在玩拼图游戏时候的整张图案,它的作用在于制定一个全局性的系统视图,如果模块的功能与整个系统的隐喻不同,则可以断定这个模块是错误的。



        到此为止,关于极限编程实践方面的内容,我们就先讲到这里,更多的还是需要我们思考如何去应用和完善。接下来,我会继续进行敏捷开发的其他内容,敬请期待!

敏捷开发之道(三)极限编程XP续的更多相关文章

  1. 敏捷开发之道(二)极限编程XP

    上次的博文敏捷开发之道(一)敏捷开发宣言中,我们介绍了一下敏捷开发宣言,在其中,我们了解到了关于敏捷开发的几个重要的价值观.今天我们来了解一个敏捷开发的方法--极限编程XP 1.介绍 极限编程(eXt ...

  2. 敏捷开发之道(四)Scrum概述

    上次的博文敏捷开发之道(二)极限编程XP和敏捷开发之道(三)极限编程XP续中,我们介绍了一下敏捷开发中的XP开发方法,今天咱们来了解另一个比较流行的敏捷开发方法--Scrum. 1.Scrum简介 S ...

  3. 敏捷开发的道与术---MPD软件工作坊培训感想(上)

    注:由麦思博(MSUP)主办的2013年亚太软件研发团队管理峰会(以下简称MPD大会)分别于6月15及6月22日在北京.上海举办,葡萄城的部分程序员参加了上海的会议,本文是参会的一些感受和心得. 这次 ...

  4. 实验三 敏捷开发与XP实践实验报告

    实验三 敏捷开发与XP实践实验报告 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vi ...

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

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

  6. 实验三 Java敏捷开发与xp实现

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

  7. 20155314 2016-2017-2 《Java程序设计》实验三 敏捷开发与XP实践

    20155314 2016-2017-2 <Java程序设计>实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验知识点总结 (一)敏捷开发与XP 软件工程:把系统 ...

  8. 实验三— —敏捷开发与XP实践

    ---恢复内容开始--- java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实     验    报     告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:2013 ...

  9. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

随机推荐

  1. 剑指Offer30 从1到n整数出现1的个数

    /************************************************************************* > File Name: 30_NumerO ...

  2. Linux 网卡设备驱动程序设计(3)

    三.网络子系统深度分析 用户程序通过网络发送这个网络数据包 通过 SCI 协议无关接口 协议栈 <   UDP的实现  会选择路由 <    IP的实现  会建立这个邻居子系统,建立邻居信 ...

  3. Linux 网卡驱动设备程序设计(1)

    一.网卡驱动架构分析 1. Linux 网络子系统 #系统调用接口层 为应用程序提供访问网络子系统的统一方法. #协议无关层 提供通用的方法来使用传输层协议. #协议栈的实现 实现具体的网络协议 #设 ...

  4. MVC基础(很基础很基础~~~)

    最近工作比较不忙,准备学习一些东西,作为一个菜鸟,不断学习新东西(我不会的东西)充实自己真的很重要,所以整理一下基础的mvc知识,以备不时之需.呵呵~~ 首先感谢原文作者:QLeelulu的文章htt ...

  5. 揪出ie和Edge的js代码

    var userAgent = navigator.userAgent; var isIE = userAgent.indexOf("compatible") > -1 &a ...

  6. z-index无效

    1.要想给元素设置z-index样式,必须先让它变成定位元素,说的明白一点,就是要给元素设置一个postion:relative(定位元素:position属性值设置除默认值static以外的元素,包 ...

  7. 解决ASP.NET MVC3与FusionCharts乱码问题

    程序代码  代码如下 复制代码 <script type="text/javascript">    $(document).ready(function () {   ...

  8. VxWorks 6.9 内核编程指导之读书笔记 -- C++开发

    5.1 介绍 针对C++的VxWorks配置 C++头文件 使用C++启动任务 C和C++之前调用代码 C++编译器说明 在信号处理和ISR中使用C++ 下载C++编写的内核模块 C++编译器的不同 ...

  9. SpringMvc入门二----HelloWorld

    1. 导入需要的架包: 2. 配置web.xml,添加Servlet <servlet> <servlet-name>springmvc</servlet-name> ...

  10. Cadence OrCad Allegro SPB 16.6 下载及安装破解指南

    Cadence公司的电子设计自动化产品涵盖了电子设计的整个流程,包括系统级设计,功能验证,IC综合及布局布线,模拟.混合信号及射频IC设计,全定制集成电路设计,IC物理验证,PCB设计和硬件仿真建模等 ...