持续交付 36 讲
王潇俊
携程系统研发部总监
39681 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

01 | 持续交付到底有什么价值?

参与持续交付实施
提高工作效率和质量
加强对整个软件工程的认识
随时可发布产品
实时了解进度和质量
产品作为第一个用户
较平稳的工作节奏
专注于业务而非工程
知识传承
解决“黑天鹅”事件
提高跨部门协作效率
落地标准、规范、流程
改善测试环境管理
团队希望借助持续交付解决的现实问题
对工作产生积极作用
打破影响研发的“阻碍墙”
持续交付的价值
OKR的考评方式
具象化“不可持续点”
量化持续交付的价值
程序员
产品经理
Team Leader
CTO/大规模研发团队管理者
评定研发能力的重要指标
加快交付速度
发布流水线
持续集成、持续交付和持续部署的关系
持续交付的定义
思考题
总结
如何评估持续交付的价值
持续交付的隐性价值
持续交付的显性价值
了解持续交付
如何衡量持续交付的价值?

该思维导图由 AI 生成,仅供参考

随着云计算、容器等新兴技术的发展,“持续交付”这个老生常谈的问题,忽如一夜春风来,仿佛找到了从理想通向现实的大门。各类相关工具、产品、服务,也是纷纷出现:如 Jenkins 2.0,Jenkins X,阿里云效,Netflix Spinnaker,Jfrog Artifactory 等等。
到底是什么魔力使得各大公司和厂商对“持续交付”如此趋之若鹜?那么,作为本专栏的第一篇文章,我就先来为你揭示“持续交付”真正的价值。

你了解持续交付吗?

持续交付,到底是什么意思,它的定义是什么?《持续交付:发布可靠软件的系统方法》一书中把“持续交付”定义为:
持续交付是软件研发人员,如何将一个好点子,以最快的速度交付给用户的方法。
是不是听起来有点抽象呢?其实这就好像你去问 100 个哲学家,“哲学”的定义是什么,你会获得 101 个答案一样。与马丁 · 福勒(Martin Fowler)老爷子在 2006 年,提出“持续集成”概念时一样,我们可以把 “持续交付”定义为“一套软件工程方法论和许许多多的最佳实践的集合”。
但即使熟知了定义和方法论,其实也还是如海市蜃楼一般,无法落地,因为大家所贡献的最佳实践才是持续交付理论的核心。只有真正在工作中贯彻和使用这些实践工具,才能体会持续交付的真正含义和作用。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

