【ArchSummit架构师峰会】精华内容上线75%,AI大模型中台从理念到实践的探索!>>> 了解详情
写点什么

为什么携程要做好持续交付?

  • 2018-12-15
  • 本文字数:1738 字

    阅读完需:约 6 分钟

为什么携程要做好持续交付?

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


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

你了解持续交付吗?

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


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


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

持续交付的显性价值

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



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


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


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

持续交付的隐性价值

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


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


  • 你是不是时常困扰于技术选型的问题?

  • 你是不是经常头痛于已制定的标准难以落地?

  • 你是不是时常考虑如何提高跨部门协作的效率?

  • 你是不是担心“黑天鹅”的降临?


如果你是 Team Leader


  • 你一定希望团队的知识能够传承。

  • 你一定希望团队专注于业务而非工程。

  • 你一定希望以一个较平稳的节奏持续工作。


如果你是产品经理


  • 你应该是产品真正的第一个用户。

  • 你应该完全知悉当前的进度和质量。

  • 你的产品应该随时能发布。


如果你是一个程序员


  • 你可以通过对持续交付的学习,进一步加强自己对整个软件工程的认识。

  • 你可以利用持续交付的工具或最佳实践,提高自己的工作效率和质量。

  • 你可以参与到持续交付实施中去,享受为其他程序员提供效率工具的挑战和乐趣。

如何评估持续交付的价值

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


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


  • 开发不能按需产生隔离的测试环境;

  • 生产代码回滚后,要手工处理代码分支;

  • 预发布(Staging)流量要能自动分离,以便预发布测试。


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


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

持续交付最终的使命

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


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


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


2018-12-15 08:002164

评论 1 条评论

发布
暂无评论
发现更多内容

数字货币步伐加快,苏州将于双十二推出数字人民币红包测试

CECBC

数字人民币

从基础设施到云原生应用,全方位解读阿里云原生新锐开源项目

阿里巴巴云原生

阿里云 开源 云原生

字节跳动内部授课课件:附图讲解MySQL底层索引结构算法实现

小Q

Java MySQL 学习 编程 面试

区块链加持,鉴定溯源双保险,科技赋能茅台老酒成零售数字化标杆

CECBC

区块链 大数据 防伪溯源

为什么你的“开发速度”和“产品性能”,都比不过竞品?丨开发者必读

葡萄城技术团队

数字货币将使货币政策实施更精准有效

CECBC

数字货币

一次浪费时间的面试

escray

程序员 面试 面经

阿里云原生中间件首次实现自研、开源、商用“三位一体”,技术飞轮效应显现

阿里巴巴云原生

阿里云 云原生 中间件

软件测试系统学习流程和常见面试题

测试人生路

软件测试

“人上人”大专学历,通过系统的六个学习步骤,艰难4面终砍offer,“跳进”字节跳动

Java架构追梦

Java 架构 字节跳动 面试 微服务

披星戴月地辛苦割胶或成历史,海南胶园迎来这一“神器”!

华为云开发者联盟

云计算 大数据 IoT

区块链赋能医疗行业,区块链医疗应用场景开发

13530558032

0到1产品需求整理分析模型参考

燕陈华

产品设计 产品需求

详解企业管理系统工作流配置

Marilyn

敏捷开发 工作流 软件架构

Java程序员说:世界上有三个伟大的发明【火、轮子、kafka】

Java架构师迁哥

一个隐藏在方法集和方法调用中且易被忽略的小细节

Gopher指北

后端 Go 语言

第九周 性能优化(三)总结

蓝黑

极客大学架构师训练营

Minikube-运行在笔记本上的Kubernetes集群

网管

学习 Kubernetes k8s minikube k8s入门

云原生趋势下的迁移与容灾思考

阿里巴巴云原生

云原生 迁移 容灾

解读下一代网络:算力网络正从理想照进现实

华为云开发者联盟

AI 5G 网络 云技术

字节面试数据结构与算法:B+树的删除和插入,不够详细你打我

小Q

Java MySQL 学习 面试 算法

华为云MVP付健权:从机械工程师到AI开发者的华丽转身

华为云开发者联盟

AI 转型 工程师

Serverless 架构就不要服务器了?

华为云开发者联盟

云计算 Serverless 架构

iOS AOP 方案的对比与思考

GrowingIO技术专栏

ios aop

迁移到 Atlassian Data Center 并没有您想象的那么可怕

Atlassian

负载均衡 高可用 Atlassian Jira

“新鲜出炉”阿里面试终极指南V3.0,符合一线大厂面试点需求

小Q

Java 学习 编程 架构 面试

高速二维码报警定位系统开发,智能报警系统

13530558032

开发霸总:我要让所有人知道,这个扫码组件,被你承包了

蚂蚁集团移动开发平台 mPaaS

支付宝 uniapp mPaaS

上线操作规范——基础版本

程序员架构进阶

团队管理 开发流程 发布流程 规范

架构师训练营第 1 期 第 9 周作业

李循律

极客大学架构师训练营

除了类 Excel, SpreadJS 表格控件还能为系统开发带来什么价值?

葡萄城技术团队

为什么携程要做好持续交付?_研发效能_王潇俊_InfoQ精选文章