写点什么

我们需要第 0 个迭代吗?

2011 年 6 月 16 日

在一个项目启动之前,通常需要完成一些准备工作。为了能够保证后面一系列的迭代顺利进行,团队往往会安排“第 0 个迭代”(Iteration Zero),把所有需要的系统都准备好。这是一个好的方法吗?

George Dinwiddie 认为,即使团队努力尝试去完成所有前期工作,他们也会很快意识到在接下来的几个sprint 中还是有许多等待着他们。如果他们尝试去做很多前期工作,那么基础框架(infrastructure)决策、技术选择以及第0 个迭代的功能列表可能会主导项目的进行,而不是别的因素。

George 觉得每个迭代都应该开发出可以工作的软件。

大家问问自己:“开始交付之前,什么是必须做的?”…我们要专注于这项工作,把它分解为更小的任务,同时找出这些任务的实际业务案例,用来作为验收标准。有些子任务并不是很清晰,存有疑问,可以暂时放在一边。相反,选择那些贯穿整个概念模型的核心子任务,或者尽可能关键的子任务。 然后进行估算,作为团队的一个迭代。(估算不必非常精确,毕竟只是估算而已。)接下来就可以着手干活了。

George 认为这是开始项目的最好的方法。团队应该学会必要的技术,在整个开发过程中,慢慢地构建开发所基础框架。

是的,在后续过程中还是需要去构建基础框架。我们不必急着把它一次性搞定。我们只需要不断地改进它,这样它才能帮助你完成更多的工作。是的,团队还是有些技术需要学习。学无止境,我们需要不断去实践,超越极限。是的,我们还是会有新的功能加入到待办事项列表中,也会去精炼待办事项列表,再一次重新排定优先级,或者分解用户故事。这些本就应该贯穿于整个项目过程中。

类似的,Artem也不太喜欢去安排一个什么也证明不了的迭代。Artem 觉得,即使所谓的第0 个迭代的主要工作还是前期准备,他还是愿意去试着走一下系统核心流程。

Alistair Cockburn 则提到

我私下感觉,有些人介绍他的 Scrum 实践:他在开始阶段做了一些无明显商业价值的工作,他就当做是自己的新发明:“这就是 Sprint 0!”…而其他人听了之后觉得这是一个很好的主意,也这么命名它了…于是这也就成为了文化的一部分。

有人问,第0 个迭代和前期规划是不是相同? George 提到,他无法想象一个没有前期规划的第0 个迭代。这一切其实是项目章程的一部分。然而,绝大多数团队在第0 个迭代中却不讨论愿景和目标。相反,他们花很多时间编制一份详细的待办事项列表以及构建开发基础框架。

Ken Schwaber 也有相似的看法,他提到

Sprint 0 已经被滥用了,它成为了第一个 sprint 开始之前的计划的描述…既然计划经常会变,在第一个 sprint 之前就应该尽量少做不必要的计划,而是在每个 sprint 评审会议或者计划会议的时候,再去制订相应的计划(实时计划)。

这样看来,这似乎是个共识:如果可能的话,最好还是避免安排第 0 个迭代。背后的关键就在于我们要从一开始就创造商业价值。各位读者,和从一开始就交付商业价值,随后在整个项目过程中逐步构建基础框架,决定技术细节比起来,你的团队是不是觉得安排第 0 个迭代会有更大的好处呢?

查看英文原文: Do We Need an Iteration Zero?

2011 年 6 月 16 日 04:371583
用户头像

发布了 114 篇内容, 共 25.2 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

ROS 机器人操作系统进阶实战

Geek_3cc3ec

Python 人工智能 学习 ROS

Java 并发编程:volatile能否保证数据的同步

码农架构

Java Java并发

【变与不变】架构中的边界划定

soolaugust

编程 架构 设计

5年Java开发经验,7面阿里历经千辛万苦成功斩获P7及Offer!

Java成神之路

Java 程序员 架构 面试 编程语言

一次资源泄露问题排查纪录

AI乔治

Java 架构 JVM 内存泄漏

你确定你会算数吗?老大说:你连这个都不知道还敢面试电商公司?

小Q

Java 学习 编程 程序员 面试

为了SpringBoot提交Tomcat执行,我总结了这么多

996小迁

Java tomcat 架构 springboot

盘点2020 | 技术圈里的这些热名词

xcbeyond

微服务 DDD 金融科技 新基建 盘点2020

升级redhat6的yum源替换为centos源

Bruce Xiong

红着眼连续肝了一个月淦出的20w字的《Java核心技术总结》和3w字的《面试题总结》PDF文档,希望能够帮到你!

Java成神之路

Java 程序员 架构 面试 编程语言

看完这份文档我吊打了BATJ面试官,他问的我全都会:Spring+逻辑算法+MySQL+Java+Redis+并发编程+JVM+RabbitMQ等

Java架构之路

Java 程序员 架构 面试 编程语言

字节跳动总监亲自整理,在知乎高达5716赞的Java开发手记。

Java架构之路

Java 程序员 架构 面试 编程语言

synchronized 是王的后宫总管,线程是王妃

Java架构师迁哥

A Guide for Accidental Project Managers

Geek_ed0696

pmp project manager role of PMP PMP Certification greycampus

万万没想到我也能挤进阿里定级P7,美团架构师总结整理的这份GitHub标星150K+的Java神仙笔记是我成功的关键。

Java成神之路

Java 程序员 架构 面试 编程语言

LeetCode题解:127. 单词接龙,BFS+生成所有可能新单词再匹配,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

朋友不讲武德急催我给他Java干货教程,我劝他耗子尾汁并丢给他一份GitHub上标星115k+的Java教程,他看了之后连忙向我道歉!

Java架构之路

Java 程序员 架构 面试 编程语言

2020年第11期公有云性能评测:盛大云-华东实现“三冠”,百度云虎视眈眈

博睿数据

百度云 腾讯云 阿里云 公有云 华为云

9年技术面试官讲解:计算机专业应届生怎样写简历

Java架构师迁哥

Techo | 大数据专场报名盛启!12月20日欢迎莅临!

小小的一朵云

大数据 数据仓库 大数据架构

官方活动 | 日更挑战(初阶)——七日更,挑战百元京东E卡!

InfoQ写作平台官方

活动专区 七日更

“懂行”为舟,助互联网驶向“新蓝海”

Geek_459987

在算力“沃土”上,种植互联网下一个奇迹十年

Geek_459987

冒着被劝退的风险免费分享给大家一份阿里内部绝密《百亿级并发系统设计》实战教程。

Java成神之路

Java 程序员 架构 面试 编程语言

校园恋爱新技能:智慧琴房恋爱助攻手册

IoT云工坊

物联网 API sdk 智慧琴房 智慧校园

需求管理的6个最佳方法

PingCode

项目管理 程序人生 敏捷开发

让你的产品更懂世界:如何提升场景文本识别中的语言模型

华为云开发者社区

神经网络 文字 语义

“懂行人”携手互联网,创造未来无限可能

Geek_459987

我把2020年GitHub上最火最牛b的Java进阶教程和实战项目等整理成了一个PDF文档,免费分享给大家。

Java成神之路

Java 程序员 架构 面试 编程语言

免费分享!GitHub标星15k的Java编程思想最新中文版,肝了一周整理成1539页的PDF文档!

Java架构之路

Java 程序员 架构 面试 编程语言

太狠了阿里技术专家撰写的电子版JVM&G1 GC实战,颠覆了传统认知

Java架构之路

Java 程序员 架构 面试 编程语言

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

我们需要第0个迭代吗?-InfoQ