阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

从持续交付中获得商业优势

  • 2015-11-24
  • 本文字数:2180 字

    阅读完需:约 7 分钟

Gojko Adzic Agile Tour London 2015 上发表了主旨演讲,关于“如何将持续交付转变成商业竞争优势”。InfoQ 采访了 Adzic,主要关于向持续交付要效益、Gojko 的三条持续交付规则、可能出现的问题和风险、以及在持续交付中使用多版本控制。

InfoQ:您谈论了企业如何才能从持续交付中获得效益。您能给出一些案例吗?

Adzic:我觉得企业正从持续交付中获得利益,比如降低发布的技术风险,和加快产品上市时间,但是他们可以从持续交付中获得更多的效益——通过从技术角度解锁持续交付的关键问题和解锁一些非常有趣的商业优势,从而使解决方案更加有效。例如,通过整理车辆的持续交付管道,Tesla(汽车制造商)能够比竞争对手更加便宜地处理产品缺陷和召回缺陷产品(参考 Tesla’s over-the-air fix: Best example yet of the internet of things? )。

此外,人们很少考虑持续交付对产品体验中非技术部分的影响——比如市场营销和用户期望。例如,当在 MindMup 工作时,我们使用持续交付从发布中消除可能导致意外发生的因素(take away the drama),让事情发展顺利并可预测。但是,消除意外因素的同时我们也远离了令人兴奋的事情。几乎不可能让媒体报道一连串持续的小改进——因为没有一个单一的更新具备报道的新闻价值。

同样,没有软件版本和主要更新,客户往往会感受到更多的权益。每年一个版本,用户往往会付费升级。当换成一连串持续的小改进时,用户则希望永远免费试用新产品。许多移动应用开发人员一直被这个问题困扰着,几乎不可能让现有客户为了一个重要更新付费,但是仅仅开发和发布免费产品并不能带来很大的商业意义。

InfoQ:您提出了 Gojko**** 的三条持续交付规则。它们是什么?

Adzic:与一套严肃的规则相比,更多的是类似 Asimov 著名的机器人三定律的文字游戏,我试图捕捉团队在技术因素之外对持续交付管道产生误解的三个关键问题。技术因素已经被现有的实践和文献覆盖并解决,但是迈出更大的一步,看看一连串的小改变是如何把技术之外的事情搞糟的也非常的有趣。

持续交付可能不会……

  • 使用户混乱
  • 中断用户的工作或会议
  • 扰乱或者阻止营销活动

InfoQ:您在演讲中提到持续交付中可能会有一些问题和风险。一个可能是提高效率可能会伤害客户。您能给出一些案例吗?

Adzic:当有一连串持续的更新时,许多团队不会考虑在整个更新过程中会对客户的会议和工作产生什么影响。我看到过团队要求他们的客户在繁忙的工作日注销并重新登录,仅仅是因为软件有一个新的版本发布,人们彻底被新增的 UI/UX 混乱了。对于较大的改变,很容易在整个产品中保持 UX 的一致性。但是对于一连串的小改变,常常是在较长时间内更新和发布产品的一部分,所以用户常常必须处理不一致性。这方面的一个案例是,Paypal 去年实施的“新的业务面板”。我的公司在 Paypal 账户有两种货币余额,某天早上我登录上去后,总余额让我以为账户上少了数千英镑。我花了一个小时,试图弄明白是否其他人获得了账户访问权限并转走这笔钱,或者我被骗了,但是我没有找到任何明显的错误。实际上,这笔钱还在那儿——有人重新设计了面板,使其只显示一种货币,我认为应该为多货币客户推迟这种设计。这不是我想要的最佳客户体验,但是我可以理解他们为什么那么做。同时,在新的业务面板准备好之前,不应该强迫客户使用新的业务面板。

InfoQ:您还提到,通过交付小的功能增量,你不再有大的发布版本可以向你的客户推销。对此,你有什么解决方案?

Adzic:我现在的想法是解耦部署和发布。在我们行业中,部署和发布常常被看成一件事,但是一个是发布代码到产品的技术事件,另一个是让客户可用的市场事件。通过解耦这两件事情,我们可以从中获利,将意外因素从部署中消除,同时仍然保持其具有新闻报道价值,从而产品特征可以发布出去,制造最大的营销卖点。

这是一个需要解决的困难的技术难题,尤其是因为部署软件的一些版本需要对某些人开放访问,从而对其验证和确认,但是它也需要对外面大多数用户是隐藏的,从而制造营销热点。

