17611538698
webmaster@21cto.com

Amazon CTO:别等待完美,不断从错误中学习

资讯 0 1860 2017-09-23 12:02:07

werner-vogels-amazon.jpeg

21CTO社区导读:“人只要奋斗,就会犯错。”德国大诗人歌德早在 200 多年前就已经知道这个了。他的这句名言放在今天依然适用,不过有一个重大的区别:光有奋斗还不够。你一定要比别人更快地奋斗。


/uploads/fox/23085322_0.jpeg
Amazon CTO : Werner Vogels

虽然力求完美没有什么不对,可在今天的数字化世界,再也无法等到自己的产品趋于完美,然后再提供给客户。如果这样,你就会落在市场同行的后头。所以,如果你不能等待完美,那么到底应该怎么办呢?我认为,答案就是你在产品开发方面要积极尝试,接受一些尝试会失败的可能性。

凡是聆听过管理专家教诲或与他们共过事的人都知道他们的口头禅:“失败是进步的必要部分”。确实如此,但管理理论与实际现实之间常常存在着很大的差距。人们想要进行尝试,并从所犯的错误中学习。可是在忙碌的日常工作中,他们又没有足够的时间认真反思错误的根源、下一次采取什么样的不同做法。

解决办法就是找到一种防止错误不断出现的系统性方法。

/uploads/fox/23085322_1.gif
 
从完美到反脆弱

寻找这样一种系统性方法时,你先要区分贵公司可能会出现的两种错误:「技术错误」和「人类决策错误」。好消息是,如果你知道如何有效地处理第一种错误,最后可能会更好地处理第二种错误,从而做出更合理的决策。

金融数学家兼散文家纳西姆·塔勒布( Nassim Taleb )就这个问题提出了一个有趣的看法。他认为,错误其实非常有价值,因为错误带来了创新。他用“反脆弱”( anti-fragility )这个词来阐明其观点。今天的数字化商业模式需要频繁发布更小的版本来降低风险。这意味着,支撑这些新型商业模式的技术不仅仅要做到可靠稳定,它们还必须是“反脆弱”的。

反脆弱技术的主要特点是,它可能“犯错误”,但又不会分崩离析。实际上,危机反而让反脆弱技术变得更好。
  /uploads/fox/23085322_2.jpeg
金融数学家兼散文家 - 纳西姆·塔勒布

在亚马逊,我们也要求我们的系统和客户解决方案是反脆弱的,为此我们设计接受时间考验的系统。我们的系统必须能够不断完善,变得对失败有更强的适应力。由于从客户反馈和运行系统时可能遇到的任何故障模式中学习,我们的系统势必渐渐变得更强大、功能更丰富。

崇尚“反脆弱”理念的一家德国公司就是浩亭( HARTING ),这家全球领先的公司专门为机器和设备提供重型可插式连接器。浩亭展示了在数字化世界,如何在思考质量标准的含义方面比同行领先一步。品质和信任是这家传统公司最重要的价值观,而「工业 4.0」( Industry 4.0 )和「数字化转型」自 2011 年以来就已经是该公司关注的两个重要领域。

/uploads/fox/23085322_3.gif
尽管一开始很难接受,但浩亭同时意识到错误是不可避免的。正因为如此,它改而采用敏捷开发方法。它还使用“最小化可行产品”方法,依赖微服务来开发软件。这样一来,浩亭就能更轻松地丢弃试验品、开发新产品。总之,浩亭的步伐变得更快了。
这可以从浩亭 MICA 上体现出来,这款边缘计算解决方案让旧的机器和设备能够实现数字化改造。连接器主体和硬件仍体现了浩亭追求完美的标准。而至于软件,目标是“够好”就行,因为微服务既不是成品,也不完美。因而可以很快地纠正错误决策和差错,系统可以更快地成熟起来,接近反脆弱状态。如果需求变化或有了更好的软件技术可以使用,每个微服务都可以丢弃,创建新的微服务。那样一来,就能提高速度,迅速使旧机器数字化,并遵循一种易于管理的成本框架,将它们连接到云。
  
错误没那么可怕
 
如果你想要像浩亭及其他公司那样变得反脆弱、非常强大,在尝试时就要积极寻找系统中的弱点。在一个不断发展的系统中,会发生各种各样的错误,你没法预测,系统需要扩展到未知领域时更是如此。所以,让你的系统面临不断的失败,并使用奈飞( Netflix )的 Chaos Monkey 这类工具,让子系统人为地失败。

