复杂业务场景 SOP 化的提效之路
如果无法正常显示,请先停止浏览器的去广告插件。
1. 复杂业务场景SOP的提效之路
吕翔
阿里巴巴 高级技术专家
2. • Content Title 2
• Content Title 3
• Content Title 4
• Content Title 5
• Content Title 6
3. • 复杂业务场景的研发效能分析和解法
• 开发组件抽象:运行时环境标准化
• 协同优化:研发流程标准化
• 实战案例
• 总结与展望
4. 研发效能之殇
当我们谈论研发效能的时候,我们到底在谈论什么
1
个人研发效能 和 团队研发效能 不是一回事
项目人员数量
人均需求吞吐量
个人研发效能受到开发工具和环境的制约,且难以量化
2
汇编
高级语言
开发人员实际编码时间占比 14.7%
?
了
哪
去
都
间
时
组件复用
适当的环境和工具给研发效能带来的提升是巨大的
3
阿里集团视⻆的研发效能数据
每年都在提升研发效能,但研发团队总是缺人,如何衡量人效
单次变更中非开发时间占比 83.4%
*统计数据来自新零售事业群研发人员调研
5. 时间都去哪了:以 1688 商品详情为例
现货批发
分销代发
加工定制
工业品
6. 时间都去哪了:以 1688 商品详情为例
客户端
业务服务端
你是否遇到过这样的对话?
基础服务端
7. 时间都去哪了:以 1688 商品详情为例
5
多端适配重开发
1
接口定义口口相传
2
业务服务端
客户端
组件开发
搭建平台
接口依赖串行开发
6
4
基础服务端
环境抢占部署慢
平台众多不互通
7
架构封闭难扩展
投放平台
客户端
项目PM
业务服务端
基础服务端
3
多线开发进度乱
8. 问题拆解:研发SOP
安卓
IOS
前端
View
协同效率低下
信息传递困难、失真、串行依赖
研发流程
标准化
平台众多不互通
多线开发进度乱
无线服务端团队
ViewModel
非业务性开发阻塞
SOP
架构封闭难扩展
基础业务开发团队
DomainModel
环境抢占部署慢
多端适配和重复开发
应用架构
标准化
9. • 复杂业务场景的研发效能分析和解法
• 开发组件抽象:应用架构标准化
• 协同优化:研发流程标准化
• 实战案例
• 总结与展望
10. 研发组件抽象:应用架构标准化
领域层
低侵入采集元数据
元数据中心和
服务市场
胶水层 搭投层 视图层
FaaS 逻辑编排 ⻚面搭建
配置投放 UI & 交互
多端组件
云原生
业务工程脚手架 平台统一
组件生产 端容器
11. 领域层:轻量级领域模型元数据采集
会员 元数据中心 开发者工具
商品 模型库 领域模型文档
订单 方法库 IDE 插件
店铺 服务市场 工程脚手架
Maven Plugin “充血模型” Schema 元数据SDK
多场景支持
JAVA应用
FaaS函数
业务服务编排
12. 领域层:轻量级领域模型元数据采集
会员 元数据中心 开发者工具
商品 模型库 领域模型文档
订单 方法库 IDE 插件
店铺 服务市场 工程脚手架
Maven Plugin “充血模型” Schema 元数据SDK
多场景支持
JAVA应用
FaaS函数
业务服务编排
13. 领域层:轻量级领域模型元数据采集
会员 元数据中心 开发者工具
商品 模型库 领域模型文档
订单 方法库 IDE 插件
店铺 服务市场 工程脚手架
Maven Plugin “充血模型” Schema 元数据SDK
多场景支持
JAVA应用
FaaS函数
业务服务编排
14. 领域层:轻量级领域模型元数据采集
会员 元数据中心 开发者工具
商品 模型库 领域模型文档
订单 方法库 IDE 插件
店铺 服务市场 工程脚手架
Maven Plugin “充血模型” Schema 元数据SDK
多场景支持
JAVA应用
FaaS函数
业务服务编排
15. 研发组件抽象:应用架构标准化
领域层
低侵入采集
元数据中心和
服务市场
胶水层 搭投层 视图层
FaaS 逻辑编排 ⻚面搭建
配置投放 UI & 交互
多端组件
云原生
业务工程脚手架 平台统一
组件生产 端容器
16. 胶水层:基于Serverless的业务逻辑编排
业务逻辑编排
WEB IDE
CI/CD流程管控
基于动态类加载的热备份集群
定制Java工程脚手架
领域模型SDK
富容器
秒级部署
仅关注业务
解决环境依赖和冲突
编程语言中立
元数据中心
轻量级容器 + Sidecar
容器管理和调度
外部依赖
17. Serverless + 领域模型:可扩展的业务架构
模型和接口定义
接口实现
扩展点1
函数1
扩展点2
函数2
函数3
扩展点3
函数3
可由第三方定制的扩展函数
18. 研发组件抽象:应用架构标准化
领域层
低侵入采集
元数据中心和
服务市场
胶水层 搭投层 视图层
FaaS 逻辑编排 ⻚面搭建
配置投放 UI & 交互
多端组件
云原生
业务工程脚手架 平台统一
组件生产 端容器
19. 搭投层:打通领域层与视图层
产品级场景搭建
路由
领域数据源
⻚面组
选中
⻚面
映射脚本
组件
⻚面1 LowCode可视化生产 ⻚面路由
⻚面2 多端同步构建 UI映射
服务市场
领域模型
小程序 Native 组件过滤 ⻚面组 组件池 FaaS函数 领域数据源
⻚面 视图层 胶水层 领域层
···
⻚面 + 组件 + 数据源
构成一个复杂业务场景
View Model
Domain
Model
H5
20. 研发组件抽象:应用架构标准化
领域层
低侵入采集
元数据中心和
服务市场
胶水层 搭投层 视图层
FaaS 逻辑编排 ⻚面搭建
配置投放 UI & 交互
多端组件
云原生
业务工程脚手架 平台统一
组件生产 端容器
21. 视图层:标准容器 & 协议
多端业务场景
动态Native组件
Native
H5
支持标准协议的渲染容器
插件中心
事件中心
统一埋点
调度中心
资源中心
交互中心
数据中心
JS引擎
服务网关
数据服务
搭建服务
基础业务服务
• 标准服务接口
• 支持标准协议和多种渲染模式
• 服务端统一下发数据和协议
• 支持跨栈编写组件,支持低代码
生成组件
22. 研发组件抽象:应用架构标准化
领域层
低侵入采集
胶水层 搭投层 视图层
FaaS 逻辑编排 ⻚面搭建
配置投放 UI & 交互
多端组件
平台统一
组件生产 端容器
松耦合、可替换、可组合
元数据中心和
服务市场
云原生
业务工程脚手架
23. • 复杂业务场景的研发效能分析和解法
• 开发组件抽象:应用架构标准化
• 协同优化:研发流程标准化
• 实战案例
• 总结与展望
24. 问题拆解:以 1688 商品详情为例
安卓
IOS
前端
View
协同效率低下
信息传递困难、失真、串行依赖
研发流程
标准化
平台众多不互通
多线开发进度乱
无线服务端团队
ViewModel
非业务性开发阻塞
SOP
架构封闭难扩展
基础业务开发团队
DomainModel
环境抢占部署慢
多端适配和重复开发
应用架构
标准化
25. 协同优化:研发流程标准化
云端一体研发工作台
全流程研发
一站式开发
复合迭代管理
一站式需求管理
零配置 文档化协同
开箱即用 基于元数据的文档
式协同
26. 云端一体:全流程研发&复合迭代管理
云端一体化研发工作台
研发项:管理具体且独立的模块,多种类型、一种表达
平台A
平台B
平台C
平台D
客户端组件
前端组件
研发工程:管理面向需求交付视⻆的一组研发项
组件研发项
创建
统一 迭代
研发项 调试
函数服务
部署
发布
投放资源位
能力对接
收拢多端研发平台,云端代码一站式开发
研发工程
函数研发项
首⻚
banner展位
业务
需求
资源位研发项
创建
组合
函数子迭代
交
付
复合迭代
组件子迭代
配置创建
进度追踪
集成部署
以需求交付视⻆,云端迭代一站式管理
27. 零配置:工程模板化
自动生成配置项,并完成关联
投放资源位
组件
关联
工程模板
脚手架
Setting.xml
Setting.json
初始化
组件 setting.json
函数服务 setting.xml
投放资源位
格式?
规范?
关联
函数服务
可复用、可沉淀
CODING
学习成本
手动创建的工程 — 需要通过配置来将各个研发项关联起来 模板创建的工程 — 初始化时自动完成配置关联
⻓此以往,形成大量约定俗成的黑盒配置 开箱即用,消除研发流程中的“隐形成本”
28. 文档化协同:模型驱动的协作方式
测试流量采集自动分类
领域服务
MOCK数据
ViewModel
接口样例
组件
函数服务
DomainModel
结构定义
文档说明
代码注释扫描自动生成
29. 前后对比
研发项系统
集
成
多
个
研
发
平
台
函数服务
端组件
投放资源位
实
现
单
平
台
一
站
式
研
发
模型驱动的协作方式
研发工程系统
工
程
模
板
函数
初始化
自动关联
组件
零配置,开箱即用
ViewModel
代码扫描 DomainModel
随时
查阅
研发人员
协作联调
工程配置
创建/初始化
流量采样
复合迭代管理
工程迭代
子迭代
子迭代
进度同步&汇总
交付进度追踪
项目生命周期
多个研发平台分散式开发
需要手动编写多份“黑盒”配置
前端研发平台
客户端研发平台
…
项目PM
反复沟通
Setting.json
关联声明
需要项目pm人肉跟进
后端开发
组件
函数研发平台
“口口相传”的联调模式
函数服务
前端开发
研发A
研发B
…
30. • 复杂业务场景的研发效能分析和解法
• 协同优化:研发流程标准化
• 开发组件抽象:应用架构标准化
• 实战案例
• 总结与展望
31. 实战案例
前端
新建迭代
发布
Native组件
H5组件
开发
联调
客户端
⻚面发布
资源位
基础服务端
FaaS函数
脚本开发
组件开发
配置同步
业务服务端
服务样例
函数发布
应用变更
应用开发
模型元数据
业务模型变更
组件发布
领域模型变更
应用发布
32. 实战案例
前端
新建迭代
发布
DX组件
RAX组件
开发
联调
客户端
⻚面发布
业务服务端
资源位
基础服务端
FaaS函数
脚本开发
组件开发
配置同步
80%的工作量可外包开发
工业品、加工定制由对应业务团队开发
服务样例
组件发布
应用变更
应用开发
模型元数据
业务模型变更
函数发布
领域模型变更
应用发布
33. 实战案例
前端
新建迭代
联调
发布
资源位
DX组件
RAX组件
开发
业务服务端
客户端
⻚面发布
FaaS函数
基础业务架构可扩展
脚本开发
可由第三方进入自主开发
组件开发
配置同步
基础服务端
服务样例
组件发布
应用开发
模型元数据
业务模型变更
函数发布
应用变更
领域模型变更
应用发布
34. 实战案例
变更发布频次
提升 300%
需求开发周期
缩短25%
投入人员数量
下降 50%
开发者幸福感
???
35. • 复杂业务场景的研发效能分析和解法
• 协同优化:研发流程标准化
• 开发组件抽象:应用架构标准化
• 实战案例
• 总结与展望
36. 总结与展望
•
•
方案:研发流程的标准化、应用架构的标准化、业务开发“外包化”
原则:灵活性、开放性、低侵入、松耦合
跨栈融合
全栈开发
领域设计
微服务 -> Serverless 中台战略 ->
业务团队自闭环
更强大的Serverless 业务能力中心
37. 欢迎交流
微信:lx496906781
邮箱:lvxiang.lx@alibaba-inc.com
38.
39.