InfoQ:在您的演讲中你说“没有多版本控制的持续交付是不负责任的”。您能否解释一下?您能解释一下为什么?

Adzic:能够运行不同组件的多个版本是一个很好的解决方案,或者是我上文列出的问题——将部署软件的一些版本对用户的一个子集可见,但是其他用户看的却是不同的版本。我说的不是网络重新路由或者功能切换——而是一种系统性解决方案,多种版本可以并行运行,而不会中断。如果解决了这个问题,就没有必要中断会议或者忙于部署——人们可以继续使用当前版本,直到会议结束。同时也可能可以逐步发布产品——在 Paypal 面板案例中,他们可以向拥有一个货币账户的用户发布面板,并解决整个 UX 一致性 / 迭代的问题。这同样允许将部署从发布中解耦。这就是为什么多版本作为一个架构概念如此强大的原因。

与此同时,多版本开辟了一些惊人的业务功能,比如高风险或实验性功能的温和 / 逐步发布;基于 1% 的活跃用户运行产品试验,从而证明高昂的假设;对高端用户提供预览版;紧急修复和比以前更廉价地预防问题;围绕营销事件而不是技术部署能力运行营销活动。

InfoQ:对于那些希望有效应用持续交付的组织,您有没有什么建议?

Adzic:除了技术, 你可以思索的更广泛一点。持续交付开辟了一些惊人的商业机会,如果处理得当,就不仅仅是一个技术解决方案。

查看英文原文 Getting Business Advantage from Continuous Delivery

2015-11-24 18:001315
用户头像

发布了 92 篇内容, 共 22.9 次阅读, 收获喜欢 4 次。

关注

评论

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

制造蝴蝶飓风,微众区块链的蝶变和ESG新使命

脑极体

CorelDRAW Graphics Suite2022中文版

茶色酒

cdr2022

2022语言与智能技术竞赛再升级,推出NLP四大前沿任务

百度大脑

你竟不劝我坚持

QualityFocus

职业规划 职业生涯规划

linux之软连接和硬连接的区别

入门小站

Linux

RTC 科普视频丨聊聊空间音频的原理与其背后的声学原理

声网

RTE技术详解 空间音频

云原生时代的搜索服务算力管理

百度Geek说

架构 云原生 后端

DaaS服务之分布式日志/缓存/对象存储

穿过生命散发芬芳

4月月更

多方系统集成的启示

QualityFocus

集成测试 系统集成

linux之软连接和硬连接的区别

入门小站

Linux

浮点数-Float-Double转二进制

入门小站

工具

Java面试题库答案(技术+人事)

Java架构追梦

Java java面试 后端开发 程序员面试、

多方安全计算(MPC)发展脉络及应用实践

洞见科技

数据安全 隐私计算 多方安全计算 密码学和算法

[Day28]-[二叉树]左叶子之和

方勇(gopher)

LeetCode 数据结构与算法

从概念、部署到优化,Kubernetes Ingress 网关的落地实践

阿里巴巴云原生

阿里云 Kubernetes 云原生 网关

与多家机构战略合作,背后彰显PlatoFarm元宇宙龙头的实力

BlockChain先知

Apache ShardingSphere 代码格式化实战 —— Spotless

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

关于K8s中Service Account的一些笔记:Pod内部如何访问K8s集群

山河已无恙

k8s 4月月更

资源画像,让容器资源规格的填写不再纠结

阿里巴巴云原生

阿里云 容器 云原生

ECA 认证备考指南

Se7en

我们在讲的 Database Plus,到底能解决什么样的问题?

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

[Day29]-[数组]将一维数组转变成二维数组

方勇(gopher)

LeetCode 数据结构算法

重学架构之电商秒杀系统

陈华英

架构实战营

清华校友走进百度 用科技赋能产业智能化转型

百度大脑

赛事解析|乒乓球时序动作定位大赛亚军方案分享

百度大脑

参加 KubeVela 开源之夏,给你的云计算编程能力加个 Buff

阿里巴巴云原生

阿里云 云原生 开源之夏

虎符Hoo即将上线现货网格交易功能

区块链前沿News

虎符交易所

细数云上综合治理始末,华为云联创营解码企业运维之道

Geek_2d6073

Selenium自动化应该避免的测试场景

FunTester

在线Excel转SQL工具

入门小站

工具

R 编程语言 - 简介

海拥(haiyong.site)

R语言 4月月更

从持续交付中获得商业优势_DevOps & 平台工程_Ben Linders_InfoQ精选文章