问题描述
在使用Azure DevOps进行产品 backlog 管理时,有一个问题涉及到何时以及由谁将一个功能设置为“完成”。用户的团队使用Scrum模板,为每个变更请求创建新的功能,其中包含底层的产品 backlog 项(PBI)和任务。开发人员在PBI通过拉取请求后将其标记为“完成”。
目前,团队没有一个标准来定义以下内容:
1. 何时将功能设置为“完成”:
– 所有功能相关的PBI都标记为“完成”后
– 功能被部署到生产环境后
– 等等
2. 谁负责改变状态:
– 产品负责人
– 执行部署的开发人员
– 等等
用户想了解团队如何管理功能状态。
解决方案
以下是几种可能的方法来管理功能的状态。根据团队的实际情况和偏好,可以选择其中之一或将它们结合起来使用。
请注意以下操作可能会因组织和团队的差异而有所变化。
方案1:由功能提出者决定
在许多团队中,功能提出者通常负责决定何时将功能设置为“完成”。这是因为他们最了解功能的需求和预期。通常,功能提出者会与开发团队合作,以确保所有验收标准都已满足。一旦开发团队认为功能的所有部分都已经完成,功能提出者可以评估并最终决定将功能设置为“完成”状态。这确保了功能提出者对功能的满意度,并确保功能在满足期望时被关闭。
方案2:结合开发团队和产品负责人
在某些情况下,开发团队和产品负责人可以共同决定何时将功能设置为“完成”。开发团队可能会在技术上评估功能的完成情况,包括代码审核、测试等。产品负责人则会从业务角度评估功能是否满足了预期的价值。两者的共同决策可以确保功能不仅在技术上完善,还能够实现业务目标。
方案3:阶段性的“完成”
另一种方法是将“完成”分为不同的阶段。例如,开发团队可以将功能分为技术完成和业务完成两个阶段。技术完成意味着代码编写、测试等方面已经满足,而业务完成表示功能已经满足了实际的业务需求。这样,开发团队和产品负责人可以分别在各个阶段对功能进行评估,确保其在不同层面都达到了预期的标准。
方案4:结合自动化部署
如果团队拥有自动化部署流程,可以考虑将功能的“完成”状态与部署流程相结合。例如,当功能的所有代码和测试都通过并合并到主分支时,自动化流程可以自动将功能部署到预生产环境进行最终测试。一旦预生产测试通过,流程可以继续将功能部署到生产环境,同时将功能标记为“完成”。
总结
在管理功能状态时,团队可以根据团队的实际情况和偏好选择合适的方法。无论是由功能提出者决定、结合开发团队和产品负责人,还是采用阶段性的“完成”策略或自动化部署,都需要确保团队在技术和业务层面上都达到了预期的标准。通过清晰的流程和明确的责任分工,可以更有效地管理功能的状态并确保团队的协作顺畅进行。