一、组建XP团队
在XP团队中,由以下组成
 
 
二、项目相关环境
1、利益相关者:与PM一样,对项目进行管理
2、执行发起人:最终客户(必须定期演示)
 
三、XP组成
四、思考
     1、结对编程
     结对编程中,一个人写,一个人思考。结对编程可以防止被打扰,可以提高精力
     2、精力充沛的工作
     按时下班,不把工作带回家,健康饮食,经常锻炼。
     3、信息化工作场所
     通过各种信息(图表等)贴在工作场所,以随时了解项目进度、当前情况,同时通过图表监控、测评项目。
     4、根源分析
     遇到问题不要想责备,问自己为什么会出现这个问题,寻求问题根源
     5、回顾
     在一次会议中引导一个人说过话,那么他继续说话的可能性就会加大
 
五、协作
1、信任
     团队内部需要和谐团结,与客户(关系人)的关系弄好。可以采用:客户与程序员换位思考、程序员与测试员换位思考、共同进餐、团队持续性(以团队为单位做项目)。坦然面对错误,及早与关系人坦白困难、错误,共同面对问题。定期交付,维护与关系人的关系。
2、坐到一起
     团队的所有成员需要在同一个场所办公。现场客户、程序员、测试员等。这样可以及时交流、高效沟通。但是也提供一个私密的小房间供打电话、聊天等。
3、真实客户参与
     有了真实用户的参与,就不会让自己陷入各种细节。扩大自己的视角。利用他们在实际中如何使用软件、他们的领域知识,可以让你交付一款真正有用的产品。
4、统一协作语言
     采用同一种语言,可以较少程序员与客户专家的沟通障碍。比如程序员采用客户领域的术语进行图表的绘制、命名。
5、站立会议
     在一个固定的时间召开。每次不要超过十分钟。时间不一定在早上,可以上午结束的时候。会议由每个人讲需要让整个团队知道的事情。可以以“我昨天做了什么、今天打算做什么、遇到了什么问题”的格式,也不一定得按照这个格式。
6、编码规范
     编码的规范可以包含:开发实践、工具和快捷键、文件和目录布局、构建和约定、错误处理和断言、实践和日志记录方式、设计约定等。规范的设计,以“1、指定可以接受的最小标准集合 2、关注一致性和共识,而不是完美”。
     在制定规范后,如果有人没有按照规范,可以和他谈:认为这个规范怎么样,为什么没有按照规范。
7、迭代演示
     迭代演示可以降低风险,增加活力,促进团队进步。XP的核心就是定期交付。在演示的过程中,可以解释为什么和原计划不同,有什么变化。若客户具体到某一细节,可以说在演示结束后由项目经理解释。在演示结束后问客户:1、到目前为止客户是否满意。2、是否可以继续。如果在演示中,客户提到需要添加新特性,则说:会后由产品经理负责特性的把关与添加。
8、汇报
     进行良好的汇报,可以增加客户对团队的信任,更相信团队的决策。
     进展汇报:愿景陈述、每周演示、发布和迭代计划、burn-up图。如果需要更详细,可以提供路线图   、状态电子邮件
     管理汇报:生产率、产能、缺陷、时间利用率
     不要汇报:源代码行数、故事数、开发速度、代码质量等
 
六、发布
1、全部完成
     全部完成是指可以发布使用。平时以全部完成来要求团队,可以避免大量难以预计的收尾工作。完成包含测试完成、编码完成、设计完成、集成完成、成功构建、安装、移植、评审完成、修复完成、用户接受。TDD可以促使设计、测试、编程同步完成。
2、没有bug
     a.编写更少的bug:采用TDD,可以减少一定bug。或者通过大量技术和组织方法尽量减少bug的生成。
     b.消除bug的温床:通过重构设计不良的代码可以减少bug
     c.修复bug:尽早修复bug,越到最后代码修复的成本就越大。
     d.测试过程:通过探索性测试,以不寻常的方式进行测试,可以检测预料之外的bug
     e.修正过程:对自己进行总结,查找为什么会出现bug,对自己的编码过程就行改正。
3、版本控制
     版本控制可以管理项目,可以进行回退等
4、十分钟构建
     自动化构建,可以避免很多问题。可以利用ant、make等进行构建。当项目在很小的时候进行自动化构建。尽量不要让构建的时间太长。
5、持续集成
     持续集成能够减少很多隐藏的发布时间。每隔几小时进行集成,保证构建、测试及其他发布的基础组件都能及时更新。这样可以降低发布难度。
6、代码集体所有制
     这样可以让整个团队为所有代码复制。每个人都可以改进别人的代码。这样可以在一个人离开时,团队还能继续推进。实在无法实施集体所有制,可以通过结对编程折中。
7、文档
     文档不用很多,但是因为有更好有效的交流方式,不是偷懒的借口。不需要特定去做什么文档,如果一些文档有商业价值,将其安排为一个user story进行操作。
 
七、计划
1、愿景
     揭示项目正在朝哪个方向前进,以及为什么朝这个方向前进。制定愿景时,可以从:项目应该完成什么、项目为什么有价值、项目的成功标准是什么。愿景指定后就推广出去,贴在工作场所,要求客户一同参与愿景指定。如果有了一份清晰、有说服力的远景,则很容易为故事安排优先级。同时团队成员了解项目的重要程度,有助于提高士气。
2、发布计划
     在接受项目时,尽量只做一个项目,不要几个一起做。同时尽早发布,经常发布,将最有价值的特性先发布出去,有助于提升商业价值。在发布的时候,不要全部把所有的发布出去,为自己留一些余地,不要一次性全部发布。计划需要不断调整,让客户清楚你的计划。可以以时间为标准进行计划。
