一些团队采用 Sprint 0 来准备他们的产品 backlog、基础设施(开发环境、CI 服务器)……等。这个 Sprint 0 属于 Scrum 的范畴吗?有用吗?
Dan Rawsthorne ——Danube 的高级教练,把 Sprint 0 作为团队项目的起始点:
这个念头其实很简单:组织一个拥有下列三个目标的初始 sprint(可以成为 Sprint 0, 或迭代 0,也可以是 Inception Sprint,等等):
- 从产品 Backlog 中摘取几个质量条目
- 提供一个最起码的可以编写质量过关的代码的开发环境
- 无论程序大小,着手编写一段正式的代码
当然,这个 Sprint 0 越短越好。根据我的经验,这个 sprint 可以短到一个星期,当然我建议把它设定为一周。
Mark Woyna 把 Iteration 0 作为 spike 来使用:
负责做计划的团队在计划迭代的最后要有三个可以交付的结果: 1. 列出所有特性 / 故事的优先级别、初始预算
2. 发布为每个特性 / 故事安排的迭代 /sprint 计划
3. 高层次的应用构架,也就是说特性最后将如何实现
Peter Stevens——来自瑞士的敏捷教练在他的一个团队中以 Sprint 0 来估算项目中最重要的特性,通过关于“完成”的定义,重建顾客的信任。和其他人一样,他也把这个迭代的周期设定得比一般周期短。
这究竟是不是属于 Scrum?这个迭代的周期比规范的要短,而且最后的结果也不是所谓的生产可以运行、通过测试的软件?它究竟有没有用呢?
Alistair Cockburn ——《 Agile Software Development (The Cooperative Game)》一书的作者说:
我私下里有这样一种感觉,有些人发现自己使用 Scrum 在项目启动阶段没有获得任何明显的业务价值,于是就随口说“哦,这是 Sprint 0 周期”,期望就此赶跑门口那些不明真相的人。
Ken Schawber ——Scrum 的合作创始人表示赞成:“Sprint 0 被错误地当成是第一个 Sprint 之前的计划周期。”
Michael James ——同样来自于 Danube,在回答这个问题的时候反问道:为什么这个不是 Sprint 1, 然后 Sprint 2?……为什么不能每个 sprint 周期都完成一个几近提交的产品来刷新 backlog 呢?
评论