敏捷开发之道(三)极限编程XP续
上次的博文敏捷开发之道(二)极限编程XP中,我们了解了XP的实践中的其中四个,今天我们来一起学习一下剩余的实践。
……接上文
5)、结对编程
结对编程就是由结对的开发人员使用同一台电脑共同完成一项任务。在结对编程中,同一时刻只有其中一位开放人员拥有键盘的控制权,另一位则负责寻找代码中漏洞和可以改进的方法,两个人可以进行交互和合作,这对提高开发人员的团队意识和合作有着积极的作用。
同时,关于结对编程是否能够像我们想象的那样,这就需要我们去实践了。
6)、测试驱动的开发方法
测试驱动与XP原则的第四条类似,只不过测试驱动更加的具体,前者主要针客户需求的实现,后者则属于开发人员主动的开发测试用例,在测试用例的基础之上进行代码开发。
测试驱动目前在国内还没有被大多数人所接受,大多数人更倾向在代码完成之后或代码完成过程中去做调试或单元测试。
7)、集体所有权
在XP中强调,每一个人员都具有对任何模块进行改进和更新的权力,没有专门的人员的对专门的模块负责,当然如果确实存在某一领域的专家,那么该专家就会被邀请或需要主动承担这方面的工作,同时还需要给团队成员进行培训。
集体所有权可以加强团队内部的知识的共享,同时也会扩展团队成员的视野,不会将自己局限在某一领域。
8)、持续集成
对于持续集成,XP与我们基本类似,所不同的是传统模式的构建可能是单独模块或功能的构建,而在XP中则是整个系统的构建。
9)、可持续的开发速度
对于开发人员来讲,每天的工作应该是积极和愉悦的,为了保持开发人员旺盛的精力和敏锐的警觉力,团队要保持适中和稳定的开发速度。所以在XP中不允许团队加班,允许加班的唯一例外是发布版本就在眼前,而且能够立即完成。
10)、开放的工作空间
通常我们认为在开发人员应该工作在一个安静、没有干扰的环境中,但在XP中则打破了这一传统,XP要求开发人员应该能够彼此听到彼此的声音,能够彼此了解所出现的问题,当团队中的成员遇到问题时,每个人都了解对方的状态,程序员随时处在适合进行激烈的讨论的位置上。
11)、计划游戏
所谓计划游戏,就是开发人员根据最近一次迭代的工作量给客户一个预算,客户根据开发人员的开发速度就可以确定项目的持续时间。它的意义在于开发人员和客户之间(或业务人员)进行职责的分离,客户可以决定产品特性,开发人员决定实现产品特性的花费。
12)、简单的设计
过分的设计在XP中是不推荐的,在开发过程中,能够最简单的实现用户素材就是最好的。只有在十分迫切需要进行改进的时候,才会去进行改进。
13)、重构
在开发过程中,随着迭代的进行,我们会发现处理一个错误可能引起另一个错误,代码会随之变得结构退化,最终导致代码难以维护。所以在XP团队中,会经常性的进行代码重构。
14)、隐喻
隐喻的概念类似于,在玩拼图游戏时候的整张图案,它的作用在于制定一个全局性的系统视图,如果模块的功能与整个系统的隐喻不同,则可以断定这个模块是错误的。
到此为止,关于极限编程实践方面的内容,我们就先讲到这里,更多的还是需要我们思考如何去应用和完善。接下来,我会继续进行敏捷开发的其他内容,敬请期待!
敏捷开发之道(三)极限编程XP续的更多相关文章
- 敏捷开发之道(二)极限编程XP
上次的博文敏捷开发之道(一)敏捷开发宣言中,我们介绍了一下敏捷开发宣言,在其中,我们了解到了关于敏捷开发的几个重要的价值观.今天我们来了解一个敏捷开发的方法--极限编程XP 1.介绍 极限编程(eXt ...
- 敏捷开发之道(四)Scrum概述
上次的博文敏捷开发之道(二)极限编程XP和敏捷开发之道(三)极限编程XP续中,我们介绍了一下敏捷开发中的XP开发方法,今天咱们来了解另一个比较流行的敏捷开发方法--Scrum. 1.Scrum简介 S ...
- 敏捷开发的道与术---MPD软件工作坊培训感想(上)
注:由麦思博(MSUP)主办的2013年亚太软件研发团队管理峰会(以下简称MPD大会)分别于6月15及6月22日在北京.上海举办,葡萄城的部分程序员参加了上海的会议,本文是参会的一些感受和心得. 这次 ...
- 实验三 敏捷开发与XP实践实验报告
实验三 敏捷开发与XP实践实验报告 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vi ...
- 实验三 敏捷开发与XP实践
实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验 ...
- 实验三 Java敏捷开发与xp实现
实验内容: 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实 ...
- 20155314 2016-2017-2 《Java程序设计》实验三 敏捷开发与XP实践
20155314 2016-2017-2 <Java程序设计>实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验知识点总结 (一)敏捷开发与XP 软件工程:把系统 ...
- 实验三— —敏捷开发与XP实践
---恢复内容开始--- java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实 验 报 告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:2013 ...
- 20135231 JAVA实验报告三:敏捷开发与XP实践
---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...
随机推荐
- css隐藏元素display:none,opacity:0;filter:alpha(opacity=0-100;,visibility:hidden的区别
在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.我们一般有三种方式:display:none, opacity:0;fil ...
- 【CSS3】---属性选择器
在HTML中,通过各种各样的属性可以给元素增加很多附加的信息.例如,通过id属性可以将不同div元素进行区分. 在CSS2中引入了一些属性选择器,而CSS3在CSS2的基础上对属性选择器进行了扩展,新 ...
- SQL Server 2008安装失败问题以及解决办法
一.检测过程中重启失败解决办法 在键盘上按下组合键[Win]+[R],调出运行窗口. 在窗口中输入“regedit”,点击确定,打开注册表管理界面. 在注册表左侧目录栏中找到如下位置:“HKEY_LO ...
- IntentFilterDemo
intent-filter示例: <activity android:name=".CustomActivity" android:label="@string/t ...
- IOS NSNotificationCenter 的使用
在Android中,为了解耦各个模块的耦合度,我们会使用很多方式,当然最简单而且效率最高的方式就是使用事件总线的方式进行消息分发,但是Android中并没有自带的消息分发机制,需要使用第三方库,比如E ...
- sql 将某一列的值拼接成字符串
) set @str='' -- 必须先赋值 ))+',' from( select [objid],sfrq from tablename ) tb order by tb.sfrq print @ ...
- JavaScript之放大镜效果2
在放大图片效果的同时,我们怎么原图和放大窗体增加间隔呢? 我们只需应用一个table就行了: 源码上: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML ...
- Sass之初识
Sass is the most mature, stable, and powerful professional grade CSS extension language in the world ...
- Java之组合数组1
我们先说"数组",数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素. 一.一维数组的定义 type arrayName[]; 其中类型(type ...
- select--from--where--group by--having--order by 依次顺序
1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--where--group by--having--order by 其中select和from是必须的,其他关键词 ...