研发支撑的新形态
变化 & 挑战
阿里巴巴端侧研发体系当前的发展阶段也处于比较完善的程度,站在这个起点上,我能感受到的是更多的挑战和机遇,面对的机遇是:新的理念和技术架构层出不穷,云原生、serverless、BaaS、FaaS等,研发支撑体系正在经历从上一代到下一代的蜕变过程,这个脱变需要有高技术、高产品、高商业思维的人才做强有力的支撑,从底层到架构到产品需要完成彻底的脱变,在这个过程,我们需要面对的挑战也将是巨大的:
如何在变革过程中找到适合自身发展的技术架构和产品思路
如何面对过去复杂的业务场景,在未来依然能够做好支撑
如何看待未来云上研发可能带来的技术和组织架构的变化
等等
在长期的探索和学习中,对于研发支撑的领域上,对于未来研发的新形态,提出架构设想。
研发模式的演进
对于研发模式的发展大约在20世纪50年代末便开始了,之后经历了数个阶段的演进和发展,形成了当前趋于完备的研发模式。
曾有美国学者菲利普•劳赛尔、卡马尔•萨德和塔玛拉•诶里克森将研发管理分为四个时代,而后的发展中,逐渐的演变为六个时代,这里不进行详细的描述,感兴趣的同学可以参阅《创新型企业研发支撑体系模式研究》这本书中的描述。
结合前人的知识沉淀,在我的理解上到目前为止,研发支撑领域的演进应该经历五个时代,并且当前正处在第四个时代和第五个时代的变革过程;当然随着社会的发展,未来可能还会有更多时代的到来。
▐ 第一代:感觉型研发
也有人称之为直觉型研发,在这个时代,并没有意识到"项目"的概念,是一种放任式的研发管理方式,这种时代的来临是由当时的发达国家具备的技术和资金储备充足,需要一部分高科技人才(科学家)独立的创新产品,提高自身的市场份额,对于研发的目标处于比较模糊的阶段,成功与否相信是由天定。
▐ 第二代:目标型研发
在这个时代,大约处于20世纪70年代左右时,企业之间的竞争非常激烈,项目管理的方法论也在这个时候逐渐形成,处于这个时代的背景下,目标导向的研发受到了很大程度的认同和追捧,开始认识到研发具有明显的"项目"属性,即一次性、周期性、目标性等特有的属性。
▐ 第三代:战略型研发
从目标型研发到战略型研发,是整个时代发展决定的,在这个时期(20世纪90年代)整个科技发展更加的快速,要求产品迭代的生命周期越来越短,一项刚引进的新技术可能在不久之后就要面临被淘汰的风险,那么如何在高层面、战略规划的指导下进行有目的、高效率的研发成为了这个时代迫切的需求。这个阶段企业的高层保持着紧密的合作、持续交流和推进,保证企业长期的发展。
▐ 第四代:创新型研发
进入21世纪后,至今企业之间的竞争更加的激烈化,如何为有效的创新和决策获得更适宜的环境,是我们一直在追求解决的问题,在这个过程中,创新如何被识别和概念化就变更尤为重要。
我们目前依然处于创新型研发模式的时代下,除了做好这个研发模式下创新创造外,我们要更多的思考下一个时代来临时我们要做好的准备。
▐ 第五代:云端型研发
这是一种新型的研发模式,当然也有人认为达到这个模式前,应该会经历知识共享的动态网络阶段,注重协助创新,构建动态网络,我将这个阶段直接融合定义为最终形态下的云端型研发模式,这种研发模式下,对于整个研发的形态会带来质的变化,将带来的是高度研发效率和极低的研发成本,同时会将企业创新的识别和迭代速度提高到一个前所未有的层面。
这种模式包含的两个比较明显的特征:一是所有的研发主体结构和要求变的异常简单;另一个是各个领域之间的共生网络形态逐渐形成,低成本下的知识共享体系也将趋于完善。
行业现状
我们目前处在创新型研发阶段,对于未来云端研发的模式还在不断的探索和尝试,但业界已经有相应的产品在层出不穷的涌现出来,比较典型的代表如低代码开发平台OutSystems获KKR和高盛3.6亿美元融资,类似的平台还有Google 的 App Maker、微软的 PowerApps、 Mendix,搭搭云和 AppSheet,都在致力于帮助企业或个人简单、快速的构建应用程序。这些平台的本质驱动依托云原生技术实现云端构建、云端编译、云端发布等一整套云端研发的流程,实现了低代码甚至0代码的研发成本,高效低投的完成了整个应用研发的生命周期。
高盛私人投资公司董事总经理 Christian Resch 表示:“我们认为低代码开发领域具有非常显著的市场潜力,大多数全球企业正在将其业务数字化,他们正在尽可能利用软件简化运营、建立新的分销渠道、改善客户体验,以及创造新的产品和服务。”
为什么行业对于研发模式的未来看法会有这样的变化?而云原生技术在这个变革过程中起到了什么作用?如何看待云原生驱动下的低代码研发模式?
这些问题都需要基于我们研发的现状来进行分析,在这之前需要先简单的了解几个目前探讨的最火热的几个词。
FaaS(Function as a Service):一些运行函数的平台,比如阿里云的函数计算、AWS的Lambda等。
BaaS(Backend as a Service):一些后端云服务,比如云数据库、对象存储、消息队列等。
Serverless:可以简单的理解为运行在FaaS上,使用了BaaS的函数。
云原生:以容器、微服务等技术为基础建立的一套云技术产品体系;云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等。
低代码平台:无需编码或通过少量代码就可以快速生成应用程序的工具或者平台;一方面可以降低企业应用开发人力成本;另一方面可以将原有数月甚至数年的开发时间成倍缩短,从而帮助企业实现降本增效的价值。
企业对于云端型研发具有强烈的渴望是因为当前的市场环境的激烈竞争导致,以往要求一个应用交付的生命周期可能在半年,但现在可能需要在3个月、甚至1个月、一周就需要完成整个应用的迭代。在这样的背景下,如果没有具备高效率的研发模式支撑,是根本无法做到的。
面对如此快速的迭代诉求,需要解决的是在人力有限情况下,最快速的完成交付,因此研发的投入越少,花费的时间也将也短,那么代码成本的缩减将是一个最重要的衡量标准,低代码的诉求由此便产生了;低代码的前提需要有底层面向云的架构和平台做强有力的支撑,必须要让整个研发的生命周期都在同一套环境中顺滑的完成,完全抛弃历史的包袱,去除本地研发的概念,缩减本地调试、开发、配置、接入等一系列的成本,实现云上编码、云上编译、云上调试、云上交付、云上运维一些列的云端操作,由此衍生出来的另一个变革便是整个研发架构将发生巨大的变化,一切都在云上时,技术栈之分将不复存在。
我们的现状
行业的愿景无疑是美好的,对于研发支撑云端型研发模式的时代是我们需要努力前行争取的。但在目前的研发现状和架构下,如何更好的找到适合自己的发展思路?面对复杂的业务场景,我们如何找到适合的架构去支撑过去和未来的业务?也是一个值得思考的问题。
目前我们面临的现状概括起来分为几点:
第一:新的技术架构成熟度
新的技术架构在研发领域的应用成熟度还不够,这套体系架构是否能适应目前复杂的业务场景是一个需要仔细评估和分析的问题。
第二:业务的成熟度
端侧的业务经过这几年的发展已经趋于成熟,业务之间的协作创新诉求达到了前所未有的制高点,他们期待通过统一的媒介共同创新、创造。
第三:研发心智的成熟度
研发的分栈一直以来都是存在的,这种思想已经根深蒂固,当实现云端研发后,也许技术栈之间的鸿沟将不再存在。
第四:组织的成熟度
长期的技术分栈已经形成了一套稳定的组织架构,而无门槛(低代码)的研发驱动模式带来的必定是组织架构的巨大的变革,开发人员、项目管理人员将会更大程度的收敛,这个变革距离我们还有很长的路要走。
第五:平台发展的成熟度
按照平台的迭代和现有的架构情况,要支撑完全的低代码模式,其底层云技术的改造成本和改造过程中的风险是难以估计的;平台研发的技术人员所具备的专业技能和架构能力也需要时间不断去培养。
新形态架构设想
结合行业内外的整个现状分析,我们在端侧的研发领域上做了很多的创新和尝试,基于现有的架构体系,抽象出两个命题来诠释未来研发支撑体系架构的新形态。
▐ 协作创新下的共生网络
其实早在20世纪90年代初共生网络的研究在国外从概念到实例展开了一系列的探讨,在研发支撑领域比较有代表性的是第五代研发管理思想代表人物Debra M. Amidon Rogers在1996年发表的《The Challenge of Fifth Generation R&D: Virtual Learning》中提出了共生网络概念,对于研发管理的概念、框架、做法做了深入的剖析。
这个命题的抽象,是为了解决现在业务高度成熟情况下,各个主体之间知识共享问题,需要让整个研发体系作为一个中间介质,承载各个主体之间的知识体系,以知识为基础,以共同的基础设施为媒介(平台),将智力资产通过这个媒介(平台)创造和运用新的思想达到互利共赢,最终形成整个研发生态。
和以往最大的不同在于:共生网络关注的是主体之间的利益和最终的收益,针对主体一定是具有高度自定义的支撑,让创新思想在知识共享下最大化。
如上图所示的整个新的研发模式形态,在云原生驱动下,形成各个共生领域,最终驱动上层实现云端型研发模式落地,最终完成整个研发运维全链路闭环,如下图所示:
云上闭环一旦形成,所带来的助力是颠覆性的,甚至会推动整个组织结构发生变化,前端、后端、客户端之分将不在存在;同时整个研发效率、交付效率、运维效率都将从原来的人肉决策阶段进入到自动化、智能化阶段。
▐ 云原生驱动下的低代码研发
基于技术和架构的成熟度,这里的云原生驱动在第一阶段的依然会停留在整个服务领域的拆分和整合上,而且很长的一段时间都将在做这部分工作,第二阶段才是构建真正的云原生体系,基于BaaS+FaaS理念形成整个Serverless体系。
分阶段演进
目前整个端侧研发体系依然集中在创新型研发模式下,我们已经往研发生态的构建迈出了艰难的第一步:插件生态建设,在保持高效交付的前提下,完全开放插件生态,提供完全自定义、可扩展、低耦合的插件化体系。
我们定义端侧研发的整个演进过程将按照下面的节奏不断的推动:
第一:开始插件生态的打造,实现自定义的流水,通过低耦合的方式更高程度的释放人力成本。
第二:借助自定义流水能力,以高效交付为目标逐步构建共生网络。
第三:边界扩宽,在高效低投的模式下,以协作创新为驱动力,全面共创研发生态,全面建设工具、共生领域。
第四:与三同时进行的还将是整个底层服务的改造,在云原生的驱动下,将整个底层服务抽象成serverless形态,最终驱动上层low code or zero code研发模式,实现一云多端,云上研发。
目前整个插件生态的体系建设已经趋于完善,当然我们也还在持续的探索和优化中。
目前集团整个端侧研发模式的演进中,我们在持续的探索,目前完成了整个工具链的插件化的改造,实现了完全自定义流程的构建支撑,同时对于整个体系内流程自动化的调度设计了一套完整的机器人机制,为整个高效交付做强有力的保障。
欢迎有想法的同学一起沟通交流,共创完善的研发生态,欢迎简历发送至:libin.qlb@alibaba-inc.com
更多关于端侧研发构建域技术体系深入解读、技术驱动插件生态、共生网络建设、热修复专题探讨、壳工程防护、全新的自动化体系建设等技术专题分享将持续更新哦~关于研发支撑和研发效能你还想了解啥?欢迎评论区留言给橙子哦
参考:
《组织设计的主动性与合作性对企业知识共享行为的影响分析》夏若江
《组织设计对知识共享的影响研究》张长征 蒋晓荣 徐海波
《创新型企业研发支撑体系模式研究》沈志渔 肖红军 赵剑波 王欣等
《The Challenge of Fifth Generation R&D》Debra M. Amidon Rogers
《国内外产业共生网络研究比较述评》赵秋叶, 施晓清, 石磊
✿ 拓展阅读
编辑|橙子君
出品|阿里巴巴新零售淘系技术