随着云计算、容器等新兴技术的发展,“持续交付”这个老生常谈的问题,忽如一夜春风来,仿佛找到了从理想通向现实的大门。各类相关工具、产品、服务,也是纷纷出现:如Jenkins 2.0,Jenkins X,阿里云效,Netflix Spinnaker,Jfrog Artifactory等等。

到底是什么魔力使得各大公司和厂商对“持续交付”如此趋之若鹜?我在携程工作多年,负责系统研发的工作,在持续集成、持续交付方面积累了很多实战经验。关于携程为什么要做好持续交付,持续交付的价值在哪里?我谈谈自己的看法。

你了解持续交付吗?

持续交付,到底是什么意思,它的定义是什么?《持续交付:发布可靠软件的系统方法》一书中把“持续交付”定义为:

持续交付是软件研发人员,如何将一个好点子,以最快的速度交付给用户的方法。

即使熟知了定义和方法论,其实也还是如海市蜃楼一般,无法落地,因为大家所贡献的最佳实践才是持续交付理论的核心。只有真正在工作中贯彻和使用这些实践工具,才能体会持续交付的真正含义和作用。

持续交付的显性价值

持续交付也通常以“发布流水线”的方式来解释,即研发团队从开发,到测试,再到部署,最终将产品交付给最终用户使用的过程。如下图:

虽然持续交付着重打造的是发布流水线的部分,但它所要达到的目标是在“最终用户”和“研发团队”之间建立紧密的反馈环:通过持续交付新的软件版本,以验证新想法和软件改动的正确性,并衡量这些改动对软件价值的影响。

这里说的“软件价值”,说白了就是收入、日活、GMV等KPI指标了。

在互联网应用盛行、速度为王的今天,持续交付的价值更是被突显出来。持续交付的能力,正成为评定一家互联网公司研发能力的重要指标。

持续交付的隐性价值

除了上面这些你一眼就能看出来的价值外,如果作为不同的角色、站在不同的角度去看持续交付之后的变化,你还会发现其他一些隐性价值,而其中有一些影响甚至远远超过你的预期。

如果你是CTO或者是一个较大规模研发团队的管理者

  • 你是不是时常困扰于技术选型的问题?
  • 你是不是经常头痛于已制定的标准难以落地?
  • 你是不是时常考虑如何提高跨部门协作的效率?
  • 你是不是担心“黑天鹅”的降临?

如果你是Team Leader

  • 你一定希望团队的知识能够传承。
  • 你一定希望团队专注于业务而非工程。
  • 你一定希望以一个较平稳的节奏持续工作。

如果你是产品经理

  • 你应该是产品真正的第一个用户。
  • 你应该完全知悉当前的进度和质量。
  • 你的产品应该随时能发布。

如果你是一个程序员

  • 你可以通过对持续交付的学习,进一步加强自己对整个软件工程的认识。
  • 你可以利用持续交付的工具或最佳实践,提高自己的工作效率和质量。
  • 你可以参与到持续交付实施中去,享受为其他程序员提供效率工具的挑战和乐趣。

如何评估持续交付的价值

那到底应该怎么评估持续交付的价值呢?这里和你分享一下我在携程是怎么解决这个问题的。

我除了会评估一些常规的KPI外,更多地会换一种思考方式。既然很难量化持续交付的价值,那么我们就具象化,来看看整个工程生命周期中有多少被开发人员诟病,或者阻碍开发人员自助处理的问题点,即“不可持续点”:

  • 开发不能按需产生隔离的测试环境;
  • 生产代码回滚后,要手工处理代码分支;
  • 预发布(Staging)流量要能自动分离,以便预发布测试。

在携程,我们会将所有的“不可持续点”进行记录和分解,通过OKR的考评方式,将消灭这些点作为目标,拆解出来的可行动点,作为关键结果,以这样的方式来完成绩效考评。

虽然,有些“不可持续点”已经超越了一般传统持续交付的概念,甚至有些已经超越了纯技术改进的范畴,但是持续交付仍会一直关注于消灭这些“不可持续点”。So what,我们就是要持续交付我们的价值!

持续交付最终的使命

持续交付的价值不仅仅局限于简单地提高产品交付的效率,它还通过统一标准、规范流程、工具化、自动化等等方式,影响着整个研发生命周期。

持续交付最终的使命是打破一切影响研发的“阻碍墙”,为软件研发工作本身赋能。无论你是持续交付的老朋友还是新朋友,无论你在公司担任管理工作还是普通的研发人员,持续交付都会对你的工作产生积极的作用。

以上内容取自极客时间的《持续交付36讲》专栏,希望通过这个专栏的学习,你和你的团队可以在保证交付质量的前提下,加快交付速度,从而更快地得到市场反馈,引领产品的方向,最终达到扩大收益的目的:http://t.cn/EUCEALP

