导语:研发效能已成为企业数字化能力最核心的一环关系到企业的生存和发展正成为行业面临的共同挑战研发效能为何能成为企业的挑战提升研发效能要解决哪些核心问题如何系统地解决这些问题并显著提升研发效能这将是本文要探讨的问题
今天,企业的创新和发展越来越依赖其数字化能力,数字化能力又依赖于IT产品的研发效能。研发效能已成为企业数字化能力最核心的一环,关系到企业的生存和发展,正成为行业面临的共同挑战。研发效能为何能成为企业的挑战?提升研发效能要解决哪些核心问题?如何系统地解决这些问题并显著提升研发效能?这将是本文要探讨的问题。
一、数字化时代技术与商业关系的变化
在阿里巴巴成立22周年之际,回顾集团技术发展历程,可将其总结为三个阶段:
技术支撑商业发展(1999—2008年),从B2B阿里巴巴到C2C淘宝、支付宝和B2C天猫,技术支撑了商业的高速发展;
技术拓展商业边界(2009—2016年),从阿里云的第一行代码到构建引领DT时代的“大中台、小前台”组织、业务机制和技术路线,技术与业务开始融合,并拓展了商业边界;
技术创造新商业(2016年至今),从提出包括新零售、新金融、新制造、新技术、新能源在内的“五新战略”到创立达摩院,再到阿里云加速引领行业数字化转型,技术成为创造新的数字化商业的核心动力。
回望这三个阶段,20年来技术与商业的关系发生着持续且深刻的变化。如图1所示,技术与商业从相对独立到相互融合,直至技术成为商业的内核。图2是我们对技术与商业关系的进一步阐述。
首先,内核是云原生基础设施,以及基于云原生的DevOps(开发运维一体化)平台;其次,云原生内核之上是业务、数据和AI在内的中台;最后,以上述三个中台为基础,业务开发团队快速组合和拓展新的业务形态,并快速响应业务需求,支持和引领业务的创新。
技术创造新商业,技术已成为商业的内核。这对产品技术团队来讲是机会,因为他们拥有不可估量的可能,同时更是挑战,因为他们承担着前所未有的责任。做得好,技术会成为创新和发展的原动力,起到加速业务发展、引领业务创新的作用;反之,技术则会成为业务发展的瓶颈和阻碍。因此,评价技术是否有效的关键是研发的交付效能。
以中台化为例,它为解决现实问题而生,如何打破业务和组织竖井,打通不同业务的流程和数据;最大化软件资产的价值,减少重复建设和维护,并敏捷响应业务诉求。但中台战略必须有协作、工程和技术实践支持,才能实现研发交付效能的持续提升,实现良好的初衷,否则配套的技术和协作实践方法跟不上,反而会增加协作和技术的复杂度,让中台成为交付效能和业务发展的瓶颈环节。
研发效能直接关系到业务的成败,产品技术团队必须持续地提升研发效能,才能真正肩负起加速业务发展和引领业务创新的使命。如何才能提升研发效能呢?我们第一个重要的经验就是,从定义正确的问题开始。
二、提升研发效能需要解决的问题
在长期的实践过程中,我们将提升研发效能面对的问题提炼为3个“不等于”(如图3所示)。
1.局部效率不等于高效交付
我们在分析影响研发效能的问题根源时,往往会发现产品、开发、测试、中台、前台、运维各个部门都没有差错,但是业务响应速度和交付质量无法让用户满意的问题。当然,各个流程步骤或部门的局部效率很重要,但真正的效率必须从用户视角来衡量,满足快速响应用户诉求、快速上线和交付用户的需求。
局部效率不等于高效交付,这是研发效能的普遍困局。如何进行系统改进,将局部的效率转化为顺畅高质量的业务交付,这是研发效能提升需要解决的第一个核心问题。
2.高效交付不等于业务成功
我们的最终目标是业务成功。要想做到业务成功,必须构建起合理的商业模式,并保证交付的内容是用户和市场所需要的。在不确定性陡增的当下,这需要不断探索,并采用有效的方法来保证探索过程的有效性。
高效交付不等于业务成功,这是研发效能的又一困局。如何应用系统的创新方法,解决用户的实际需求,探索和构建可行的商业模式,保证交付价值的有效性,最终获取业务成功,这是研发效能提升要解决的第二个核心问题。
3.高效交付不等于持续高效
在研发过程中,我们希望不断积累高质量软件和工程资产,让效率持续增长。但因为缺乏良好的工程(如持续交付)和技术(如领域设计)实践能力,软件的扩展和维护越来越困难,效率难以持续,积累的资产变为债务。
高效交付不等于持续高效,这是研发效能的另一个困局。如何构建并应用合理的技术和工程实践,积累资产而非债务,保证交付效率的可持续提升?这是研发效能提升要解决的第三个核心问题。
提升研发效能,就是要面对并解决上述三个核心问题,从而实现“持续地、顺畅高质量交付有效价值”,这是提升研发效能的目标。“持续、顺畅高质量、有效”是其中的三个关键(如图4所示)。
三、数字化时代的效能方法体系
找出问题是开始,解决问题则需要系统方法。在长期的实践过程中,我们总结并形成了下一代精益产品开发方法(ALPD),它是解决问题的实践体系,是我们长期效能提升实践的沉淀和总结。
精益产品开发方法最初源自生产制造领域,今天已被广泛应用并深刻影响着制造业之外的许多行业,如医疗、政务等,尤其是在产品开发、业务创新、业务运营和客户服务等方面。其核心是“最小化浪费、最大化价值和持续改善”,与研发效能改进的目标——“持续地顺畅高质量交付有效价值”高度一致,催生了产品开发领域一系列革命性的方法,如精益看板方法、精益需求、精益创业等。
然而,这些方法相对独立,没能为提升研发效能提供系统的方法体系,更缺少完整有效的落地解决方案,这正是ALPD体系要解决的问题。它以系统解决研发效能问题为牵引,构建了系统的方法体系和完整的解决方案。我们将ALPD体系的目标具像化为实现比传统开发方法效能提升10倍的愿景,其中包括:
10倍响应速度,如对业务需求响应和交付从1~3个月的版本周期改进至1周左右的交付周期;
10倍过程质量,产品开发过程中最大缺陷存量从以百计改进至10以内;
10倍有效价值,以更少的需求交付更有效的价值,探索并获取业务成功,这是最具改进空间,也最值得改进的地方。
1986年,佛瑞德·布鲁克斯曾在“没有银弹:软件工程的本质性与附属性工作”一文中提到,未来十年,没有单一的技术能够10倍提升软件开发的产出效率。三十多年后的今天,这一说法依然成立。支撑10倍效能提升的愿景,需要包含协作、需求、工程、技术、创新等在内的系统方法,这正是ALPD体系的实质。如图5所示,顶部是效能提升的目标和愿景;底层以及两侧部分是基础设施和组织保障;中间部分是具体的方法实践,其中蓝色代表精益交付的实践,它保障可持续的快速高质量交付,橙色代表业务创新实践,它们保障交付有效的价值。
四、效能实践与核心问题的对应
ALPD体系的效能实践可以分为三组,它们分别解决前文中研发效能的三个核心问题。
1.动态投资组合管理和目标驱动的业务创新
这一实践解决的是“高效交付不等于业务成功”的问题。它由动态投资组合管理和目标驱动的业务创新两个部分构成。
一是动态投资组合管理。企业的健康发展和持续创新,要立足于自身战略定位,确保对不同阶段业务的合理投入,并针对不同阶段的业务采取与之适配的投资和运营策略。动态投资组合管理的核心实践包括探索新业务、扩张已验证业务、优化成熟业务、即时发现和启动第二曲线创新。
二是目标驱动的业务创新。创新成功的根本是帮助客户完成他们的目标,并以此为前提构建从业务创新到持续交付的快速和有效的闭环确保创新的效率和效果。目标驱动的业务创新的核心实践包括洞察并聚焦用户目标,设计并对齐组织目标(Objective)和关键结果(Key Results),基于目标选取策略和规划业务演进,构建从目标、规划、交付到验证和调整的业务闭环。
2.精益需求分析及全链路精益协作
这一实践解决的是“局部效率不等于高效交付”的问题。它由精益需求分析和全链路精益协作方法两个部分构成。
一是精益需求分析。业务需求是协作和交付的源头,保障源头的需求分析质量和效率是高效交付的基础。精益需求分析的目标是以终为始,高效和有效地分析业务需求,为产品交付提供粒度合理的高质量输入。精益需求分析的核心实践包括:目标和问题澄清,澄清需求的业务上下文和解决的问题;场景和流程探索,基于业务事件分析和设计业务流程,并分解和定义产品功能;产品设计及规则澄清,应用实例化需求方法,澄清产品的操作流程和业务规则,并确定功能的验收标准。
二是全链路精益协作。为了顺畅的交付业务需求,我们必须着眼于端到端(从需求提出到交付验收)的交付价值流,并系统和持续地优化需求的流动效率。全链路精益协作方法的目标是打通端到端的业务价值流,促进整个组织围绕业务需求展开协作,快速交付。全链路精益协作的核心实践包括:打通和管理业务需求交付的价值流,让前后角色(如业务、产品、开发、测试等)顺畅协作,确保业务需求顺畅交付;保证不同产品(如前台和中台产品)向业务需求对齐,协调产品需求的技术方案和交付进度,最终让业务需求快速交付;保证每个环节的输入、输出质量,减少不必要的返工,保证最终产出的质量,并向过程质量要效率。
3.领域驱动的架构和实现及云原生工程实践
这一实践解决的是“高效交付不等于持续高效”的问题。它由领域驱动的架构和实现、云原生工程实践两部分构成。
一是领域驱动的架构和实现。互联网正在向产业的纵深发展,技术面对的业务复杂性越来越高。深入理解、抽象和建立统一的领域模型,并基于领域模型设计和演进业务架构和技术实现,成为保障业务交付效率,尤其是长期效率的必由之路。领域驱动的架构和实现的核心实践包括:洞察和构建本质的领域模型,确定合理内聚的领域划分,设计清晰的领域边界和服务契约;以清晰和可保障的契约为导向,设计和实现各领域的服务;响应业务变化,持续演进领域的设计和实现,确保组织核心软件资产的长期质量和使用效率。
二是云原生工程实践。良好的工程实践,如持续集成、验证、交付和自动运维,是系统质量和工程效率的保障。云原生技术带来一系列新变化,尤其是更加一致和可操纵的基础设施,标准化的交付运维机制和工具,基础设施和业务开发、运行的关注点分离,这些都为研发效能提升提供了巨大契机。基于云原生技术构建的工程实践,让技术团队极致聚焦业务本身,并加速业务交付。云原生工程实践包括基于容器化、IaC(基础设施即代码)等的技术,建立一致、可调度和有韧性的不可变基础设施;建设持续交付和DevOps的工具链与工程能力,保证交付过程的标准和高效;构建和持续完善安全、可信的质量守护体系。
五、总结
数字化时代同时也是一个软件定义的时代,每个企业或多或少都会成为软件企业,软件的交付效能直接关系到企业的发展和创新。效能提升的目标是“持续地顺畅高质量交付有效价值”,我们将这一目标分解为“持续地”“顺畅高质量交付”和“有效价值”三个部分。
本文中的三个实践组合分别与之对应,“持续地”对应“领域驱动的架构和实现及云原生工程实践”;“顺畅高质量交付”对应“精益需求分析及全链路精益协作”;“有效价值”对应“动态投资组合管理和目标驱动的业务创新”。它们共同形成系统和可落地的实践体系,助力组织的研发效能提升,取得数字化时代业务创新的发展先机。
阿里云云研发资深技术专家 何勉
本文来源于网络,本着学习交流的目的进行转载,已标注原始作者和出处,如存在异议,请联系editor@xingongye.cn。如您对内容有疑问,请告之,以便我们及时处理。
暂无评论,等你抢沙发