[关闭]
@lsmn 2017-04-12T20:38:54.000000Z 字数 1647 阅读 2137

安全失败实验

敏捷 安全失败


摘要

在复杂的环境中,可以使用安全失败实验探测、感知和响应。你必须知道成功和失败分别是什么样子,为了应对潜在的失败,你需要能够抑制或增强探测的效果。安全失败实验可以帮助你处理风险和不确定性,了解并保留选择的余地。

正文

在复杂的环境中,可以使用安全失败实验探测、感知和响应。你必须知道成功和失败分别是什么样子,为了应对潜在的失败,你需要能够抑制或增强探测的效果。安全失败实验可以帮助你处理风险和不确定性,了解并保留选择的余地。

Liz Keogh是一名独立的精益&敏捷顾问。在2017欧洲测试大会上,她谈论了安全失败。InfoQ正以Q&A、综述和文章的形式对大会进行报道。

在开始阶段,Keogh简要介绍了Cynefin。她指出,大多数IT活动都处于一个你可以使用安全失败方法的复杂领域里。对于这种方法,她在博文“面向开发人员的Cynefin”中介绍过:

在一个复杂的环境中,你探测、感知和响应。你安全地做一些可能会失败的事情,那会让你了解你需要作出响应的环境,并改变环境。这是高效反馈、风险与创新之地。

在这个领域中,由于我们探寻的结果一直处于变化之中,我们不能仅仅套用我们的专家实践就期待着成功。我们必须根据我们了解到的情况修改我们使用的实践方法。在这个领域中,我们有突发实践。

敏捷选择就是因为这个领域出现的。我们无法提前将一切都准备就绪,因此,取而代之,我们开始在我们的流程中创建反馈循环。

在InfoQ的综述报道“使用行为驱动开发进行实验”中,Keogh说明了如何测量复杂度并划分成1到5五个等级:

5.以前没有任何人做过

4.其他组织的人以前做过(可能是竞争对手);

3.本公司的人以前做过;

2.本团队的人以前做过;

1.我们都知道怎么做。

你可以将这些复杂度等级映射到Cynefin上。等级1属于容易领域,等级2和3属于复杂领域,而等级4和5属于困难领域。

Keogh建议,我们从最新的、有风险的东西开始。这种方法可以帮助你在你和利益干系人之间建立信任,因为他们通常都担心风险,并希望看到它们被解决。如果你的利益干系人不信任你,那么,Keogh建议,为了取得他们的信任,你可以出色的完成一项复杂度为3的任务,而不是复杂度为4或5的任务。

安全失败探测需要一种机制,可以了解什么成功执行,什么正在衰退。按照Keogh的说法,因为你不知道将会发生什么,所以你必须能够抑制或增强探测的效果。安全失败不是要完全地避免失败,但你需要能够处理潜在的失败。

早些时候,InfoQ采访了Tiago Garcez,请他介绍了安全失败实验:

(……)在开始任何存在一定风险的活动之前,务必使用你知道成功什么样失败什么样的受控实验,那样你就可以评估潜在的解决方案或者推进方法。这种方法可以避免高昂的失败成本或者关键任务失败,同时,它还提供了学习的机会(你是否用一致的方法构造了实验)。

Keogh表示,在存在高度不确定性的场景中,提供一致性,而不是各种测试。在这种情况下,“测试”存在不确定性;它们是可能会发生什么的例子。但是,测试人员仍然要非常擅长提出这样的例子,那种心态至关重要。

Keogh提到了Olav Maassen和Chris Matts在其著作“Commitment”中所描述的有关“真实选项(Real Options)”的工作。按照Keogh的说法,实验是一种保留选择余地的好方法。例如,当出现问题时,回滚就是一个选项。

Keogh还提到了Pachinsky原则:

  • 发现新思路,尝试新东西;
  • 在尝试新东西时,务必在失败不易造成破坏的范围内进行;
  • 寻求反馈,并在这个过程中从失败中学习。

在总结她的演讲时,Keogh提出了两项寻找安全失败方法的建议:

  • 使用Cognitive Edge提出的“仪式性异议(ritual dissent)”,这是一种通过质疑检验和强化想法的技术;
  • 如果你想知道某个东西是否是失败安全的,就“请教测试人员”。测试人员在这方面非常擅长。

查看英文原文:Doing Safe-to-Fail Experiments

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注