虽然 Scrum 在理论上很容易,但在实践中却很难,我想听听你对完成的定义;即您的产品必须经过哪些关口(单元测试、代码覆盖率 > 80%、代码审查、负载测试、perf.test、功能测试等)才能将产品标记为“完成”
5 回答
我们 TargetProcess 对用户故事使用完成的以下定义:
- 已创建短规范
- 已实施/已创建单元测试
- 已创建验收测试
- 100% 通过验收测试
- 产品负责人演示通过
- 已知错误已修复
我会说这取决于你的团队来决定。与产品负责人交谈。理想情况下,当故事处于生产阶段并被使用时。但是,故事开发完成和上线之间存在时间差。很难追踪一个故事的发展时间。
在我的团队中,我们对完成的定义是,当开发人员完成一个故事,并向团队的其他成员(测试人员、产品负责人)“展示并讲述”时,如果每个人都满意,它就会进入颠覆主干。
进一步的测试是从主干自动构建完成的。
在完美世界中,产品在每次迭代结束时都应处于可发货状态。
现在这实际上取决于你的产品、你的市场、你的客户,而且可能是不可能的。
如果您无法做到这一点,则适用下一个计划范围:发布。整个团队应决定交付产品所需的内容并进行相应的计划。
这里有帮助的是在任务级别定义“完成”。在这里定义完成要简单得多:当您可以开始另一项任务时,一项任务就完成了:一切都经过测试、集成。团队可以定义这种状态:记录、审查、包含在自动构建中、没有已知问题、由现场客户接受......
让你的所有任务真正“完成”,让所有旅行积压项目(或用户故事,无论你怎么称呼它们)真正“完成”,允许在每次迭代中“完成”,这有助于将产品保持在可交付或可部署的状态。
ScrumAlliance 网站上有Mitch Lacey、Dhaval Panchal和Mayank Gupta撰写的三篇不错的文章。
编辑:基本上重点是完成是由团队在逐个项目的基础上定义的。基本需要是就定义达成一致,而不是定义是什么。
一切将使您的“稳定期”(即代码冻结和发布给客户端之间所需的工作)更短的事情。