软件研发中的不确定性原理

2020-11-30 18:50:11

海森堡的不确定性原理是物理学中的一个重要结果,它表示了对某些粒子对的物理性质的测量的极限。本质上,它指出,同时测量这些特性对的不确定性具有下限。例如,如果我们正在测量粒子的位置和速度,并且想要更加确定粒子的位置(更精确地测量位置),那么在某个时候,我们将不可避免地开始对粒子的速度变得不确定,无论我们使用的测量工具。此限制并非来自我们如何衡量这些属性的任何技术属性。而是指出,由于测量结果“太精确”,因此失去了数学意义。

我相信研发领域也存在类似现象。看起来微不足道,但是当它带来不便时,我已经看到很多次忘记(或忽略)它了。

选择一个随机的项目管理书或文章,您可能会看到以三角形表示的项目以某种形式表示项目的约束。两个主要限制条件将是时间和结果的等同条件:我们知道我们想要的东西,我们知道何时想要它。实际上,我们通常不会过分担心计算这些变量的置信区间。

但是项目(或子任务)越新颖,其固有的不确定性就越大。这意味着,如果我们要尝试的工作没有任何一家内部公司有经验(并且我们没有咨询有经验的人),那么时间和结果上的误差线都应该很大。而且,如果我们要处理全新的事物(从初步研究中可以得知),则为项目的工期和结果分配期望值几乎是没有意义的。这很重要,因为在确定阈值之后,必须更改范围:作为一名经理,您有时会停止将项目的框架定为“我要X乘Y”,然后开始将其定为其中一个:

“我想要X,我不在乎需要多长时间。”

“无论结果如何,我都愿意把这个项目拖到Y为止。”

当然,从业务角度来看,这两个框架都是有问题的。但是我的看法是,分配太小的误差线只是为了使项目的前提在业务上可行,这充其量是冒险的。

请注意,即使一个项目不是很新颖,我们也不擅长进行实际估算。即使我们希望不确定性得到控制,但它又会重新咬我们-更要特别小心地低估它。