互联网唯一的不变就是变化,一场突如其来的疫情让许多行业陷入了停摆的窘境。京东零售研发体系并没有被这一现实困难打倒, 2019年底启动了B-PaaS平台建设这一战略性项目。核心是使用平台化的技术思维和技术手段,梳理、识别、沉淀、复用京东核心业务能力,通过搭建清晰易懂的业务领域模型,提供扩展点支持前台灵活定制业务,适应瞬息万变的市场环境。
在B-PaaS平台建设初期,京东零售启动了多个B-PaaS平台试点建设项目,在2个月的奋战之后,经过项目组评审,库存域-供应库存子域、交易域-B购物车子域、财务域-商家账户子域三个试点项目脱颖而出,成为优秀试点案例。他们都在业务建模、技术创新、效能提升等方面有着突出表现,将为京东零售下一步B-PaaS平台建设树立新标杆。
特殊时期的在线试点项目评审
京东零售推行B-PaaS平台建设,核心是通过业务建模的梳理,让产品和研发能够以业务方的视角重新审视技术系统,用多方统一的业务语言而非技术语言进行系统能力的沟通和描述,重新抽象业务的内在逻辑,区分稳定和易变的地方,将稳定的地方积累起来,易变的地方抽象出来成为扩展点。
京东零售肖飞作为深度参与B-PaaS平台建设的核心架构师之一,他表示:“这对研发体系和业务方来说一种双赢。对研发来说,把易变的地方抽离为扩展点非常符合开闭原则。扩展点的机制也在一定程度上将业务的快速变化隔离在具体的实现中,使其不至于影响到内核的稳定;其技术性要求也迫使研发人员把系统设计得更加模块化,真正做到可插拔。在合理设计的前提下,原则上也会让测试和部署更灵活和轻量,可以只重点针对发生变化的插件。”
京东零售架构师林世洪也表达了类似的观点,他表示:“任何事情的价值都需要从外部来衡量。需要注意的是一定不能只从单个角色衡量这件事情,单一角色有很多办法可以降本增效,某些办法甚至可能比PaaS化价值体现更快,从而怀疑PaaS化的价值,需要从高层和组织角度来看PaaS化带来的长期的、整体的价值。从业务方角度来看,核心价值是需求交付效率的提升;从组织角度看:核心价值是协同效率的提升,可以重塑协同关系,是革命性的;从中台部门管理来看,核心价值是效率提升重塑成本;从高层来看,这是为提供技术服务打基础。”
PaaS化工作在本质上做的是前中台分离的事情,解决的是前中台分工合作的协同问题,让离业务更近的前台产研快速而灵活地支持业务发展,让中台团队不断沉淀中台能力,赋能更多前台业务。
B-PaaS平台建设除了会提升京东内部研发、业务联动效率之外,在未来建设完善之后,还可以允许第三方ISV来开发集成,高效赋能。
B-PaaS平台建设通过进一步的业务建模和技术升级,让前台能够高效的静默集成中台能力,改变了前中台线性开发模式,让个性化需求可以更灵活、更快速地被满足。
参与该项目的京东零售架构师柴春燕表示:“ PaaS化改造是手段不是目的,通过改造,提供业务快速创新和试错平台,缩短业务交付周期。同时打破现有部门壁垒,从顶层视角进行全局规划,沉淀业务和技术资产。我们先进行顶层设计再逐层分解落地;通过领域建模指导PaaS化落地,有利于业务资产沉淀。PaaS化改造也从传统的研发主导模式转变到产品和研发共同推进,从业务视角解决问题”
三个优秀试点项目都有着突出表现。
库存域-供应库存子域项目团队
库存域-供应库存子域项目原来有着逻辑复杂,代码冗余量大,交付周期长的痛点。在经过统一语言、业务建模、工程结构改造、PaaS化改造、测试、上线切量等一系列流程后,顺利完成了一期试点改造,研发效率全面提升。对于拟接入的新需求,有部分可以直接满足,其余的均可以通过扩展点更快速的满足。
交易域-B购物车子域项目团队
交易域-B购物车子域项目则是经过技术改造之后,通过使用领域建模+扩展点,让研发测试交付周期直接降低了50%,对B端用户业务支持更加灵活。
财务域-商家账户子域项目团队
财务域-商家账户子域项目旨在重点解决入驻商家差异大、业务玩法多、资金账户多样化的问题。在改造之后,可以应对多种业务不同场景需求,根据校验规则可以灵活扩展,新业务接入提速60%。
这些试点案例的成功实施,将让京东B-PaaS平台建设有了可供参考的标杆案例,让更多的研发团队可以快速借鉴成功经验,复制已经被验证的PaaS化改造流程,进一步让平台建设提速。
思维转变从需求支持到平台建设
B-PaaS平台是一个长期的过程,除了技术上的改造之外,也要重视思维模式的转变。
参与该项目的主要业务架构师之一崔俊豪表示:“ B-PaaS平台服务前台业务和前台研发的平台化属性,决定了我们的业务架构师和技术架构师需要进行思维和心智的转变,从之前需求支持性思维转变为平台建设和平台运营思维,能够站在业务方和行业的角度让业务建模更清晰易懂,同时不断积累沉淀。”
京东零售架构师潘新宇认为:“ 我们需要有一个新的战略视角,鸟瞰当前的业务能力。其次是强调主动思考进行业务的沉淀,提供一整套机制让需求方参与进来,提升效能。”
B-PaaS平台建设也是一个巨大的综合项目,需要统一协调京东零售数十个核心研发团队,让各个团队都明晰自己的项目目标,对齐平台建设进度,参与建设的项目经理也付出了巨大的努力。
项目经理郑楠介绍说,如果按照以往传统的项目管理模式,需要等PaaS化方案完全清晰,各个团队都掌握PaaS化能力再进行实施,项目周期就会严重拖延,难以在规定时间内完成建设。有鉴于此,项目组提出以试点迭代优化的方式逐渐演进,即一边明确PaaS化技术路线,一边让一部分研发团队快速实践摸索,然后结合实践经验与技术方案,逐步优化。
正是基于这样的考虑,优先选择了一批试点项目进行改造,验证了技术可行性,并从中选取了优秀标杆项目向所有研发团队推广,提升了B-PaaS平台建设效率。
未来京东零售将逐步推进B-PaaS平台建设,通过一系列项目里程碑节点来整体把控项目进度,进一步提升研发效率,为业务方提供更高效的支持,更迅速的满足电商市场快速变化带来的新需求。
库存域-供应库存子域项目林世洪
如何顺利完成PaaS改造。我们首先需要重视PaaS模型的业务可理解性,没有比这个更重要的,这也是研发驱动的工作最难做到的。如果做不好这件事,PaaS化将退化为系统分层架构升级,效果将大打折扣。其次是人才培养,人的思维转变了,方法和工具掌握了,再了解业务,就可以持续推进下去。然后就是模型的质量,前中台分离的设计是否合理,是否能抽象出稳定的模型,分离出支持个性的扩展点。最后就是流程、机制上的转变。
在进行PaaS改造中顶层设计很重要。因为有许多新的方法,需要标杆案例,好的衡量指标有非常好的驱动作用。产品经理应该深度参与,如果有业务方直接参与,效果会更好。PaaS化需要思维转变,而思维的转变需要持续强化才能成达成。
交易域-B购物车子域项目潘新宇
今年PaaS改造在顶层设计上做了更进一步的提升,概念和思路更加清晰。同时,顶层设计的培训和分享也有很大的提升。我们需要特别关注PaaS化中的扩展点的精确梳理。需要通过历史需求去推导哪些业务点可以成为扩展点,再通过未来需求验证抽离出来的扩展点是否合理。而不是采用拍脑袋去确定扩展点。
PaaS化是对传统需求运作机制的一次理念升级,需要所有参与人对于理念认知达成一致,才能高保真的落地。所以,PaaS化中特别要注意对于人才的培养,多进行分享、沙龙等活动。
财务域-商家账户子域项目柴春燕
通过领域建模指导PaaS化落地,有利于业务资产沉淀。我们要重视建模方法论的宣贯、分享。扩展点的抽象和定义是否使用业务语言描述?是否方便业务和产品理解?这两点也需要重点关注。
其次我们要重视与实际业务场景相结合,避免过度设计;预先定义PaaS化落地流程和各阶段输出物。
最后,PaaS化让研发单元测试更容易,业务包的隔离提升了测试效率,减少了回归次数。