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

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

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

一、 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.scrumalliance.org/Article/definition-dod

2. https://www.linkedin.com/pulse/definition-ready-dor-vs-done-dod-brian-will

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,783评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,360评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,942评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,507评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,324评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,299评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,685评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,358评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,652评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,704评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,465评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,318评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,711评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,991评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,265评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,661评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,864评论 2 335

推荐阅读更多精彩内容