如何规划和掌控复杂项目2014-08-07 infoq Jutta Eckstein 译:李彬在复杂的大型敏捷项目方面,我所拥有的10年以上的经历所见:一般来说,人们都是基于对开发成果的预测,进行规划和编制预算。很多时候,开发团队对故事进行了估算,但整个项目的预算却又与该估算相互独立。特别是在复杂项目中,这往往会带来出乎意料的结果(不欢迎的)。面对这些问题,对Daniel Kahneman和超越预算理论那伙人的工作进行学习,非常有助于让我更好地理解规范、估算和预算编制之间是如何联系的,以及为何传统方法行不通。当然,我们都知道这些在小项目中是如何运作的,也知道如何通过迭代规划和控制一个项目。然而,我们如何决定赞成还是反对一个项目,如何定义启动某个大型项目的预算,以及如何知道我们的微小迭代(跨越许多特性团队)如何融入长期的项目目标?请注意,我并不是在说小型或常规项目,而是指那些拥有50到300开发者、持续例如3到5年才能完成的大型项目,或类似规模的大型产品(产品线)开发。
预测并不可靠
诺贝尔经济学奖获得者Daniel Kahneman——尽管他是一位心理学家——得到了这样的结论:大部分事情的发生都基于巧合。他给出的例子之一与过去的历史有关——发展成为阿道夫希特勒的那枚胚胎,其实有50%的可能诞生的是一位女性。谁知道这个历史分支的不同走向,会对之后世界百年历史产生何种影响?这意味着要想预测复杂的事情是不可能的。此外,Kahneman也收集了来自从事该领域研究的同事们的类似工作成果,以验证他的观点。例如,宾夕法尼亚大学的心理学家Philip Tetlock,收集了超过8万条政治和经济学方面的预测。请注意,做出这些预测的人,正是以此为生。因此我们谈论的是一些真正的专家!问题是,这些预测甚至比运用正态分布曲线得出的预测结果还要糟糕。但当被证明预测出错的时候,鲜有人承认自己的预测是错的。大部分专家开始找借口或理由,来解释为什么他们认为自己实际上是对的,只不过时机出了问题——但他们不会提供任何推论,来说明什么类型的时机是正确的。在另一项研究中,伯克利大学的经济学教授Terry Odeon分析了大约1万份代理结果,其间涵盖了16.3万份交易。关于经纪费用,有趣的一面是,在每次交易中都必定有人相信卖掉股票或其他什么会更有利,同时也会有人相信买入更有利。然而,交易双方一般都被认为是该领域的专家。在这份分析中,Odeon发现,与买入相比,卖出股票的表现要好3.2%。在最后一个例子中,我想提到的是一件基于Kahneman自身经历的事情。他过去曾为以色列军方服务。在那里他创造了一项测试,供他和他的团队来评估候选者的军旅职业生涯。我们或许可以很清晰地想象出,在面试之后参加这项测试时,候选者必须解决一些非常困难的问题、搭建一些东西,克服一些东西,而这种方式让谁领先、谁反对、谁是一位好的团队成员等结果都变得“显而易见”。通过在测试中观察申请者,Kanneman和他的团队总是会对申请者的进一步资格认证树立起高度的自信。然而,每隔几个月他们从指挥官那里获得的反馈都会指出,其评估结果仅仅比盲猜好一点点。有趣的是,Kahneman和他的同事既没有对方法做出调整,也没有基于这一反馈改变其观察所得到的结论。当看到某位申请者在测试中领先时,对他们来说,显然这依旧是军旅职业生涯的完美候选者。他们对自己的印象过于自信,以至于对他们来说要改变结论似乎是不可能的。那么,从这些研究中我们能学到什么?实际上有两个非常重要的教训需要牢记:首先,预测将永远是一项容易出错的工作,因为这个世界——或是任何复杂事件——都是不可预测的。其次,高度主观自信(就像专家经常会表现出来的那种自信——无论是推荐参军士兵还是估算某个项目)并不意味着准确,而是意味着专家拥有一个完整的故事。只有在你处于稳定的环境中时,高度自信(有时候又被称为直觉)才可以相信。下面实际上是Kahneman研究中的第三条教训——我没有费力去通过研究来验证它,因为这是迭代开发的基础:与长期趋势不同,只要基于以往的行为、模式和成果,人们就可以得到非常精确的短期预测。