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

1、介绍

极限编程(eXtreme Programming,简称XP)是敏捷方法中最被推崇的一个,它是一种优良的、通用的软件开发方法,它是由一组简单、具体、相互依赖的实践组成,这些实践结合在一起形成了敏捷开发过程。项目团队可以直接拿来使用,也可以对其中的实践进行修饰。

2、实践

1)、客户作为团队成员

我们上篇的博客中提到,敏捷开发中希望客户能够很好参与到项目中,与开发人员一起紧密工作。在XP中,谁是客户呢?
       XP中认为的客户是能够提供产品的特性并排列这些特性优先级的人或者团队。所以客户的定义非常广泛,也非常灵活,它可以不是真正的客户,因为客户很忙,所以如果我们的团队中没有真正的客户,那么我们也要设法去寻找和创造客户的替代品并将客户纳入到我们的项目团队中,而不是空缺。

2)、用户素材

在XP中,我们希望尽可能的将需求了解的更多和理解的更准确,但随着时间的推移和项目的进行,客户很可能变更一些需求和细节,所以在XP中,开发人员和客户探讨需求的过程汇总,更加希望客户能够在索引卡片上写下一些我们认可的词语,这些词语主要的目的就是使我们能够回忆起这次的交谈,开发人员可以在这些卡片上进行需求的估算。

在这些卡片上写下的帮助我们进行优先级和价值估算的注记符就是用户素材,它的作用在于帮助我们进行计划的制定和实现的安排。

3)、短交付周期

XP项目一般每两周交付一次,两周成为一次迭代,每次迭代之后,会给客户进行一次演示,以便带到更加积极的反馈。
       在每一次迭代之初,首先要做的就是制定迭代计划。制定计划就是开发人员根据客户给的用户素材进行预算,客户为本次迭代选取任意数量的用户素材,一旦迭代开始,客户就不可以修订用户素材的优先级和定义,在迭代期间,开发人员就可以任意的将用户素材分解成任务,并按照一定的顺序进行开发
       迭代计划是一个比较小的交付,在一个XP团队中,通常会创建一个包含大约6次迭代内容的计划,也就是指定3个月的工作,它表示一个较大的交付,而这个较大的交付一般会被加入到产品中,所以成为发布计划。发布计划与迭代计划的实现过程类似,所不同的是,发布计划不是一成不变的,客户可以随时改变计划内容、改变用户素材的优先级以及编写新的用户素材等。

4)、验收测试

验收测试是由某种脚本语言编写的,可以用来验证系统能否按照客户指定的行为运转。所以,开发人员可以通过使用客户指定的验收测试进行有关用户素材细节的获取。也就是说,开发人员可以多次运行验收测试进行项目验收,一旦验收通过,那么系统创建就宣告结束,同时可以将该验收测试加入到项目中,并绝不允许该验收测试再次修改。

今天的博客就先给大家介绍XP的这四个实践,更多内容,我们下一篇继续,请继续关注!

未完待续……

转载于:https://www.cnblogs.com/zs234/p/3691081.html

