泰然城 付银海 - 领域驱动组织治理

真实的实践案例 创业公司的坑 如何引入领域设计支付结算方式

1. 付银海
2. 我们是谁 付银海,泰然城CTO 17年软件研发从业经历的技术专家,有专业的研发团队组建和 管理能力、技术设计和实现能力 历任: • 元宝铺CTO,负责技术团队管理,主持技术研发、体系和 品质管控等工作 • ORACLE(甲骨文)上海研发中心首席工程师 • C3 ENERGY中国研发中心研发总监 • 阿里巴巴B2B平台技术部架构师 • Perficient.com研发中心技术经理
3. 团队的基因 技术驱动 VS 业务驱动
4. Agenda
5. 创业公司的成长样本 公司初创 团队小、产品聚焦 沟通顺畅、士气高涨、效率高 开发经理 开发A 创始人 产品经理 产 品 运维 开发B 测试
6. 创业公司的成长样本 成长中 团队壮大、出现多个产品、划分职能 部门 创始人无法掌控团队、沟通成 本高企 产品经理B 开发…… 测试B 产 品2 研发……组 产品中心 运维 CEO 产品经理A 研发中心 研发A组 研发经理 开发A 产 品1 开发组长A 开发B 测试A
7. 创业公司的成长样本 日渐丰盈 公司成规模、有多条产品线、每个人 的权责划分更细化 产品总监 运维总监 不断的招人,但工期总是延误, 上线质量一直得不到保障,每 个人都在忙,但就是看不到产 出 运维…… 产 品… … 产品经理B 开发…… 技术经理…… 测试…… 项目经理…… 项目……组 产品线……部门 产品中心 CEO 研发中心 测试总监 技术总监 产品经理A 产品线A部门 产 产 品2 品1 项目A-1组 项目A-N组 技术经理A 项目经理A 运维A 开发A 开发…… 测试A
8. 创业公司的成长样本 问题汇总 沟通:当面交流 -> 逐层传递 业务:简单聚焦 -> 复杂多样 运作:牛人驱动 -> 团队协作 1. 业务无法堆叠 需求无法迭代,新业务有时需要推翻已有的体系 需求经常变,开发人员怨声载道 2. 系统边界混乱 新上一个需求,感觉放哪个团队都不合适 出了一个Bug,找不到真正负责的团队 加班加得热火朝天,但就是不出成果 3. 信息传递失真 产品向东,开发向西,沟通困难 领导不知道员工在做什么,员工不知道公司想要什么 4. 团队边界模糊 团队间功能重复开发,多头维护 团队不做分层,技术导向做业务,业务导向做技术 5. 跨组协作困难 推新需求,尤其是跨部门的需求时困难重重 各产品间用户体验/UI交互自成体系,用户学习使用成本高
9. • 继续野蛮成长 ——以侥幸的心态管理公司,运气总有用完的时候 • 请到管理大牛 ——业务领域内合适的人太少花费不少 ——容易水土不服 • 渐进优化改良 ——以点盖面,缺乏大局观,很难治根 • 极端推倒重来 ——业务不能停,招人要控制成本,怎么破? 传统的解决方案
10. 需求语言不统一,业务/技术术语 解读千人千面,沟通成本居高不下 产品 开发 项目组 追根溯源 分析问题的本质 产品 开发 项目组 产品边界定义模糊, 需求重复开发 缺乏统一的架构,部门间各自 为政,一个部门一套技术体系 项目间交叉依赖,责任相互推诿
11. 边界 产品需求边界的定义不清晰 问题的核心 追根溯源 分析问题的本质 统一 业务、产品、技术、客服 之间的描述语言不统一 分层 技术服务没有抽象, 没做分层
12. Agenda
13. 什么是领域驱动设计(DDD) 主流观点 以一种领域专家、设计人员、开发人员都能理 解的通用语言作为相互交流的工具,在交流的 过程中发现领域概念,然后将这些概念设计成 一个领域模型,由领域模型驱动软件设计,用 代码来实现该领域模型。(摘自网络)
14. 领域驱动设计流程 产品 沟通 参考 业务专家 产出 PRD 参考 产出 领域白 皮书 宣贯 测试 了解 领域白 皮书 沟通 参考 数据架构 参考 产出 数据脚 本 宣贯 客服 沟通 参考 开发 产出 代码
15. 领域驱动设计的泛化 以领域为纲,结合组织架构,划分业务, 确定项目边界及依赖,渐进式迭代开发 以领域为纲,横向业务拆分及纵向技 术分层,形成基础平台、核心业务、 创新业务等粗粒度的组织架构 以DDD为纲,梳理公 司业务,确定领域划 分及模块设计、统一 沟通语言 主流 DDD, 聚焦软 件设计
16. 合理划分业务领域,确 定各产品的边界 领域驱 动设计 化繁为简,对 开发更友好 使用统一的模型语 言描述需求/问题 聚焦核心领域,弱 化边缘业务 分层设计 :支持、公共、业务领域
17. Agenda
18. 2010~2012 C3 IoT
19. 2010~2012 C3 IoT
20. 2010~2012 C3 IoT-技术 Dev IDE UI Driver Tenant DSL Meta Engine Customized Domain Standard Domain Customized ORM Oracle MySQL Cassandra ……
21. 2010~2012 C3 IoT-组织 IDE UI Engine Pella Microsoft APP Architect APP Architect GE IBM P&G 10Years+ Customized Domain (Tenant) …… Engineer Standard Domain Foundation Security Energy Application Container Runtime Engine/Service Meta/DSL ORM Storage Emission …… MIT Yale 20Years+ PHD Platform Test China US Domain Coach Data Modeling Architect
22. 2010~2012 C3 IoT-反思 Pros: • 高度标准化 • 经典的DDD+MDA • 大平台,可扩展,可定制 Cons: • 开发周期太长 • 团队要求极高 • 企业战略要求高
23. 2015~2016 腾讯B轮的科技金融公司 – 技术
24. 2017~至今 泰然集团 – 技术
25. 让信任创造价值 为社会创造品质生活 THANK YOU