Scrum框架下如何保证质量

Posted ShineScrum捷行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrum框架下如何保证质量相关的知识,希望对你有一定的参考价值。

统的项目管理,通常是先确定范围(scoping), 然后是估算人天,给出交付时间,签合同。即使预留一些缓冲(buffer), 项目最后很难满足交付预期。通常有下面几种情况:
(1)前期的估算是有偏差的,因为人们对新项目的理解和知识是有限的。
(2)需求总是不断变更。
(3)在这种范围和交付日期固定的情况下,甚至有些团队的人员也不稳定。多数情况下,合同上交付时间的压力会让我们自动牺牲质量。比如系统有一大堆的bug, 开发的产品运维成本很高,代码质量差,等等。这些会产生大量的技术债务。甚至质量的问题会把团队拖死。即使我们有QA部门,但现实的状况是QA保证不了质量。尽管他们有趣的title是质量保证部门(Quality Assurance) , 而且传统的项目交付,测试工作通常在项目的晚期才进行,测试变成一个阶段性的工作,导致质量问题很晚才暴露出来。然后就是“死亡行军”,无休止的加班。这基本上是我们这个行业的一道“风景线”或者叫“合同陷阱”。
Scrum框架下是如何解决这个问题的?首先敏捷合同认为,价值和质量是不可牺牲的,如上图可示,唯一可调整的元素或者项目的约束条件永远是预算(budget), 范围(scope) 和时间(schedule)。项目的成功更多是度量是否交付价值给客户;质量是否可靠,运维成本是否很低。这里我们先不纠结项目和产品的区别。 

如何保证质量是可靠的?Scrum中有一个完成的定义 (DoD)。Scrum团队在项目准备期就定义一个大家做事情的规范,比如从开发,测试,文档和部署的角度一起看看那些工作我们必须做的, 比如单元测试做到什么程度,如何处理bug等等。DoD是团队的交付能力的体现,也是为了保障质量,这是Scrum团队约定在Sprint中必须遵守的清单。比如回归测试,建立必要的设计文档等等。这样团队对Done有一个共同的理解和约定。DoD保证了一个最小的质量范围, 同时Undone的工作也可视化, 我们清晰的知道理想状态的Done和Sprint done 的边界和gap.

Scrum框架下如何保证质量

质量不单单是测试部门和QA的事情了,而是Scrum 团队共同负责,测试工作尽多的成为DoD的部分。测试工作不再是阶段性的,敏捷项目要求在迭代中尽早尽多地测试,暴露问题,尽早地曝光,每日站会,持续集成等工程实践都会让问题即使显现出来。一句话,Shared 责任。这方面有时候我们称作内在质量(quality built in), 正确的方式方法做事。另外一个维度是需求的验收标准 (AC),也是要提前开始沟通,  我们称作外在质量。通过进一步的澄清需求,保证质量把事情做正确。外在质量的建立(从外部来看质量)。这里我们姑且先不讨论验收标准,接受标准,满意条件的不同内涵。

在需求澄清这件事上, 是一个持续对话的过程,我们有时隐喻为PO与团队的“三次握手”。 注意到LeSS 里面鼓励团队承担大多的需求澄清工作, 澄清这件事情应该有团队更多的承担, 这里我们不讨论LeSS。 第一次握手,比如一个客户的需求是以用户故事的形式作为载体或容器简单的表述下来(Card), 但用户故事不是需求规格说明书, PO 和团队面对面的对话去理解需求 (Conversation)。 然后把需求的范围从业务和用户的视角纪录下来(Confirmation),见下图。 第一次握手通常发生在产品待办列表的梳理会上。

那验收标准是不是合同?我们能不能通过一次对话就搞定?第二次握手发生在Sprint 计划会议的Topic 1, PO 有可能对上次沟通的用户故事有新的理解和更新,同时团队也会提出一些问题, 所以Scrum 要求PO 必须参加Sprint 计划会议。

这个需求在迭代的执行过程中是不是就一定清晰明了, 也不一定, 即使我们通过卡片或工具记录下来, 但还会有对话和进一步澄清的空间和可能。一句话, 验收标准不是合同,即使我们在两次的握手中已充分交流,不排除开发团队成员在具体执行过程中有对验收标准的疑问,这也是我们说的第三次握手。有了至少这三次的面对面的对话和Handshake, 任何一个需求不会有太大的偏颇。这与传统的过重依赖文档的沟通方式有天壤之别。  
Scrum框架下如何保证质量
最后一个额外问题,应该有多少细节包括在用户故事的验收标准(满足条件)中? 答案是没有统一的标准。刚开始使用用户故事的团队不清楚具体的细节到什么程度。我的建议是让团队自己先思考先定义,再与PO对话,这样的做法使故事主动进入就绪状态(Ready), 对Sprint的执行中促进工作流(flow)很有必要。通常经过5次Sprint,在把握一个适当的细节级别上,团队会越来越有感觉,最终能够可靠完成工作。

“DoD”的定义表达了做事情的“正确的方法”,是关于维护产品质量和交付团队技能的一个清单。“三次握手”澄清验收标准就绪的用户故事,或功能需求代表了“正确的事”。

当然Scrum 团队如果引入XP 的工程实践也会大大提高质量,比如 TDD, Pair Programming, Refactoring, code standard。 

小结一下, Scrum框架下保证质量的机制:
(1)团队整体对质量负责,集体的质量意识 (Shared Responsibility)
(2)完成的定义(DoD), 质量的底线和团队当前交付能力的透明化
(3)验收标准的“三次握手”(Ritualized Behavior --“程序化行为“)
理解Scrum框架对产品开发的质量保证设计机理,对于我们持续不断的交付产品增长非常重要。Scrum是一个指导帮助我们在交付团队,PO和利益相关者三者之间的如何有效协作、 建立信任,持续反馈和学习改进,践行敏捷思维,能马上落地的框架。


