建立团队弹性:缩短反馈循环(第2部分)

本系列文章旨在帮助团队创建一个不那么脆弱的环境,而更具弹性。 第一部分是关于个人工作的。 这部分是关于缩短反馈回路的。

最近的客户对该问题的简要说明:人员A签入的代码破坏了系统的“无关”部分。 我将在中断搜索的电子邮件中将此签入代码称为。 (是的,我更改了功能的名称,因为名称无关紧要。)

经理们不明白。 团队也没有。 但是,他们现在有需要解决的生产支持问题。

他们有一个反馈:签到打破了“无关”代码。 现在是时候看看他们的反馈回路了。

查看您的反馈循环

每个项目(或工作量)至少都有一个反馈循环。 那就是您发布给客户的时候。

如果使用瀑布式方法,则很可能会出现不希望的反馈循环,如图“串行生命周期的几种可能的情况”中所示。

内部发布的频率越高,获得早期反馈的频率就越高。

向客户发布的频率越高,获得的验证反馈就越多。 生产支持问题是经过验证的反馈。 您可能不喜欢该反馈,但这就是客户反馈。

在这种情况下,项目团队没有自动化测试。 该团队将产品人员称为“产品所有者”。 (不是,但这是一个不同的问题。)这些产品人员执行了手动测试。 更糟糕的是,他们只测试了幸福的道路。

产品人员不知道如何测试可能的错误路径。 他们对产品内部了解不足,无法寻找不需要的交互。

开发人员也没有。 这些开发人员没有内置的反馈机制。

自动化测试与反馈有关

在数十亿年前,当我为谋生编写代码时,我在编写代码后编写了测试。 我承认。

我非常擅长编写忽略我的错误的测试。 是的,除了犯错误的地方外,我会进行所有测试。 我变得非常擅长阅读八进制或十六进制转储(取决于机器和语言)。 (曾经有一段时间,我可以阅读Fortran堆栈跟踪信息,并确切地知道我在哪里弄糟。哦,糟糕的过去。)

我们现在还有其他工具。 编写代码之前 ,我们可以使用TDD,BDD,ATDD并获取反馈。 请参阅以下定义:

我碰巧喜欢大卫·伯恩斯坦(David Bernstein)的著作《超越传统代码(Amazon)》和《 Prags》 ,这是一种将合理的技术实践集成到您的工作中的方法。 (您可以阅读更新的实用编程器或任何其他可用的测试驱动书籍。请阅读并全部阅读以学习和练习。)

在我停止专业地编写代码之后,我学习了各种形式的测试驱动开发。 但是,即使我以自然语言(英语)书写,我也会在编写示例时使用规范性思想。

您已经注意到我经常在我的帖子和书中讲故事。 这些是示例。 我用它们来帮助您实现上下文,以及上下文何时适用于您或不适用于您。 同样重要的是,该示例为我的写作打下了基础,并为我提供了反馈。

我不完美。 我敢肯定,我会在博客文章中切线,让您说:“嗯?” 即使如此,这些示例仍有助于在撰写本文时提供反馈。 运气好的话,即使我走切线,我也会带你一起。

这个团队决定可视化他们的反馈循环。

您的反馈循环有多长时间?

您可能会认为反馈循环很短。 他们可能是。 您是否测量了价值流以实际查看周期时间? 在“ 测量周期而不是速度 ”中查看“空白”值流图。

这只是该团队的一项功能的价值流图。 他们没有在此价值流中发现问题。

请注意,他们的工作时间是他们等待时间的1/4。

但是,他们在签入此“完成的”工作三天后,发现了此问题,其中电子邮件签入影响了搜索。

当他们意识到自己的签入有问题时,他们开始编写测试并进行代码审查。

在过去的4天以上的时间里,团队又花了3.5天来完成这项工作。

而且,他们所有的其他工作都延迟了3.5天。

他们现在落后了。 都是因为他们没有足够短的反馈循环。

更多频繁的反馈有助于增强弹性

您的反馈越频繁,您的行动就越有弹性。 该团队在面临生产支持问题的压力下编写测试。 在卡住之前,他们没有进行代码审查。

测试(尤其是无处不在的小型测试)可以在团队中创造韧性。 即使您不团队合作(第1部分) ,测试也可以帮助您增强弹性。

测试为变更提供了支持。

我是这样想的:

  • 创建少量工作。
  • 创建广泛的自动化测试,使您知道如何在需要时更改代码。 (是的,需要进行手动测试,并且这些测试通常需要更多时间才能运行。我在这里谈论的是自动化测试。)
  • 测量您有多少个反馈回路及其持续时间。 (考虑测量您的周期时间。)

这个团队是如何工作的?

  1. 首先,他们使用用户故事来定义工作。
  2. 他们定义了ATDD的接受标准。
  3. 他们(有些勉强地)使用了TDD和BDD的组合。 他们不同意如何做。 但是,他们首先开始编写测试。 那帮助了他们进行设计,而不是代码。
  4. 他们测量了他们的周期时间。 经过一些练习,他们设法将周期时间缩短到一天以内。

您可以做的越多,可以缩短反馈循环,团队的弹性就越大。

该系列:

翻译自: https://www.javacodegeeks.com/2020/03/build-team-resilience-shorten-feedback-loops-part-2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值