(译)Scrum和XP的不同

news/2024/5/18 23:18:13

(译)Scrum和XP的不同(Differences Between Scrum and Extreme Programming)

点击查看原文

作者Mike Cohn是Mountain Goat Software的创始人,也是Agile Estimating and PlanningUser Stories Applied for Agile Software Development的作者。

Scrum和XP是一致的。事实上,如果你走进一个团队,它们正在采用其中一个,你将很难确定这是一个Scrum团队还是一个XP团队。这两者之间有细微的不同,但是确非常重要。我认为在Scrum和XP之间有如下四点主要不同:

  1. Scrum团队通常工作在两周或者一个月的迭代(叫作sprint)中。XP团队工作在通常是一到两周的迭代中。

  2. Scrum团队不允许在sprint迭代中进行改变。一旦sprint迭代计划会议确定了要在这个迭代中交付哪些backlog里中的项目,那么直到这个sprint迭代结束,这些项目是不能改变的。XP团队则更加灵活,只要团队还没有开始开发某个feature,那么相同大小的其他feature就可以替换还没有开始的feature。

  3. XP团队按照严格的优先级顺序开发。待开发的feature由客户(Scrum中的Product Owner)来决定,团队被要求按照这个顺序来工作。与此对应的是,在Scrum团队中,Scrum的Product Owner也定义feature的优先级,但是团队可以决定它们的开发顺序。我还没见过一个Scrum团队不去选择最高的优先级。但是,其实这是有可能的,比如Scrum团队会选择第二高优先级的feature,因为在某个点最高优先级的feature可能不是最适合的,也许是因为某个可以开发最高优先级feature的人当前抽不开身。又或者先开发较低优先级的feature更加合理(例如使用backlog中的#10代替#6)因为团队将要开发的代码中,#10可能已经被实现了。

  4. Scrum没有描述任何的工程实践,而XP却有。我喜欢XP的工程实践,特别是像测试驱动开发(TDD),专注于自动化测试,结对编程,简单设计,重构等等。不过我觉得这么对你的团队说是不对的“你们是自组织的,我们相信你们,但是你必须做这些工程实践”。这会使团队感到迷惑。我喜欢XP的实践,但是不会强制推行它们。我想让团队自己去发现它们的价值。

这就是Scrum和XP之间非常细微的不同。然而,它们却对团队有深远的影响。我对于团队的建议是“由Scrum开始,然后发明你自己的XP版本”。XP的实践非常棒,如果团队自己认识到这一点,而不是被强制要求,那么将是最好的结果。我通常通过问这样的问题来帮助团队提高,"如果我们采用了测试驱动开发,那这个bug是否还会发生?",“如果我们结对编程,这个错误是否还会出现?”。我发现真正的XP是一个远处的小目标。如果团队可以瞄准它,并正中靶心,那非常好。如果不是,那么可能是由于他们的行为并不规范(例如,在没有自动化测试或者TDD的情况下进行重构)。Scrum是一个目标,它通过附加的焦点和时间的迭代,带来巨大的改进。它是一个很好的起点,然后加入XP实践。


http://www.niftyadmin.cn/n/4611461.html

相关文章

XtraBackup 备份还原 MySQL 5.6 数据库

下载XtraBackup:# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.6/binary/tarball/percona-xtrabackup-2.4.6-Linux-x86_64.tar.gz解压软件:# tar xvf percona-xtrabackup-2.4.6-Linux-x86_64.tar.gz -C /usr/local/# cd …

django多个static

首先目录结构,项目名djangoProject1 有app一个模块 这里我们分别要访问static和app/static里面的资源 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.img-div &g…

121 项目 033 笔记向 gradle

2019独角兽企业重金招聘Python工程师标准>>> 环境 os: win8.1 64IDE: idea 14.04gralde : 2.7参考 Gradle翻译 IntelliJ IDEA 与 Gradle Spring项目的初次尝试 使用 intellijIDEA gradle构建的项目如何debug Gradle构建多模块项目 实战Gradle 创建spring mvc …

axios配置封装

axios.js // 这里的符号等于src目录 import axios from axios; import store from /store; import router from /router; import { Message } from view-design; const { NODE_ENV: env } process.env;// 创建axios实例 const axiosInstance axios.create({// baseURL: env …

前端工程师和设计师必读文章推荐【系列三十五】

《Web 前端开发精华文章推荐》自2011年6月20号发布第一期以来&#xff0c;历经五年半&#xff0c;总共发布了30多期。今天这篇是2017年第1期&#xff08;总第35期&#xff09;&#xff0c;希望你能在这里发现有用的资料。 梦想天空专注前端开发技术&#xff0c;分享提升网站用户…

hbuildx快捷键设置(IDEA为基准)

![在这里插入图片描述](https://img-blog.csdnimg.cn/c54faf8a561846c98b8a678f9211c79f.png#pic_center)### 在下面新建一行 {"key":"shiftenter","command":"editor.action.insertLineAfter"}, ### 改了上面的&#xff0c;这个也得改…

【chap4-链表】用Python3刷《代码随想录》

通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域data&#xff0c;另一个是指针域next&#xff08;存放指向下一个节点的指针&#xff09;&#xff0c;最后一个节点的指针域指向null&#xff08;空指针&#xff09; 链接的入口点称为…

Linux 文件搜索

为什么80%的码农都做不了架构师&#xff1f;>>> 文本搜索&#xff1a;grep &#xff08;文本中找内容&#xff09; Linux系统中grep命令是一种强大的文本搜索工具&#xff0c;grep允许对文本文件进行模式查找。如果找到匹配模式&#xff0c; grep打印包含模式的所有…