上次的博文敏捷开发之道(二)极限编程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. 京东2017 C++一面

    一面直接跪,日 1. 重写和重载的区别                            答的一般 2. C++内存分配方式                           不会 3. TCP ...

  2. 如何在mac上安装composer(How to install composer on the Mac)

    Change into a directory in your path like cd /usr/local/bin Get Composer curl -sS https://getcompose ...

  3. MySQL防注入[待续]

    1.将输入的参数变成整数 $id = isset[$_GET['tid']]?$_GET['tid']+0:0; 可以防止:"*.php?tid=3 or 1"这样的语句.

  4. SQL中char、varchar、nvarchar

    char    char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符.   nvarcha ...

  5. JSP之邮箱检验

    首先创建Email类继承Serializable接口以启用其序列化功能,而序列化又是为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性.序列化接口没有方法或字段,仅用于标识可序列化的语义. ...

  6. 联系电话正则表达式(jquery表单验证)

    一.实现的效果图: 二.CSS样式 /*验证样式*/ .onError{ vertical-align: middle; color: #ff0000; line-height: 22px; padd ...

  7. UI1_UIView层操作

    // // ViewController.m // UI1_UIView层操作 // // Created by zhangxueming on 15/7/1. // Copyright (c) 20 ...

  8. Mac下github的使用

    新建github账户   新建Repository,如下图:   建立连接github的秘钥 打开mac的shell cd ~ mkdir .ssh cd .ssh ssh-keygen -t rsa ...

  9. BigInteger大数家法源代码及分析

    我们可以把一个很大很长的数分成多个短小的数,然后保存在一个数组中,大数之间的四则运算及其它运算都是通过数组完成.JDK就是这么实现的.JDK的BigInteger类里用一个int数组来保存数据: /* ...

  10. Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml(转)

    注明:这个转的,见谅未能标明原始出处 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activ ...