为什么携程要做好持续交付?相关推荐

  1. 持续交付中有哪些宝贵数据?

    通过我前面和你分享的内容,相信你已经掌握了持续交付流水线所包含的五个主要动作:代码管理.环境管理.集成和编译管理.发布管理,以及测试管理.而且,你也应该已经初步掌握了建设持续交付体系的基本方法. 那么 ...

  2. 携程发布2021第三季度财报:营收53亿元 国际国内旅游市场“攻守”同发力

    2021年12月16日,携程集团(纳斯达克:TCOM及香港联交所:9961)发布截至2021年9月30日第三季度未经审计的财务业绩.第三季度实现营收53亿元,经调整EBITDA(税息折旧摊销前利润)为 ...

  3. 研发管理---(1)持续交付

    拥有3万多人的阿里巴巴,线上有上万个应用,上亿的用户即时在线,每天有几百个应用在线上更新,就像在时速200公里的高速公路上横穿马路维修栅栏一样,时刻保持着心惊胆战,而保护这个过程的体系就是阿里巴巴持续 ...

  4. 携程平台增长部总经理王绩强:原生互联网企业正在经历一场数字升级丨数据猿专访...

    ‍数据智能产业创新服务媒体 --聚焦数智 · 改变商业 以大数据和人工智能为核心,众多新兴技术开始赋能数字营销.于是,智能营销已然从工具化走向了业务化. 如今,数字化营销已经成为了企业数字化转型中的重 ...

  5. 《赵成的运维体系管理课》学习笔记(1)——持续交付

    16 | 持续交付知易行难,想做成这事你要理解这几个关键点 什么是持续交付 首先要把持续交付做好. 做持续交付就是提升整个研发体系效率的关键. 持续交付代表着从从业务需求开始到交付上线之后的端到端的过 ...

  6. 携程旅行android pad客户端,携程发布Android Pad版 无线布局初步完成

    腾讯科技讯(月古)10月27日消息,近日,携程旅行网正式发布了携程无线Android Pad 1.0版.至此,携程旅行网无线服务的布局已初步完成. 全新的携程无线Android Pad 1.0版,融合 ...

  7. 2019携程技术峰会完美落幕

    11月9日,2019携程技术峰会在上海完美落幕.活动吸引了上千位IT专业人士参与,这些技术小伙伴与来自阿里.Amazon.百度.Google.华为.京东.网易.字节跳动.携程等公司的20多位讲师一起徜 ...

  8. 持续交付知易行难,想做成这事你要理解这几个关键点

    前面几篇文章,我们介绍了非常基础的运维建设环节.如果我们想要这些运维基础建设发挥出更大的作用和价值,就需要针对运维场景进行场景化设计和自动化,让效率和稳定性真正 提升上来.也就是说,把基础的事情做好之 ...

  9. 干货 | 日部署 6000 次,携程持续交付与构建平台实践

    作者简介 周光明,携程高级技术经理,目前负责携程 CI/CD 系统,致力于通过技术手段提高公司研发质量与效率, 对 Docker,K8s,Gitlab,Jenkins 等 DevOps 技术有浓厚的兴 ...

最新文章

  1. 在PowerShell中创建对象并添加属性成员
  2. jQuery 快速入门教程
  3. photoshop cc_如何使用Photoshop CC将图片变成卡通
  4. python中的非阻塞使用互斥锁
  5. php path separator,php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path
  6. Git---命令行语法
  7. 华为手机harmonyos系统,华为王成录:手机销量仍在增长 未来会是HarmonyOS系统的中心...
  8. 从零开始学前端:if判断,for循环,,switch判断 --- 今天你学习了吗?(JS:Day4)
  9. c语言图像处理毕业设计,基于matlab数字图像处理毕业设计论文.doc
  10. java私塾初级_Java私塾Java初级教程
  11. Spring框架从入门到精通
  12. c#编程实战宝典 付强_C#开发实战宝典pdf
  13. 【程序员如何买基金 四】个人投资诊断和基金诊断
  14. 如迷的解谜者——Alan Turing
  15. 【数据结构】二叉树 —— 遍历二叉树 + 递归的分治(链式存储)
  16. 再观《一步之遥》观后感
  17. 如何轻松关闭华为云中的服务和资源
  18. 北美CS求学找工指南
  19. tcp_diag 内核相关实现 以及调用层次
  20. datastage服务器项目nls安装,datastagedads - 图文

热门文章

  1. Fabric环境搭建
  2. 如何去掉桌面标签背影
  3. PHP http_build_query()方法
  4. HttpServletRequest HttpServletResponse ServletException 重新打开后报红解决方法
  5. Django--Uploaded Files以及Handlers
  6. POJ-3414 Pots BFS+记忆路径
  7. asp.net传递参数
  8. 计算机组成原理 — CPU — 流水线与执行周期
  9. ETSI GS MEC 014,UE 标识 API
  10. Keil 函数内联 inline