持续交付在当今互联网应用盛行的环境中显得愈发重要。本文深入探讨了持续交付的定义、关系和价值,强调了其在加速交付速度、获取市场反馈、提升研发能力等方面的显性价值。此外,文章还介绍了持续交付的隐性价值,如改善测试环境管理、落地标准规范流程、提高跨部门协作效率等。对于不同角色的读者,如CTO、Team Leader、产品经理和程序员,持续交付都提供了相应的帮助和价值。通过深入浅出的方式,本文为读者解析了持续交付的技术特点和实际应用,对于想要了解和应用持续交付的读者具有很高的参考价值。 持续交付的价值不仅仅局限于简单地提高产品交付的效率,它还通过统一标准、规范流程、工具化、自动化等方式,影响着整个研发生命周期。持续交付最终的使命是打破一切影响研发的“阻碍墙”,为软件研发工作本身赋能。无论你是持续交付的老朋友还是新朋友,无论你在公司担任管理工作还是普通的研发人员,持续交付都会对你的工作产生积极的作用。 思考题:你的团队最希望借助持续交付解决什么现实问题? 通过本文的总结,读者可以快速了解持续交付的重要性和价值所在,以及它对研发生命周期的影响。文章深入浅出地解析了持续交付的技术特点和实际应用,为想要了解和应用持续交付的读者提供了高度参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(32)

  • 最新
  • 精选
  • 刘为红
    置顶
    持续交付是从用户获取反馈后再通过持续集成不断改进的过程,持续部署又是持续交付的最后一公里,是不是可以理解为为持续交付=持续集成+持续部署,我们做持续交付就是要进行持续集成+持续部署,这三者的关系有点晕,希望老师解答一下

    作者回复: 应该这样理解,持续交付包含其他两者,但不是等于两者相加。就像我文中提到的,交付对象未必一定是最终用户,定期提测、修复、再提测,充分利用了测试资源,也是持续交付。千万不要认为一定要做到端到端完整才叫持续交付。持续的产出并持续的验证。这也是为什么我会说任何企业,任何人都可以去尝试持续交付的原因

    2018-07-05
    2
    11
  • 极杰子
    我想提前了解一个问题、携程是否做到开发提交代码即触发流水线流程、并且其中自动化测试是针对提交的这块代码做测试、如果做到了具体如何做,没做到原因是什么?

    作者回复: 携程的话,push2CI2CD都是做到的,静态扫描是针对新增代码的,但是自动化测试不是。另外自动化测试怎么只对提交的代码,我不知道怎么做到,可能也没人能知道:)比如我改了一个枚举,我真的不知道该怎么只测试这个commit的内容就算OK了,因为自动话测试本来就是讲求覆盖率,ut也是一样的

    2018-07-06
    2
    4
  • 师不愈
    问:你的团队最希望借助持续交付解决什么现实问题?答:我们团队的交付物是SDK,需要支持多种平台(win,Linux ,iOS,android),引入持续交付,现在能理解的,就是提升生产效率,让研发人员专注业务,提高产品质量。目前SDK产品经过2年的开发已成熟,但从开发到提测到测试到上线,全都是非常传统的复制粘贴方式,仅仅依靠人为编写的文字流程与文档规范去控制整个过程,可想这中间有多大的效率提升空间。以交测举例,原来需要开发在源码的若个build目录下拷贝文档,sdk,demo,按照规范组成产品包,手动提交到某个交测目录下,发邮件通知测试同事,整个过程需要1h,且容易出错。在简单使用Jenkins之后,源码的提交就会自动触发上述所有过程,只需1分钟,直接为研发用户带来效益。

    作者回复: 看起来棒棒的

    2018-10-26
    2
  • 王浩槟
    嗯,终于等到第一篇。 我在一家初创公司做中层技术管理,面临项目交付业务压力大、项目交付速度要求高的困境,希望利用持续交付能有所建树

    作者回复: 坚持并持续改进,持续交付和重构其实一样,越痛苦的事,就越要多做,加油💪

    2018-07-05
    2
  • 桃子-夏勇杰
    很好奇老师遇到过哪些“不可持续点”,希望有个参考列表。

    作者回复: 首先可以自动化但没有自动化的点 其次是需要人工判断的,是否可通过约定来解决 再有,不在控制能力之内的事情,可否异步处理 最后注意记录,回溯,幂等处理

    2019-11-03
    2
    1
  • greatliu
    无论是横向的业务研发团队,还是纵向的技术框架团队。 我的理解是业务是纵向的,技术是横向的,你这句话是不是有问题

    作者回复: 嗯,确实是,感谢指出

    2018-12-16
    1
  • LXJ
    从单个需求的角度来看,如果有一个大的需求,涉及到不同的部件或者说模块,怎么能够保证各个部件的进度是统一的,不影响其他需求的构建?

    作者回复: 这是一个解耦问题,一定要保证独立组件能够独立构建,甚至部署。微服务流行也是这个道理

    2018-10-28
    1
  • Geek_b7218f
    代码上线和业务上线的解耦分离,能举个栗子吗,呵呵😄

    作者回复: 比如利用功能开关,功能代码上线,但开关不开,功能暂不生效

    2018-09-21
    2
    1
  • Rachel_fang
    自动化测试的效率和脚本的正确性应该也是其中重要一环~如果自动化测试效率很低,同时失败的脚本需要人工check也达不到持续交付的标准~

    作者回复: 说的太对了,但是持续交付也不一定要完全自动化,自动化是加速和优化的手段

    2018-07-05
    1
  • 红娟
    持续集成,持续交付,持续部署三者之间是什么关系呢?

    作者回复: 文章里应该写清楚了吧……

    2018-12-21
收起评论
显示
设置
留言
32
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部