3、计划博弈
     在计划生成后,对计划的具体安排需要讨论。在对计划进行实施时,良好的计划博弈,是让程序员觉得自己的专业知识对计划进行了贡献,客户觉得自己的领域知识做出了优先级划定。
4、风险管理
     随时对风险进行把控、预测、应对。及时当开发中断也能成功交付,这样以后公司会更加信任你。
5、迭代计划
     每次选择最后价值的特性加入其中进行迭代。一次迭代,由:演示演一轮迭代、回顾前一轮迭代、制定迭代计划、承担故事的交付、开发故事、准备发布。一般在一周完成。在发布了迭代任务后,对任务进行跟踪。
6、松弛
     在迭代中添加松弛制度,增加研究时间,不要太紧。
7、故事
     以用户为中心,用一个个卡片来整理故事。太大的故事进行拆分。故事由客户进行把关。同时也可以包含文档故事、非功能故事、bug故事、试验故事、估算、会议等。将故事分小,可以频繁交付完整特性。
8、估算
     做良好的估算,在每次迭代中都是一致和可预测的。估算时,对故事进行充分分析和挖掘。
 
八、开发
1、增量式需求
     客户可能开始不能确定全部的需求,不用担心。那就开始在已经确定的上面工作。但是客户的每次反馈都需要记录,客户签字,防止客户否认
2、客户测试
     对于每个特性,创建客户测试可以通过描述、演示、开发进行。描述是由客户详细、举例描述功能。让用户领导进行客户测试,引导他们参与
3、测试驱动开发
     在开发前先写测试,这样你在开发时,会自动对你的开发过程进行把控
4、重构
     在平时对代码进行重构,持续提高代码质量
5、简单设计
6、增量设计和架构
7、试验方案
8、性能优化
9、探索性测试
 
XP的价值:简单、勇气、沟通、反馈、尊重。
在实践中避免浪费,若项目一定会失败,则尽早失败。

敏捷开发XP的更多相关文章

  1. 实验三 Java敏捷开发与XP实践

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计                         班级:1353            姓名:陈巧然     ...

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

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

  3. 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的区别

    瀑布式开发.迭代开发,区别[都属于,生命周期模型]         两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说.         传统的瀑布式开发,也就是从需求到 ...

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

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

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

    20145212 实验三<敏捷开发与XP实践> 实验内容 使用git上传代码 与20145223同学一组,使用git相互更改代码 同组实验报告链接:http://www.cnblogs.c ...

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

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

  7. 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告

    20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...

  8. 20145334实验三《敏捷开发与XP实践》

    实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 1.敏捷开发与XP 敏捷开发(Agile Dev ...

  9. 20145337实验三实验报告——敏捷开发与XP实践

    20145337实验三实验报告--敏捷开发与XP实践 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 ** 实验步骤**### 敏捷开发与XP 软件工程包括下列领域:软件需求 ...

随机推荐

  1. hdu4831 Scenic Popularity(线段树)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4831 题目大概意思就是有多个风景区和休息区,每个风景区有热度,休息区的热度与最接近的分景区的热度相同, ...

  2. 使用Spire.Doc来转换文本

    使用Spire.Doc来转换文本 前段时间,我为不熟悉这个产品的读者们写了一篇关于我对 Spire.Doc的初识印象.Spire.Doc是一个专业的Word .NET库,它是专门为开发人员设计的用来快 ...

  3. 整合struts2+hibernate详细配置步骤及注意事项

    刚刚学完这两个框架,就迫不及待的做了一个例子,在整合两个框架的时候,也碰到了一些小问题,下面介绍一下配置的步骤: 1.创建一个自定义的struts2和hibernate的类库 因为之前写例子都是直接将 ...

  4. hibernate笔记--基于外键的单(双)向的一对一映射关系

    假设我们有两张表,人员信息表Person,和身份信息表IdCard,我们知道每个人只有一个身份证号,所以这里的Person和IdCard表是一一对应的,也就是一对一的映射关系,基于外键的单向一对一映射 ...

  5. java操作数据库增删改查的小工具2--TxQueryRunner

    当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...

  6. NET开发学习项目资源(2)

    NET开发学习项目资源 击标题链接即可下载. 目录: 1.征婚交友网站 前台交友信息和后台会员管理两大部分组成. 前台功能模块 该模块主要包括查询交友信息.显示交友信息.会员登录.会员信息管理.修改会 ...

  7. SwitchButton 开关按钮 的多种实现方式

    刚开始接触开关样式的按钮是在IOS系统上面,它的切换以及滑动十分帅气,深入人心. 所谓的开关按钮,就是只有2个状态:on和off,下图就是系统IOS 7上开关按钮效果. 起初我在android上我只会 ...

  8. 教你快速高效接入SDK——服务器端支付回调的处理方式

    转载自:http://blog.csdn.net/chenjie19891104/article/details/48321427今天着重把之前渠道服务器端SDK的时候,遇到的一个蛋疼的问题给解决了. ...

  9. C#使用Log4Net记录日志

    当你在开发程序的时候, 调试(debugging)和日志(logging)都是非常重要的工作.在应用中使用日志主要有三个目的 l  监视代码中的变量的变化情况,把数据周期性地记录到文件中供其它应用进行 ...

  10. 【C#】分享带等待窗体的任务执行器一枚

    -------------201504161039更新------------- 更新内容: IWaitForm接口删除System.Windows.Forms.DialogResult Dialog ...