敏捷开发之道(三)极限编程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基础的同学建议先学习 ...
随机推荐
- jQuery选择器之动态列表显示Demo
显示效果: 之后全部展开: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- android 开源库集合的链接列表
1. 内容挺多的 https://github.com/Trinea/android-open-project
- 深入浅出ExtJS 第四章 表单与输入控件
4.1 制作表单 var form = new Ext.form.FormPanel({ title:'form', defaultType:'textfield', buttonAlign:'cen ...
- java之旅——JDK版本下载
作为一名IT工作者,技术学无止境,最近开始学习java. 学习java就需要安装jdk,直接到官网上下载,总是找不到很好的版本,在资源中找到一个下载jdk的链接,想下载哪个版本都有. http://w ...
- ubuntu安装 ibus-google输入法
1.$sudo apt-get install ibus-googlepinyin //ibus 融合了许多种输入法,google便是一种,此步就是下载安装ibus-google拼音输入法. ...
- 北大ACM(POJ1014-Dividing)
Question:http://poj.org/problem?id=1014 问题点:抽屉原理.dfs.多重背包. Memory: 248K Time: 16MS Language: C++ Res ...
- 第六十八篇、OC_按照某一字段对数值进行排序
代码中是根据"create_time_" 进行排序 ascending:决定的是升序还是降序排序 NSSortDescriptor *sortDescriptor = [[NS ...
- 关于strong、copy、weak、assign的常规用法
strong 对于普通的OC对象都是使用strong copy 对于 NSString,Block weak 用于OC对象,1.当出现循环强引用的时候,必须要保证一端是weak, 2 ...
- 理解C#系列 / 结束
结束 开始写的原因 因为不知道自己有多牛. 因为需要一个备忘录. 因为要把知识梳理清楚,以便机器学习. 结束写的原因 因为想知道自己有多牛,不是把知识统统都摆出来,而是运用知识去做出东西来. 即将开发 ...
- C语言清除输入缓存方法记录[转]
原文:http://www.tomytime.com/archives/218/ fflush()函数是标准的作法. setbuf(stdin,NULL)是GCC下可用的一种方法. scanf(&qu ...