ALM:是否应该将代码审查和单元测试视为积压项目任务?

ALM: Should code reviews and unit tests be considered as backlog item tasks?

我已经开始使用 TFS 作为带有 Scrum 模板的 ALM。我应该将代码审查和单元测试作为产品待办列表项(用户故事)任务的一部分,还是应该将它们纳入开发任务(作为一部分)?

单元测试应该是开发任务的一部分——您不应该先编写代码,然后再为代码编写测试。测试应该和代码一起写,代码只有经过测试才算完成。

对于代码审查:

同样,代码审查不是一项单独的任务 -- 它是开发任务被视为完成的必要条件。

如果您使用的是 TFVC,请为 TFVC 安装代码审查签入策略并使用内置的代码审查工作流程。

如果您正在使用 Git,需要拉取请求并在提交拉取请求时审查代码。在 TFS 2015 中,您还可以使用分支策略来执行代码审查。

不,代码审查和单元测试不是积压项目,甚至不是冲刺任务,那些是开发任务。

我建议您为您的团队创建完成的定义,即您可以编写团队需要完成的常见任务,以考虑已完成的故事或缺陷。

例如: - 功能被编码,提交到存储库并完成代码审查。 - 实施符合编码标准。 - 单元测试涵盖主要功能 - ....

您可以将此分享给您的团队,并随着项目的进行不断改进。我团队的国防部有近 30 项。将 DoD 保存在一个公共位置(可能是 wiki 或您的工作站)会很棒。

在敏捷方法中,代码审查和单元测试确实不是产品待办列表项,不应出现在产品待办列表中。然而,将这些任务合并到 Sprint Backlog 中是完全可以理解和正常的。

改写 Scrum 手册:“ Sprint Backlog 是为 Sprint 选择的一组产品 Backlog 项目,加上交付产品增量和实现 Sprint 目标的计划。 Sprint Backlog 是开发团队关于下一个增量中将包含哪些功能以及交付该功能所需的工作的预测

不,它不应该是用户商店的一部分。在我看来,它们应该作为完成定义的一部分包括在内。交付功能时 - 交付应该意味着不仅功能部分已完成,而且所有测试也已完成。