如果你做了这一切,就会客观地对待贵公司的错误,将处理错误视作很平常的事。而错误成为“常态”后,谁都不会害怕冒险,敢于尝试新想法、新产品或新服务,看看客户对此有何反馈。那样一来,你可以迅速找到未来真正管用的解决方案。
在亚马逊,我们系统地、建设性地处理错误的方法名为“错误原因”( cause of error )分析法。它尽量避免找出“元凶”。相反,它将学到的经验记下来,得出最终改善系统可用性的行动。

/uploads/fox/23085322_4.jpeg
 
从根源到创新

这个方法首先需要解决错误,为此要分析直接的根源,采取措施来缓解破坏,尽快恢复初始运行状态。但是我们并不满足于这个结果。我们更进一步,试图从事件中获取最大的洞察力。一旦各方面对客户来说又正常了,这个过程随之开始。

我们的错误原因分析法的一个关键要素是问 5 个“为什么?”问题(这个方法起源于制造业的质量控制)。这很重要,因为它查明了问题的根源。以一个网站为例:

上周五它为什么宕机?网站服务器报告超时。

为什么超时?因为我们的网站服务超载,无法处理庞大流量。

为什么网站服务器超载?因为我们没有足够的网站服务器来处理高峰期间的所有请求。

为什么我们没有足够的网站服务器?因为我们在规划时没有考虑到可能出现的需求高峰。

为什么我们在规划时没有考虑到需求高峰?
等到这一圈下来,我们知道到底发生了什么事情、到底哪些客户受到影响。然后,我们就能够制定出确保特定的错误不会再发生的行动方案。
/uploads/fox/23085322_5.jpeg
运用这种错误原因分析法常常让我们得以找到突破性的创新,就像纳西姆·塔勒布说的那样。解决方案 Auto Scaling 就是这么发出来的,起因是某一群客户遇到了网站上的流量波动性极大这个难题。某个网站上的负载增加后,Auto Scaling 会自动启动一台额外的网站服务器,以处理数量增加的请求。相反,负载减小后,Auto Scaling 关闭不需要的网站服务器,以节省成本。

它表明了这一点:企业组织不要被表面上的成功蒙蔽了。对于商业模式而言如此,对于系统开发同样如此。如果你想在复杂的环境中保持敏捷灵活,只能走这条路,哪怕这意味着离开舒适区。如果我们将这些想法代入到组织环境,这三个方面可能值得考虑:

  1. 拥抱错误,将错误视作事实
杰夫·贝索斯曾这样说过亚马逊:“我认为我们是世界上最欢迎失败的公司。”这激励着我们的很多人大胆尝试,发现错误,并将其转变成创新成果。这番声明鼓励你的工员积极寻找错误,并将其转变成创新。而且,员工发现错误后,要给予奖励。我们从亚马逊的开发工作中学到的一点是,你需要始终透过错误的表面看问题。我们的一些最好产品是从错误中诞生的。
  2. 坦然面对不完整的信息
德国公司向来有着力求尽善尽美的传统。然而在数字化世界,你在这些原则上需要宽松一点。技术变化太快了,你也需要快速变化。即使拥有的信息不如你希望的那么完整,也要做出决定。杰夫·贝索斯在最近写给股东的信中这样写道:“如果拥有了你希望拥有的全部信息的 70% 左右,也许就要做出决定。如果你等到拥有90%的信息再决定,那么在大多数情况下为时太晚。
另外,无论怎样,你都需要善于迅速识别和纠正错误的决定。如果你善于调整方向,犯错的后果可能不如你想象的那么严重,而动作太慢的后果确实很严重。”
  3. 推崇学习的重要性
我强调了公司公司需要有一种系统性方法来处理错误。但只有你的方法是整个公司文化的一部分,它才奏效。确保你了解自己的 DNA ,知道员工的所思所想。
如果你的员工确实有理由担心如果犯了错误,会给自己带来不好的影响,那么公开赞扬产品开发方面的尝试,鼓励员工找到错误将只是一句空话。
这就需要领导层培育和打造日复一日得到践行的勇于尝试的文化。
/uploads/fox/23085322_6.jpeg
无论公司提出什么样的方法,以便从错误中系统性地学习,都让它们在数字化世界有望更好地竞争。这将给以它们自由和勇气,敢于将系统、解决方案和商业模式提升到一个更高的水平。
 

来源:云头条 编辑:刘海星


评论