法则三:架构师如何在一定时间内最大化自己的增量价值
作为一个架构师,必须要创造足够的商业价值,才能保障自己职业的长期。
那么你作为架构师,该如何为你的公司、部门或团队提供可量化的增量价值呢?
主要有扩大收入与减少成本两种路径。
今天这节课,我们就结合几个真实的案例来具体分析一下。如何寻找扩大收入的机会?有的架构师不关注软件之外的事情,比如很少关心公司或部门的收入。这种性格虽然可以让他专注于软件工作,但从长期来看,如果不去思考如何通过技术为公司创造商业价值,那就很难保持或扩大自己在团队的影响力,职业发展也可能受挫。所以哪怕没有人向你施加为企业增加营收的压力,你也要主动思考,你或你的部门,该怎么为公司创造更多的营收。那么我们该从哪里寻找扩大营收的机会呢?除了之前提到的深度理解用户心智和商业模式,以及我们经常遇到的不同的横向问题,比如稳定性、安全、可测试性、可维护性之外,还有其他方法吗?你可能听说过“在小数据里看大机会,在大数据里看小机会”这句话,这其实适用于我们所有技术人。前半句指的是从个性需求中抽象出共性的机会。也就是从解决一个具体问题的过程中得到启发,并从中找到一个可以规模化应用的机会。比如做用户调研时,你发现有一个用户总是截图之后再通过微信把商品发给另一个人。那么你就会意识到,可以开发一个分享工具,通过小程序和 DeepLink 来获得更多的社交裂变。后半句指的是靠数据来打磨用户体验。也就是通过数据分析找到机会点,然后通过产品和技术的改进,不断提升转化减少损失。这是算法和数字化运营的常见办法。比如淘宝 App 的首页跳出率是 2%,就是通过数据分析和打磨而不断提升的。
如何寻找减少成本的机会?
有些人会过分强调极客精神,事事追求完美。我觉得出发点是好的。
但在一个企业中,追求完美必须以成本可控为前提。
我发明了一个方法,能够准确度量性能优化后每个页面的预期产出。而我们要做的,就是按预期产出除以预期投入成本,也就是预期回报的 ROI 来排序,再依次做优化。具体的公式比较长,我就不在这里展开了。这个算法的核心原理展示在这张图里[2]:
如图所示,我们根据每个页面转化率分布的直方图,以及预期的性能优化后的结果,预测出如果不做性能优化而损失的该页面的转化率。我们把这个预测值叫做页面的性能损耗 Lpage。因为我们有全链路的转化漏斗和流量统计,所以如果优化某个页面,把性能损耗追回之后,那么这个优化对下游,以及对订单和 GMV 的预测,就可以通过大数据统计提前算出来。所以我们就以优化订单数为目标做了架构规划,然后统筹我们可以做的一切优化动作。如下图所示,本来完全不等价的优化动作,有的在网络层,有的前端,有的在后端。这下子就可以在一个指标上做比较了,因为我们的每一个优化动作最终都能被归因成了订单贡献。
我是如何践行生存法则的?这个架构项目成功的关键,也正是我一直在遵照我这两节课介绍的生存法则。现在让我们一起通过这个性能优化的案例来检验一下,看看我如何用生存法则来指导架构活动。另外,我们通过案例检验的过程,会重新总结并强调我们这两节课传递的一些核心观点。
第一,你作为一个架构师,在架构设计中要追求商业价值。我们做性能优化时,不是单纯做性能指标的优化,而是一上来就以提升商业价值为目标。因此我们的优化目标是订单数,而不是一个技术指标。
第二,想要创造商业价值,就必须不断度量你创造的增量价值,这样才能确保自己处在价值创造的前沿。并且能够在一个相对未知的环境下,不断寻找自己的增值空间。从这个项目的开始,我们就没想过要做全站的性能优化,而是发现了回报最大的单点,做针对性的优化。为了做到这一点,我发明了准确度量性能损耗的公式,找到了部门层面的单一优化目标(订单数)。并把我们所有可能的优化动作,全部归因到这个单一的优化目标上去。有了这个可度量的价值,我们就不再做地毯式的性能优化,而是做具有针对性的、回报最高的性能优化动作。此外,我们也没有越做越宽。当发现性能优化的回报不够大了,我们就不再做性能优化了。而是换个赛道去创造价值:做现有网络的性能监控。最好的证明就是当时我们和全球研究实力最强、监控能力最完善的 Akamai 合作。而且我们发现,我们对 CDN 网络的监控能力,在很多国家要远远胜过 Akamai。甚至到后来,我们干脆请 Akamai 的运维人员接了我们的部分报警。在此之后,我们又把应用方向再次扩大到业务转化问题排查等等。
第三,作为一个架构师,要最小化整个架构活动的成本。你要做的是:确保最终方案的可行性;寻找最优的实施路径,确保最终能够完成实施;试图最大化最终解决方案的结构性,以最小成本放大你的产出。