这是一部汇聚和浓缩了淘宝近20年软件交付方法与经验的著作,由阿里巴巴集团大淘宝技术部历时36个月撰写而成,得到了阿里巴巴合伙人程立(鲁肃)的高度评价。
这本书围绕软件价值交付的全生命周期展开,完整讲解了淘宝高效交付的体系化建设,从目标确定到需求拆分,从高效开发的技术架构、研发流程到工具平台建设,再到完善的全链路质量保障和用户体验保障实践,最后用横向的项目管理串联起全链路交付的每个环节,实现价值的高效流动。
全书具体内容从以下8个维度展开:
(1)目标与需求管理:淘宝的战略目标管理、项目
目标管理以及不同类型的需求管理流程。
(2)高效开发:确保淘宝内部的软件开发工作能够
高效进行的各种技术架构。
(3)高效质量保障:在业务和系统飞速演进的过程
中,如何从手工测试到自动化平台工具,不断寻求更高效、更全面的质量保障方案。
(4) 用户体验保障:在面对庞大的用户群体时,在
“千人千面”的推荐、直播、视频等新的电商内容化业务形态下,如何度量用户体验、快速感知并解决用户需求,从而持续提升淘宝的质量水准。
(5)集成发布:淘宝客户端集成发布的演进历史、
优化策略和操作实践。
(6)线上保障:结合团队多年的探索和尝试,讲解
了监控、快速恢复和攻防演练等的有效手段。
(7) 淘宝交付项目管理实践:通过重大战役项目、
“双11”项目、用户增长项目、创新业务项目等方面的实际案例讲解了淘宝的项目管理体系。
(8)软件交付的未来:总结了淘宝对一些前瞻问题
的思考,比如如何以智能化的手段和云原生技术来提升研发与交付的质量和效率。
(1)淘宝官方出品:淘宝近20年软件交付方法与经验沉淀,36个月匠心写作。
(2)8个维度总结:围绕价值交付的全生命周期,系统总结淘宝实现持续、快速、高质交付的方法论和实践经验。
(3)阿里集团推荐:阿里巴巴合伙人程立(鲁肃)、大淘宝技术CTO余刚(若海)高度评价并推荐。
在激烈竞争、快速发展的互联网时代,产品创新和交付面临着越来越多的挑战。淘宝天猫作为电商行业直接触达消费者日常生活的一款重要产品,它的每一次发展、每一次新功能的升级,都将直接影响数亿消费者的体验。阿里巴巴集团大淘宝技术部这支强大的研发团队是淘宝、天猫的技术支柱,面对不同时期的挑战,已沉淀出一套基于价值、持续高效交付的方法论和实践经验,这也是本书将要为大家介绍的内容。
我们的团队
大淘宝技术部作为支撑整个淘宝天猫业务的核心团队,为了实现持续、快速、高质交付,在团队架构设计上,除了建立纵向的多个垂直的业务团队之外,还建立了横向拉通的技术质量部,以保障和控制所有产品的质量与风险。另外还设立了项目管理部(Project Management Office,PMO),通过高效的协同机制、研发模式、流程体系,拉通多角色,保证组织目标顺利达成。大淘宝技术部这样的组织设计,一方面可以更好地支持各种业务,另一方面技术团队彼此之间也能进行更紧密的协作,共同建设平台、中台,让技术架构继续演进,从而提升交付效率。
此外,大淘宝技术部不用重复造轮子,有专门的中台团队支持对应的集团战略、核心交易链路、基础服务等。当然,中台战略是优点也是挑战:一方面,业务单元(Business Unit,BU)只需要基于中台与阿里云团队的服务来开发调用,便能专注于业务需求,快速响应变化;但另一方面,各种大型项目都需要与多个BU一起密切合作,才能串起全链路交付,这一点又非常考验沟通协同能力。
我们面临的挑战
快速的变化
淘宝天猫是电商行业的领头羊,但行业内的竞争愈演愈烈,消费者的需求也变化很快。
另外,大项目也多。从早期一年一度的双11大促,逐渐演化出38、618、双11、双12、年货节、春晚等多个大项目。每一次活动都是一个复杂多变的业务项目,变化随时都会发生。
IT技术更新升级也很快。无线设备不断升级换代,机器性能一直在提升,网络也在升级,AR、VR、机器学习等新技术层出不穷。
体验要求高
在阿里巴巴,“客户第一”不仅是员工的首要价值观,还是对产品的最重要的要求。随着业务场景越来越丰富以及用户越来越多,用户体验也面临着越来越严峻的挑战。一个需求可能需要考虑大量的机型适配,任何小的Bug放到手机淘宝上都会被放大并影响数十万人,所以维护良好的用户体验是当前我们所面临的最大
挑战。
复杂的协作模式
淘宝天猫虽然只是一个产品,但是整个交付过程涉及阿里巴巴几十个BU的协作。不同团队承担着不同的使命,每一个BU的每一次改动都有可能影响到淘宝前台产品。有时候看上去很细微的一个变化,最终可能会变成一个很复杂的项目,需要集团经济体、多个BU联动,整体项目的协同成本相当高。
我们的交付
在不断追求高效交付的道路上,面对快速变化的市场和产品、高标准的用户体验、大规模团队协作等众多挑战,淘宝天猫进行了组织架构变革,并不断升级技术体系、质量保障体系,推动淘宝交付体系不断演进。
本书将贯穿价值交付的全生命周期来讲解淘宝高效交付的体系化建设,从目标确定到需求拆分,从高效开发的技术架构、研发流程到工具平台建设,再到完善的全链路质量保障和用户体验保障实践,最后用横向的项目管理串起全链路交付的整个环节,实现价值高效流动。
本书共8章,主要内容如下。
第1章 目标与需求管理
对于组织来说,任何产品的交付目标都是为客户创造价值。要做到高效交付,绝不能只关注产品功能开发,更重要的是想清楚为什么要做这件事,也就是“做正确的事”,即重点关注目标和方向。本章将阐述淘宝的战略目标管理,以及不同类型的需求管理流程。
第2章 高效开发
手机淘宝经过十多年从容器到框架,再到上层业务协议的发展,通过容器化、拆分Bundle将客户端化整为零,让容器变得更轻量;通过Weex(大淘宝移动端跨平台研发方案)、小程序的方式,让研发团队只需要编写DSL就可以完成移动跨端的开发;通过服务端与客户端约定协议,让研发效率得到显著提升。本章将阐述手机淘宝的高效开发之道。
第3章 高效质量保障
交付高质量的产品是我们的重要使命,所以我们需要建立快速、有效的质量保障,这样才能支撑起业务的高速发展。随着业务变迁和系统复杂度的增加,质量保障的难度也在不断增加,而效率却在不断降低。本章将介绍大淘宝技术部在业务和系统飞速演进的过程中,如何从手工测试到自动化平台工具,不断寻求更高效、更全面的保障方案。
第4章 用户体验保障
除了业务功能的实现,如何让用户在不同性能的手机上都能有顺畅的体验,是每位技术人员都要思考的问题。本章将阐述在面对庞大的用户群体时,在“千人千面”的推荐、直播、视频等新的电商内容化业务形态下,如何度量用户体验以及快速感知并解决用户需求,从而持续不断地提升淘宝的质量水准。
第5章 集成发布
在淘宝,集成发布一直是整个交付流程中非常关键的一环,本章将重点介绍淘宝客户端集成发布的演进历史、优化策略和操作实践。
第6章 线上保障
随着阿里经济体的快速扩展,线上保障的挑战难度越来越大,我们的关注点从过去的电商交易稳定运行提高到数字生活生态的全面保障,让用户与客户都能有稳定且顺畅的体验。本章将结合大淘宝技术部多年的探索和尝试,重点介绍监控、快速恢复和攻防演练等的有效手段。
第7章 淘宝交付项目管理案例
在阿里巴巴集团内,项目制的文化氛围很浓厚,经常需要跨BU协同管理,凡事以结果为导向。大淘宝技术PMO针对战役、重点项目会投入专职人员做保障和建机制,针对日常项目会通过体系设计与赋能的方式来推进项目的高效交付。本章将分享淘宝天猫的项目管理体系及重点案例实践。
第8章 展望未来
针对不断出现的新技术与新挑战,我们将不断提升与挑战自我。随着淘宝天猫的业务越来越复杂,测试的复杂度也呈指数上升,我们该如何利用智能化的手段来解放测试人员、提升质量?上云是技术运维的趋势,阿里巴巴集团的核心业务完整上云后,开发、测试、运维都有了完全不一样的模式与机制,我们该如何与阿里云更好地协同?而研发交付流程又该如何提效呢?本章会分享我们对这些问题的思考。
阿里巴巴集团大淘宝技术部
大淘宝技术部是阿里巴巴集团中国数字商业板块的技术王牌军,支撑淘宝、天猫等核心电商业务。依托大淘宝丰富的业务形态和海量的用户,大淘宝技术部通过持续的技术创新和突破,不断探索和衍生颠覆性互联网新体验技术,以更加智能、友好、普惠的科技帮助商家更好地经营,让用户享受更好的消费体验。
随着电商业务的持续探索与快速发展,我们不断吸引算法、大数据、音视频通信、端侧智能、3DXR、终端、服务端等技术领域的全球顶尖专业人才加入,让科技引领面向未来的商业创新和进步。
目 录 Contents
序
前言
第1章 目标与需求管理1
1.1 战略目标管理2
1.2 项目目标管理5
1.2.1 目标管理定义5
1.2.2 项目目标设定6
1.2.3 目标的拆解和计划设定12
1.2.4 目标执行和监控13
1.2.5 目标变更14
1.3 需求管理16
1.3.1 需求定义16
1.3.2 需求规划20
1.3.3 需求澄清25
1.3.4 需求拆分28
1.3.5 需求进度管理37
第2章 高效开发42
2.1 客户端架构43
2.1.1 组件化的诞生与定义Bundle44
2.1.2 Bundle间的通信能力45
2.1.3 业务Bundle46
2.1.4 其他方式46
2.1.5 编译实现46
2.1.6 基于组件化实现业务运行期
插拔能力49
2.1.7 App Bundle53
2.2 跨平台框架和小程序55
2.2.1 Weex55
2.2.2 小程序59
2.3 GAIA(盖亚)—面向Function
的新一代业务交付平台64
2.3.1 分析思考65
2.3.2 我们的答案65
2.3.3 GAIA容器架构67
2.3.4 GAIA研发流程69
2.3.5 GAIA实战71
2.3.6 展望73
2.4 端到端技术体系:新奥创73
2.4.1 起源:基础链路研发效率的
变化74
2.4.2 解决之道:新奥创76
2.4.3 方案初解:新奥创的架构78
2.4.4 新奥创成果80
第3章 高效质量保障81
3.1 全景回放81
3.1.1 回放82
3.1.2 全景86
3.1.3 成果和未来规划88
3.2 全端回放88
3.2.1 端到端的交易保障88
3.2.2 端到端UI90
3.2.3 端仿真94
3.2.4 成果96
3.3 全链路压测96
3.3.1 影子体系97
3.3.2 准备流程97
3.3.3 执行流程99
3.3.4 全链路压测演进100
3.3.5 白加黑方案101
3.3.6 未来展望105
3.4 全链路端性能体验持续验收105
3.4.1 直击性能测试痛点,打造
匠心工具106
3.4.2 大促实战,完美收官110
3.4.3 脚踏实地,仰望星空111
3.5 资损防控:从业务系统设计到
问题发现111
3.5.1 资损防控概述111
3.5.2 面向资损防控的“系统与
业务设计”113
3.5.3 面向资损防控的“发现”
建设114
3.5.4 典型案例115
3.5.5 思考119
第4章 用户体验保障120
4.1 时空穿越技术,提前全链路验证
大促会客厅121
4.1.1 时空穿越122
4.1.2 客户端验收128
4.1.3 结果129
4.2 定向体验众测产品—大淘宝
体验平台129
4.2.1 大淘宝体验平台介绍130
4.2.2 成果和展望135
4.3 只为最美,淘宝“千人千面”
导购智能评测和素材巡检135
4.3.1 个性化评测136
4.3.2 素材质量管控138
4.4 媒体全链路排查,媒体体验的
全息洞察143
4.4.1 媒体链路技术144
4.4.2 全链路排查方案设计145
4.4.3 全链路排查自动诊断151
4.4.4 实际场景应用152
第5章 集成发布154
5.1 淘宝集成发布体系的发展和
建设154
5.1.1 集成发布的演进之路154
5.1.2 机制保障过程156
5.1.3 工具提升效率161
5.1.4 数据驱动改进162
5.2 手机淘宝集成发布实践总结163
5.2.1 版本发布计划163
5.2.2 需求管控165
5.2.3 代码集成165
5.2.4 回归测试166
5.2.5 紧急集成168
5.2.6 灰度发布和监控169
5.2.7 版本复盘170
5.2.8 沟通保障171
第6章 线上保障174
6.1 监控和度量175
6.1.1 监控体系175
6.1.2 问题处理机制181
6.2 淘宝数与控183
6.2.1 梳理现状,挖问题184
6.2.2 有效管控,定策略184
6.2.3 面对问题,以人为本188
6.2.4 安全生产小组落实专项189
6.2.5 小结189
6.3 高效修复190
6.3.1 线上运维的意义190
6.3.2 手机淘宝线上运维演进190
6.3.3 历史热修复方案存在的
问题191
6.3.4 为什么是InstantPatch191
6.3.5 优化与改进192
6.4 攻防演练:系统健壮性的
探测仪193
6.4.1 淘宝攻防演练的演进193
6.4.2 攻守道面临的问题195
6.4.3 解法尝试和初探195
6.4.4 实例介绍196
6.4.5 不仅仅是攻击的攻守道198
6.4.6 取得的成果198
第7章 淘宝交付项目管理案例199
7.1 战役项目管理体系199
7.1.1 立项200
7.1.2 规划201
7.1.3 启动会203
7.1.4 目标对焦204
7.1.5 过程监控与对焦205
7.1.6 结论与反思206
7.2 双11大促项目管理206
7.2.1 挑战与变化207
7.2.2 大促项目管理体系与实践208
7.2.3 总结与展望216
7.3 用户增长项目管理217
7.3.1 用户增长概述218
7.3.2 用户增长全链路项目管理2