2020年6月12日,阿里巴巴研发效能峰会首次对外直播,在主论坛开场演讲中,阿里巴巴集团首席技术官程立(鲁肃)发表了《技术创造新商业 云研发时代的效能挑战》主题演讲,在演讲中他分享了“数字抗疫”对研发效能未来的启示以及阿里巴巴研发效能提升三大重点。
阿里巴巴集团首席技术官 程立
程立在演讲中指出,在阿里巴巴技术人有一个使命——“用技术创造新商业”。商业在不断改变、技术在不断改变,但是有三个事情是永远不会变的。第一,我们要不断提升计算力,不要让算力制约业务的发展。不断在算力上去突破,用算力去驱动业务发展,这是“技术创造新商业”的第一个引擎。第二,要不断提升研发效能,把工程师的生产力发挥出来,让研发、交付更快。通过研发效能的提升,把业务的创新力释放出来,这是第二个引擎。还有一件事情也非常重要,就是技术要为业务发展提供一个坚实的底盘。“技术创造新商业”在不同的时代会有不同主题,但是这三个事情是永远不会变的。
程立表示,今天非常高兴以云端峰会的形式与大家探讨在云研发时代如何看待“研发效能”。
程立还分享了相信2020年开年伊始的“新冠疫情”会刻在我们每个人心里,让我们每个人都会思考很多,我想从“研发效能”的视角来分享一下这个事件对我们意味着什么。
其实,今年春节阿里巴巴的工程师基本都是没有休息的,我们在努力做一件事情,就是用数字的方式抗击疫情。现在事情告一段落,回过头来看,“数字抗疫”带给我们很多启示。
第一个启示:大基建、小场景。
目前整个社会、经济、民生都在加速数字化,这个“数字化”落地到具象的事情上,其实就是每个人每天都在用的具体场景下的应用程序。有一个预测,未来五年,我们开发的应用程序将超过过去所有时代的总和,这是一个爆炸式的发展。
我们看到整个社会数字化的基建在加速建设,变得越来越大,但是前端的应用会变得越来越小,越来越多。我们怎样能以最好的方式、最快的速度、最好的质量去交付能够贴合每个场景的小的应用,这是一个非常非常关键的主题。每一次需求的巨大变化,都会带来整个软件工程、研发工具和方法的巨大变化。我相信,整个社会、经济数字化的过程,也会驱动软件研发工具和方法产生巨大变革。
第二个启示:即时、无距大协同。
让我感到非常诧异、惊喜的事情是,疫情期间,虽然是在家办公,我们的研发效率却有了明显提升。在代码质量不变的情况下,我们的平均研发效率提升了20%-30%。这是非常大的突破,大家可以想象,阿里巴巴拥有几万研发工程师,20%-30%研发效能的提升意味着什么!当时我们也在想,简单的项目是这样,但是复杂的项目在家办公是不是不能做了呢?其实也不是。我们拥有很多复杂的全球化项目,需要跨越多个国家、多个时区来开发一个全球系统。在疫情期间,我们没有一个全球化项目是暂停的。其中,我们最复杂的一个项目几乎跨越了阿里巴巴所有业务部门,跨越了7个国家、十几个城市,几百人协同研发的一个项目在疫情期间没有受到任何影响。我也参与了这个项目的评审,300多人以在线方式召开评审会。在线下,这样规模的评审会议连找一个会议室都很难,而在线上,大家想开就可以开。最后,这个项目还提前交付了。让我们切身地感受到,在数字化时代,我们方法和工具可以帮助我们实现即时的、零距离的协同,这在物理世界是做不到的。这也是“疫情”给我们带来的一个很重要的启示。
第三个启示:极速交付。
疫情,让我看到了未来我们可以做到怎样的交付速度。在疫情期间,我参加了一个阿里巴巴特别的项目组,这个项目组是开发阿里巴巴集团内部整个“大企业”的一个抗疫系统,它能够跟踪我们每位同事的健康情况。在出现异常的情况时,我们可以快速给予同事相应的帮助,做好疫情防控工作。这个系统过去从来没有过,从需求定义的提出(可能是某位同学一个小小的想法)到最后的上线,我们交付的要求是“小时级”甚至“分钟级”的。怎么做到这样的交付速度呢?当时我们做了三个技术选择。第一,这个系统必须建立在云上;第二,我们开发上面的业务逻辑功能,必须要用另外一个系统,我们内部叫“宜搭”,这是一个业务中台系统,目前已经在网上开放了;第三,开发这个系统所有的看板、报表功能必须要用我们另外一个业务中台系统“有数”。“云+宜搭+有数”,支撑起阿里巴巴抗击疫情的整套数字指挥与协同系统,让我们实现从需求到上线“小时级”交付,紧急需求“分钟级”交付。未来,任何一个创新的想法,都应该以这样的速度进行。
第四个启示:极致弹性。
疫情期间,很多事情是我们无法预料的,这就需要业务平台具有良好的“弹性”。举个例子,钉钉突然间需要在很短时间内实现对几百万人同时在线沟通、视频会议的支持。在这么短的时间内,怎么能够实现“弹性扩容”呢?经过实践,我们发现是可以做到的。在非常的短的时间内,钉钉完成了上百万核的扩容,满足了用户暴增的需求。另外一个例子是我们每天都在用的“健康码”。健康码以云为基础平台,以阿里巴巴的数据平台、业务中台为上层支持平台,以支付宝、钉钉为交付手段,实现快速交付。这个应用从最初的一个想法开始,到拥有上亿的用户,仅仅用了几天时间。怎么能够做到?也是靠背后的“无限弹性”。所以在云研发时代,“弹性”是一个非常重要的事情。其实,目前云的弹性我们用的还不够好,还是在以“资源”的视角来思考弹性,为了支撑这个业务到底需要多少资源?多少核?多少存储?然后再去扩容。未来的“弹性”是怎样的呢?我们不再需要关心“资源”问题,我们把所有事情交给云,当业务来了多少,云可以自动帮我们完成弹性扩容。
第五个启示:数据智能为灵魂。
在疫情期间,我们开发的全部应用,没有任何一个能够离开数据,没有任何一个能够离开智能。“数据智能”已经成为每一个应用的灵魂。这个时候能以多快的速度去驾驭海量的数据,能以多快的速度去驾驭算法、算力,成为一个非常关键的基础技术。
第六个启示:安全可信为内禀。
无论我们开发的应用多么微小,有一个基本的底线是不能违背的,它必须是一个安全可信的应用。因为每个应用都是服务了民生、服务了社会经济中非常基础的一个环节,在任何一个方面出现问题,它所带来的损失都是不可想象的。如何简单、快速开发出安全可信的应用,也是云研发时代我们面临的挑战之一。
回顾历史,每一代新型的软件研发需求都会对软件工程背后的基础技术产生一个巨大的推动。从操作系统到复杂的大型商业操作系统、互联网系统都对软件研发方法产生了很大的推动。现在我们每个人都在思考,面对一个数字经济系统,我们到底该怎样去研发?这个过程中,将必然产生新的软件研发工具和方法。
阿里巴巴研发效能提升三大重点
在这个时期,阿里巴巴会怎么做?我们认为做好这三点,将有利于阿里巴巴抓住下一代软件研发工具和方法带来的红利。
第一,拥抱云原生、释放云红利。
很早阿里巴巴就开始把我们经济体的商业系统往云上去搬了,去年我们实现了一个非常关键的里程碑,阿里巴巴所有核心商业系统全面上云。但是我们认为这不是终点,而是起点。“搬上云”只是“用云”的一个起点。今年我们开始要做的事情是,拥抱云原生,释放云红利。用汇编语言打个比喻,在过去十年,云计算完成了非常关键的一个承诺,让数据中心变成了计算机,看不到数据中心的复杂细节,让我们以算力资源的形式来用这个计算机,但是我们操作的界面还是汇编等级的界面。在未来,我们希望云计算真的可以实现它的承诺,真的是无处不在的云计算。我们不用关心计算背后到底需要什么样的资源,商业系统只要提出对计算的需求它就可以完成对这个计算的交付,我们认为这是“云原生化”的一个过程。在这个过程中我的技术架构如何面向云去重构、重塑,充分释放出云原生的红利,是一件非常重要的事情。关于云原生,2020阿里巴巴研发效能峰也会有专门的论坛去讨论,我相信这会是非常有价值的一个话题。
第二,坚持与发展大中台、小前端。
从一个复杂的商业需求到云提供的算力之间,还存在一个非常巨大的鸿沟需要去填补。怎样去填补呢?紧贴前线每一个小的业务场景的创新,我们要有强大的中台能力去支撑。阿里巴巴提出“中台”的思想并去实践它,至少已经有5年时间。经过这5年的实践,我认为阿里巴巴的“中台战略”是非常正确的方向,也是成功的方向,尽管还有一些问题需要我们去解决。那么,到底什么是“中台”呢?其实“中台”的本质是,要能释放业务的创新力,让业务的创新更快,让业务的创新成本更低。中台必须要让自己成为一个能力交付平台,第一要它的能力能够“被集成”,能够被前台业务集成;第二它的能力可以“被扩展”,当前线的业务发生变化后,它的能力必须可以被扩展;第三它的能力可以“被信赖”,这些能力都是可以被前台很放心地去使用的,不用担心安全性和稳定性。“被集成”“被扩展”“被信赖”是中台三个非常重要的特性,其中最关键的一个词是“被”。当拥有一个真正设计得好的中台时,每一个前台业务可以实现自闭环,这样就把“小前端”的创新力和自由迭代进化的能力发挥出来了。阿里巴巴坚信“大中台”这个方向,但是“大中台”要做得好,必须要有技术上的创新和商业抽象上的创新。在“云原生”基础上我们构建了中台,正如前面提到的,没有应用可以离开数据和智能,所以除了会继续加强业务中台之外,我们会加强数据中台和智能中台(AI中台)。通过“业务”“数据”“智能”这三大中台赋能每一个小的前端,实现自我闭环,能够快速创新和快速发展。
第三,数字化协作、数据驱动优化。
“协作效率”对研发效能的影响非常巨大,我认为已经超过一半了。任何一个研发效能,当涉及很多人协同的时候,最影响效率的已经不是“设计”“开发”“测试”“发布”的效率了,而是“协作”的效率。好的研发工具一定是可以让协作效率得到巨大提升的。还是举疫情期间在家办公这个例子,开发工程师没有变,使用的研发工具和方法没有变,唯一的改变是协作的效率提升了。当你需要开会讨论的时候,随时随地可以拉线上会议,不用去预定会议室、不用去协调时间,任何人都是随时在线。只是协同效率提升这一点,就让我们的研发效率提升了20%-30%,所以这里的红利空间是非常大的。怎么样能够利用好数字时代的沟通工具、协同工具,提升数字化协作效率,优化组织和生产关系是研发效能提升非常重要的一点。
一旦能够把整个组织的协同都数字化之后,基于这样的组织协作数据,如何去优化我们的技术决策、管理决策将是另外一个非常重要的机会点。其实,管理一个几十人、上百人的项目团队,已经是一项很有挑战性的工作。但在一些大型企业内部,我们管理的研发工程师可能是几千人、上万人。此外一些复杂的应用可能还要涉及企业间的协同,甚至全球企业之间的协同。如此复杂的组织,到底该如何提升它的协同效率?没有数字化的协同工具、数字化的分析工具,我认为是做不到的。所以这也是阿里巴巴认为企业如何提升研发效能非常关键的一个点。
以上仅是我初步的思考,相信接下来阿里巴巴研发效能峰会每一个主题的分享都会带来更精彩的观点。希望每位开发者都可以在此次峰会中得到自己的思考和收获。回到日常工作中后,可以抓住这一波研发方法和工具变革的机遇。