复杂业务场景 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.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-24 03:37
浙ICP备14020137号-1 $Map of visitor$