头图

如何消减敏捷开发中的「认知偏差」?

在敏捷开发中,让所有成员保持目标统一、步调和节奏一致非常重要,但是在团队协作中,认知偏差却在所难免。需求在不同环节中流转,是否存在某种途径能保证所有成员的理解一致,将偏差最小化?

今天跟大家介绍敏捷开发中共识建立的两大神器:DoR 和 DoD。

画板 1.png

一、 DoR 是什么?

DoR = Definition of Ready,即对「准备就绪」的定义,是敏捷开发中把控研发质量的第一道门。DoR 关注研发起点的质量,定义了用户故事可以被研发团队接受并进入开发阶段的最小要求,是需求准入的标准。

DoR 的价值在于,它规范了开发对象的质量底线,能够有效防止开发侧的资源、时间或精力的浪费:如果一个待开发的用户故事不符合 DoR 要求,那么研发团队有权将其退回,不在最近的迭代中开发它。

01 Garbage In, Garbage Out

引用 Brian Will 的观点:“用户故事「准备就绪」非常重要——将不完整或未优化的用户故事放入冲刺中会出现问题,因为它会遵循「Garbage In, Garbage Out」原则:如果开发人员处理的是不够详细或定义不充分的用户故事,他们就不会产生高质量的代码。”

Brian 认为一个「准备好的 Ready」待办事项应该是清晰、可行和可测试的。

  • 清晰(Clear) 意味着团队所有成员能够对同一个用户故事达成共同的理解。通过协作编写用户故事,并为高优先级添加验收标准,需求的清晰度可被提高。
  • 可行(Feasible) 要求用户故事能够依照 DoD 在一个冲刺中被完成,否则,该故事需要被进一步分解。
  • 可测试(Testable) 指用户故事可以使用某种方法确定其是否按照预期工作。验收标准确保每个故事都是可测试的。

02 DoR 的参考例子

  • 用户故事符合 INVEST 原则
  • 用户故事是清晰的
  • 用户故事是可测试的
  • 用户故事是可行的
  • 用户故事已定义
  • 用户故事验收标准已定义
  • 用户故事依赖已明确
  • 用户故事已由开发团队做过粒度划分
  • Scrum 团队已接受 UI 原型设计
  • 指定场景的性能指标已明确
  • 指定场景的可扩展性指标已明确
  • 指定场景的安全指标已明确
  • 验收用户故事的人已明确
  • 团队都清楚用户故事所表达的意思

二、 DoD 是什么?

DoR 关注待开发的用户故事,而 DoD 则更多地聚焦待发布的价值增量。

DoD = Definition of Done,译为完成定义,是用于把控研发质量的第二道门。它是需求准出的标准,通常呈现为一份清单形式的简短文档,定义了用户故事被视为「完成」所需要达到的最低验收条件,常由产品负责人 PO 和开发团队共同协商决定。

DoD 通过建立通用的标准,确保团队每位成员对价值增量的完成具有相同的理解,避免了团队内外潜在的认知偏差;同时,清单内容还能提升团队的信息透明度,辅助工作点数的评估和计划制定,推进故事的完成。

01 DoD 的内容范围

在敏捷开发中,「完成」意味着「无需进行更多工作,可直接交付」,因此 DoD 内容至少应涵盖设计、编码、集成、测试和记录等全套产品开发流程。
Brian Will 指出 DoD 通常会说明以下内容:

  • 用户故事所处的操作环境和集成级别(哪个特定版本的 Linux、Android、iOS 或浏览器)?
  • 需要输出什么级别的文档(自动生成的 Javadoc,还是完整的终端用户手册)?
  • 有什么质量期望(用于演示的基本功能,还是功能完整且健壮的应用程序)?
  • 有什么安全期望 (无需安全审查,还是需要从代码审查、代码扫描到网络安全配置等各方面都要进行安全审查)?
  • 有什么可扩展性期望 (用于演示的 10 个并发,还是扩展至10 万个并发用户)?

02 DoD 的不同维度

Scrum 联盟按照需求的不同层次,将 DoD 分成三种级别:用户故事DoD、冲刺DoD 和发布DoD。

用户故事DoD,也称功能/需求DoD。它声明了故事可交付的底线,即用户故事应完成哪些事情才可以被判定为开发完成,达到可交付的标准。用户故事DoD 的制定可以从以下两方面考虑:

  • 用户故事的描述及拆解符合 INVEST;
  • 用户故事有验收标准,即 Acceptance Criteria。