——Jim Wang  

写于2020年2月19日疫情期间


参考资料:
(1)Large-Scale Scrum: More with LeSS, Craig Larman, Bas Vodde
(2)Essential Scrum: A Practical Guide to the Most Popular Agile Process by Kenneth S. Rubin.
(3) Agile Project Management: Creating Innovative Products (2nd Edition) 2nd Edition
by Jim Highsmith (Author)


Scrum框架下如何保证质量

北京·CSM认证培训(双讲师-报名赠书)

2020年03月20 ~ 21日, 09:00 ~ 17:00

讲师:Jim Wang王军, Bob Jiang姜信宝

价格:RMB 8000元/位,早鸟价RMB 6000元/位(2020年02月19日18点前报名且付款,名额有限,售完为止),同时购买CSM+A-CSM享受打包价12800元/位

Scrum框架下如何保证质量

上海·CSM认证培训(双讲师-报名赠书)

2020年03月27 ~ 28日, 09:00 ~ 17:00

讲师:Jim Wang王军, Bob Jiang姜信宝

价格:RMB 8000元/位,早鸟价RMB 6000元/位(2020年2月26日18点前报名且付款,名额有限,售完为止),同时购买CSM+A-CSM享受打包价12800元/位


往期回顾

Scrum框架下如何保证质量

北京-2019-12-21

Scrum框架下如何保证质量

北京 - 2019-09-27

Scrum框架下如何保证质量

北京 - 2019-07-12

Scrum框架下如何保证质量

深圳 - 2019-05-11

Scrum框架下如何保证质量

上海 - 2019-04-27

Scrum框架下如何保证质量

北京 - 2018-12-28

Scrum框架下如何保证质量

北京 - 2018-11-09

课程概述

· 在这两天的ScrumMaster认证课程中,学员将从实际操作的层面上掌握Scrum的运用技巧,学员将学会如何避免Scrum实施过程中的一些常见问题。Scrum的规则很少,但要掌握其精髓却并非容易,从资深Scrum大师那里答疑解惑,获取有效的实践经验,通过练习亲身体会Scrum的工作方式非常重要。课程中通过一个59分钟的模拟Scrum项目、XP Game等大量穿插的实例、练习、讨论等让学员亲历Scrum的工作过程、领悟Scrum的内涵、掌握Scrum的精髓。你的工作方式的改变从这里开始。

· ScrumMaster被评为2017年最具前景的20类工作之一,成为认证的ScrumMaster有助您成为组织敏捷转型的推动者、领导者,是您新的职业生涯的迈出的第一步。证书由美国Scrum官方机构Scrum联盟颁发。

课程特色

· 全程由两位国际Scrum联盟认证培训师CST Jim和Bob交付,全方位、多视角的体验式学习,一个问题会听到两个导师的解答;投资一份学费,学到两个老师的干货

· 分享互联网(大型电商)行业的一线敏捷实战经验,和跨国公司的大型分布式团队的Scrum实战经验

· 全程没有PPT,课程采用工作坊(Workshop)模式授课,无缝对接,互动性强,具有挑战性,讲师风趣幽默,游戏、模拟练习,案例分析

重在实操及运用大量论证过的实践经验和Scrum Patterns

· 课程结束后学员可同时获得两位认证师提供的双份学习材料; 外加1本workbook

课程受众

· 任何期望全面了解或尝试Scrum及敏捷方法的个人或组织。

· 正准备导入敏捷方法,希望在局部项目或者部分团队中尝试敏捷方法的企业。

· 已经开始尝试敏捷方法,正在努力提升整体敏捷能力的一线研发团队,包括设计,开发,测试及项目管理等多个角色。

· 作为一名Scrum初学者,我可以系统地学习Scrum,了解Scrum背后的原理以及相关知识,以便为组织的Scrum转型打下基础。

· 作为一名管理者,我可以了解Scrum框架的工作方式,还可以从讲师那里学习组织转型的经验,以便引导我的组织开展Scrum转型,收获更大的价值。

· 作为一名传统项目经理,我可以看到Scrum是如何工作并生效的,以便更好得把Scrum应用到项目中。

课程收益

· 通过本课程,您的团队可以获得以下能力提升:学习并理解Scrum的本质:原则、方法与实践经验;提升对Scrum,以及敏捷最新软件开发实践的理解;通过互动的学习方式,真正掌握如何在公司内进行Scrum转型;学习并理解Scrum Master的工具箱,为在团队内进行的Scrum实践打下坚实的基础

· Scrum Alliance颁发的ScrumMaster认证证书,成为一名认证的ScrumMaster

· Scrum Alliance的两年会员会费及会员资格

· 可免费参加ShineScrum捷行主办的各种活动

· 对Scrum转型有帮助的、有启发性的1G+视频

· 两位CST讲师的CSM课程纸质版讲义各1本

· Scrum实施模板及大量参考资料推荐

· 美国项目管理协会(PMI)学分 16 PDUs

· Scrum实战培训手册1本

· 团队敏捷备忘录1份

学员反馈

以上是关于Scrum框架下如何保证质量的主要内容,如果未能解决你的问题,请参考以下文章

Scrum是框架

DevOps使用教程 华为云用Scrum框架 新建项目

Scrum学习心得

敏捷框架 - Scrum (一)

敏捷Scrum框架最全总结!

什么是Sprint?