敏捷开发之道(二)极限编程XP相关推荐

  1. 【中级软考】什么是“敏捷过程的开发方法(敏捷方法agile)“(极限编程XP、特征驱动开发FDD、并列争球法Scrum、水晶法Crystal、开放源码法、自适应软件开发 ASD方法)

    文章目录 敏捷方法 1 极限编程 XP 1.四大价值观 2.十二个最佳实践 2 特征驱动开发 FDD 1.FDD 角色定义 2.核心过程 3.最佳实践 3 并列争球法 Scrum 1.Scrum 的五 ...

  2. 敏捷开发之道 总结小记

    第一章 敏捷-高效软件开发之道 敏捷开发宣言 个体和交互胜过过程和工具 可工作的软件胜过面面俱到的文档 客户协作胜过合同谈判 响应变化胜过遵循计划 敏捷的精神 一种以人为本.团队合作.快速响应变化和可 ...

  3. 读书笔记之《高效程序员的45个习惯----敏捷开发之道》 摘录

    读书笔记之<高效程序员的45个习惯----敏捷开发之道>摘录 此次原创的意思是指这个文章中的内容是由笔者从<高效程序员的45个习惯----敏捷开发之道>书中摘录,而不是别人摘录 ...

  4. CMMI与Agile敏捷开发比较之二:需求管理篇(兼谈用敏捷实现和满足CMMI的ReqM过程域)...

    作者:陈勇 出处:blog.csdn.net/cheny_com 这是CMMI与敏捷开发比较系列的第二篇(之一,之二,之三). CMMI 前面在提到CMMI与敏捷的根本差异时提到CMMI是美国用于筛选 ...

  5. [软件工程学习笔记]浅谈敏捷开发

    在移动电子设备如此普及的今天,看着琳琅满目的手机APP市场,你不知道下一秒什么会突然变得炙手可热,什么会瞬间销声匿迹.顺应时代的潮流,软件开发也从重型过程向轻量型敏捷发展.作为软件的开发者,这些都是值 ...

  6. 105.敏捷开发模型

    文章目录 1.什么是敏捷开发? 2.敏捷开发宣言 3.站立会议的意义 4.敏捷开发想解决什么问题? 5.如果用敏捷的方式盖房子 6.敏捷开发和瀑布模型的差异 (1)敏捷开发是怎么做需求分析的? (2) ...

  7. [软件工程--个人作业] 敏捷开发读后感

    敏捷开发--软件开发的高大上方法 一开始看到敏捷开发这个名字,就对里面的"敏捷"这个词产生了疑问,什么叫做敏捷开发,难道开发软件工程还要像奥运会一样"在追求更高更快更强的 ...

  8. 敏捷文章总索引及敏捷开发培训课程扩展阅读

    以下内容及链接,是两天培训课程<Scrum敏捷开发>的扩展阅读部分,正好可将所有博文索引起来. 所谓扩展阅读,就是对于那些限于课堂时间而无法深入展开的知识点,讲师会编写额外的资料以供参考. ...

  9. 敏捷开发实战(三)--每日晨会,是否只是摆设?

    经过上面总结的两篇博文敏捷开发实践(一)–谈谈我对敏捷开发的理解和敏捷开发实战(二)–你真的了解Scrum吗?,我们已经对Scrum进行了整体的认识和学习,这篇博文我们一起讨论和学习,我在实施敏捷的过 ...

最新文章

  1. Request、Request.Form和Request.QueryString的区别
  2. python返回序列中的最小元素_python实现获取序列中最小的几个元素
  3. 考前自学系列·计算机组成原理·查询方式/中断方式/DMA方式的适用范围及判断
  4. 互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?
  5. 图片上传压缩android,android 图片上传压缩常见问题分析
  6. access对比数据_数据仓库系列之数据质量管理
  7. nextboolean()_Java Random nextBoolean()方法与示例
  8. 10个问题让你快速避开java中的jdbc常见坑
  9. mysql.sys_MySQL sys Schema
  10. 浅析NVR主流芯片方案
  11. 计算机维修与护理论文,计算机维修与维护方面论文选题 计算机维修与维护论文题目怎样定...
  12. PMP试题 | 每日一练,快速提分
  13. win2000/xp/2003 错误代码
  14. TVS管参数说明以及如何选型
  15. 最新kali之medusa
  16. 51Nod 1007 正整数分组
  17. KVM或openstack虚拟化环境中windows主机忘记登陆密码如何使用pe的方式进行破解
  18. react调度时间原理_使用React,Twilio和Cosmic JS构建约会调度程序
  19. Mybatis层次结构图
  20. #父与子的编程之旅#第十三章

热门文章

  1. Spring Boot与ActiveMQ的集成
  2. CSP 201812-2 小明放学 Python实现+详解
  3. oracle精度制的数据类型,ORACLE 中NUMBER 类型 低精度转换成高精度
  4. 【亲测有效】如何安装屏幕录制工具ScreenPresso
  5. Java断点续传(基于socket与RandomAccessFile的实现)
  6. MSSQL-最佳实践-行级别安全解决方案
  7. 一线互联网常见的14个Java面试题,你颤抖了吗程序员
  8. 通过yum安装配置lamp
  9. 设计模式----组合模式UML和实现代码
  10. java中的移位运算符