冲刺DoD,或迭代DoD,定义了每个 Sprint 需要完成哪些事情,其输出才是可交付的。通常包含以下内容:

  • 所有代码通过静态检测,严重问题都已修改;
  • 所有新增代码都经过 Code Review;
  • 所有完成的用户故事都通过测试;
  • 所有完成的用户故事得到 PO 的验证。

发布DoD 定义了增量交付的最低要求,可以参考以下内容辅助制定。

  • 完成发布规划所要求的必须具备的需求;
  • 至少完成一次全量回归测试;
  • 符合质量标准 (Quality Gate),譬如所有等级为 1、2 的缺陷均已修复,3、4 级缺陷不超过 10 个;
  • 有发布通知,即 Release Notes;
  • 有用户手册;
  • 产品相关文档已全部更新;
  • 代码已部署到发布服务器上,并冒烟通过;
  • 原始需求提交人完成 UAT;
  • 对运维、市场、客服的新功能培训已完成。

此外,在子任务层面,敏捷团队也可以通过开发任务DoD 更好地规范任务完成,比如:

  • 代码已经提交到 Git;
  • 代码通过单元测试;
  • 代码经过 Code Review;
  • 代码通过集成测试。

03 DoD 的参考例子

  • 代码已完成(所有代办事项已经完成编码)
  • 代码已注释、已提交,版本库当前版本能正常运行
  • 结对检视已完成(或者采用结对编程),代码符合开发标准
  • 构建没有错误
  • 单元测试全部通过
  • 部署到测试环境并通过系统测试
  • 通过 UAT(用户验收测试)并签字确认符合需求
  • 任何编译/部署/配置变化都已实现/记录/沟通
  • 相关文档/图表已完成或已更新
  • 任务剩余的小时数已设置为 0,任务已关闭

三、 Liga 总结

  1. DoR 把控研发起点,是需求准入的标准。用户故事必须符合团队要求才能进入待开发列表。
  2. DoD 把控研发终点,是需求准出的标准。它定义了价值增量交付的最低验收条件,适用于所有用户故事。
  3. Garbage in, garbage out. 敏捷团队必须严格把控需求准入的标准,才能更顺利地推进后续工作,保证研发质量。

参考资料

  1. https://resources.scrumallian...
  2. https://www.linkedin.com/puls...

了解更多敏捷开发、项目管理、行业动态等消息,关注我们的sf账号-LigaAI~ 或者点击LigaAI-新一代智能研发协作平台,在线申请体验我们的产品。

全新的智能研发管理平台。持续产出敏捷开发、机器学习等干货内容ing……

46 声望
8 粉丝
0 条评论
推荐阅读
前端进阶:在 Web 中使用 C++,我让学妹另眼相看
根据给定的一系列矩形,需要将它们打包到指定大小的二维箱子中,且要求任意两个矩形不能相交或包含。问:如何排列矩形可使需要的箱子数量最少,且利用率最大?

LigaAI1阅读 141

封面图
最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...

tiny极客11阅读 2.8k评论 2

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥11阅读 1.1k

封面图
技术社区的朋友们,让我们在 2050 团聚吧!
提到 2050 你会想到什么? ——第一批 00 后步入 50 岁,刚刚出生的孩子们成为这个世界的中流砥柱;如科幻般的世界:上天下地、无尽探索、发达的医疗、先进的交通;

SegmentFault思否5阅读 13.2k评论 1

Fork:剖析「云计算大楼」中的每一块砖|开发者说
当时,随着移动互联网大潮的涌起,七牛云的图片、音视频存储业务获得迅猛发展,主要目标客户是各式各样的移动应用 App。面对层出不穷的 App,七牛云的销售人员希望精挑细选,从而挖掘到更有价值的客户。于是,他...

万事ONES3阅读 12.4k评论 1

封面图
Vland:像乐高一样搭建元宇宙|开发者说
活跃于各种社交活动,是金秋远在贝恩咨询为 500 强企业担任战略顾问时养成的习惯。由于喜欢研究「人与人的连接」,金秋远先后在滴滴、探探两家公司负责运营和产品。他始终觉得,人际连接仍然是值得挖掘的创业方向。

万事ONES3阅读 14.2k

封面图
Eolink: 数字化企业连接世界的第一接口|开发者说
2015 年底,刘昊臻想更好地管理团队内部的 API,但市面上的产品并不能满足需求,于是,他决定做个产品来解决 API 协作问题。没想到,这个产品不仅解决了自己的麻烦,还可以解决所有 IT 团队遇到的有关 API 的共同...

万事ONES4阅读 12.7k

封面图

全新的智能研发管理平台。持续产出敏捷开发、机器学习等干货内容ing……

46 声望
8 粉丝
宣传栏