《Scrum精髓:敏捷转型指南》—经验认知

举报
清华大学出版社 发表于 2019/10/13 17:20:21 2019/10/13
【摘要】 本节书摘来自清华大学出版社《Scrum精髓:敏捷转型指南》一书中第三章,作者是 Kenneth Rubin,姜信宝 米全喜 左洪斌 译 , 徐 毅 审校。

经验认知

在使用Scrum时,我们对工作进行组织,快速产生经验认知(Ries 2011提出的术语)。最初的假设一旦被确认或推翻最初的,我们就获得了经验认知。下面三个敏捷原则与这个主题相关。

 

l  快速验证重要的假设。

l  利用多个认知循环并行的优势。

l  组织妥善工作流以获得快速反馈。

快速验证重要假设

所谓假设,是指即使某些猜测或看法并没有被之前验证过的认知确认,也认为它是正确、真实或可靠的。与Scrum相比,计划驱动开发对长期存在的假设更宽容。使用计划驱动开发,前期会产生大量的需求和计划,其中可能有很多重要的假设得留到开发后期验证。


假设本身就意味着重大的开发风险。在Scrum中,任何时候的重要假设都要力求最少。我们也不想重要的假设久久得不到验证。结合迭代开发和增量开发,关注低成本的探索,这是可以做到快速验证假设的。因此,在使用Scrum时,如果某个假设本质上就很糟糕,我们就可能很快发现错误并借机恢复。在计划驱动的顺序开发方式中,相同的糟糕假设如果验证太晚,会导致开发工作普遍甚至全部失败。

利用多个认知循环并行的优势

顺序开发方式是可以获得认知的。但是,只有在特性经过构建、集成和测试后,才能获得较多认知,这意味着重要认知得等到工作快结束时才能获得。可能因为已经没有足够的时间利用认知或利用认知的成本太高,所以导致后期认知并没有达到预期的效果。

Scrum中,我们知道持续获取认知是成功的关键。使用Scrum时,我们要找到并利用反馈循环来提高认知。在这种产品开发方式中,有一个反复出现的模式,即提出一个假设(或设定一个目标),构建一些东西(执行一些活动),针对构建成果获得反馈,然后利用这个反馈,对照我们提出的假设来检视工作成果。然后根据我们学到的东西对产品、流程和∕或我们的理念进行调整(参见  3.13)。

image.png

3.13  认知循环模式


Scrum充分利用了几种预定义的认知循环。例如,每日例会是一个每日循环,冲刺评审活动是一个迭代级的循环。下面将介绍这些循环。

Scrum框架很灵活,包含很多其他类型的认知循环。例如,虽然没有明说,但是像结对编程(秒级反馈)和测试驱动开发(分钟级反馈)等技术实践反馈循环,都频繁应用于Scrum中。

妥善组织工作流程以获得快速反馈

容忍假设长期存在,也造成计划驱动过程容忍认知到后期才获得,所以说计划驱动过程并不注重快速反馈。在Scrum中,快速反馈对较早截断错误路径有非常重要的帮助作用,对快速发现并利用时效性强、突然出现的商机至关重要,所以更力争获得快速反馈。

在计划驱动的开发过程中,每个活动的计划都根据明确定义的阶段顺序来制定,并在指定的时间点发生。它的思路是:完成早期活动的时候,不需要后期活动的任何反馈。因此,在做完一件事情后,可能要过很长时间才能得到这件事情的相关反馈(认知循环终结于此)。

以组件集成和测试为例。假设我们同时开发三个组件。在得到可交付产品之前的某个时间点,这些组件必须做完集成和测试。然而,在集成之前,我们并不知道开发出来的组件是否正确。如果试着集成这些组件,肯定可以为组件开发工作带来重要的反馈。

使用顺序开发方式的时候,只得等到规定的下游阶段才能进行集成和测试,有很多至是集成所有组件。不幸的是,我们可以同时开发一堆组件,等到后期集成阶段再顺利组装成一个紧密结合的整体这一想法几乎不可能实现。事实上,即便在开发组件之前定义有精心构思的接口,在集成时也很有可能出错(参见图3.14)。

在开发很长时间之后才产生反馈有一个令人遗憾的副作用,例如,因为平时没有交互,导致开发好的组件常常无法顺利集成,到最后,集成阶段变成一个大的测试-修复阶段。至于需要多长时间才能完成,需要花多少成本来修复问题,此时此刻全靠猜了。

image.png

3.14  集成组件

Scrum中,我们组织好工作流,在图3.13所示的认知循环中移动,尽快获取反馈。这种做法能够确保工作一完成就能得到及时的反馈。快速反馈能提供比较好的经济效益,因为如果反馈滞后,错误加剧,会导致故障呈指数级增长。

再来看一下组件集成的例子。在设计组件时,我们对如何集成组件做了重大的假设。我们根据假设进行设计。此刻我们并不知道选择的设计路线对不对。它不过只是我们最好的猜测而已。

但是,一旦选定路线,就会在此基础上做出其他很多决定。初始设计所基于的假设如果得不到验证,等的时间越长,基于这个假设所做的决定就越多。如果后来(通过集成阶段的反馈)才发现最初的假设有错,我们就会面临困境。我们不得不对很久很久之前所做的糟糕决定进行返工,时间一长,人们的记忆会消退,得花好长时间才能回到之前的工作状态。

如果必须为某个糟糕的、依赖于其他因素的决定返工,再算上产品的延期成本,那么快速反馈的经济效益是非常有说服力的。快速反馈可以快速终结认知循环,在造成严重的经济损失之前,截断有害无益的开发路线。



【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。