AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

持续部署就意味着用户满意吗?

  • 2014-09-29
  • 本文字数:1121 字

    阅读完需:约 4 分钟

持续部署(continuous deployment)使企业能通过自动化的构建、测试和部署循环来快速交付高质量的软件。它使投资更容易得到回报,产品团队更早地得到用户反馈,也简化了部署流程。但从商业的角度看,持续部署也那么好吗?

Steve Blank 是斯坦福大学的咨询副教授,他在他最近的博文中提到,从消费者的角度来讲,持续部署可能意味着不满意。

虽然从工程角度来说,持续部署确实是一种更好的开发流程,但它对一家公司的商业模式和客户的期望都有意义深远的影响。

他对比了发布周期较长的瀑布交付流程(waterfall delivery process)和更频繁的持续交付流程。以前,公司如果使用瀑布模型,产品上市需要几个版本周期。公司计算年收入额的时间点,都是围绕瀑布模型的软件发布周期来设置的。跟瀑布式开发相反,敏捷开发模式在一个不断更新的基础版本上,增量和持续地进行交付,这也会影响公司年收入额的计算模式。公司可以通过云来交付产品的改进版本,这样用户就能不断地用上更好的产品。

Steve 举了 Adobe 的例子,他们现在把整个产品线迁移到了云端,称之为 Adobe Creative Cloud。用户不再需要为新产品付钱,而是支付每年的订阅费用。这种做法使公司的年收入更趋向于稳定,但是从消费者的角度来讲,却是不好的。

他描述了 Adobe 在运用持续部署过程中遇到的问题:

虽然持续部署让 Adobe 从高端用户身上不断获得稳定的年收入,但是他们也制造了两个问题。首先,不是所有客户都相信 Adobe 新的订阅式商业模式能给自己带来好处。如果客户停止支付每月的订阅费用,那他们不但会失去工作所依赖的 Adobe Creative Suite 软件(Photoshop、Illustrator 等),同时还可能无法访问已经完成的作品。

其次,Adobe 这种定位过高的策略无意中伤害了要求比较低的学生、小公司和轻度个人用户,把他们送到了优秀竞争对手的怀抱,比如用 Pixelmator、 Acorn、GIMP 替代 PhotoShop,用 ArtBoard 替代 Illustrator。

抛弃低价值客户、增加年收入和短期利润的结果就是,Adobe 培养了未来的竞争对手。

Steve 也提到了特斯拉的例子。特斯拉在不断地推出更好的车型。

在未经消费者许可的情况下,特斯拉单方面删除了用户已经付费的功能,对于有云端功能的商品来说,麻烦就此开始。其次,特斯拉取消了新车的年度发布机制(model years),他们对持续开发软件和硬件的激进推广,使现在的用户对他们的期望出奇地高。有些用户觉得他们理应获得所有刚刚投产的硬件新功能,即便这些新功能(比如更快地充电、全新的泊车传感器)在他们买车的时候还不存在——即便他们的车是后向不兼容的。

新车的年度发布机制,使用户的期盼有一个明确的时间边界。缺少了这种边界,就会使一些客户失望。

参考英文原文: Does Continuous Deployment Depict Customer Disatisfaction

2014-09-29 00:481996
用户头像

发布了 77 篇内容, 共 37.9 次阅读, 收获喜欢 26 次。

关注

评论

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

面试必杀技,讲一讲Spring中的循环依赖

程序员DMZ

spring

如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章

程序员DMZ

spring 生命周期

MySQL5.7升级到8.0过程详解

Simon

MySQL

恢复青春气息,就靠这套人像美肤算法了

博文视点Broadview

算法 计算机视觉 图像识别 人像

是时候学习Linux了

Simon

Linux

CRM往事丨三件事,所有SaaS的缩影

人称T客

跨域问题(CORS / Access-Control-Allow-Origin)

xcbeyond

Java CORS 跨域

面试官:你说你懂i++跟++i的区别,那你知道下面这段代码的运行结果吗?

程序员DMZ

JVM i++

ARTS week 4

锈蠢刀

我的敏捷历程 —— 兼评《敏捷整洁之道 - 回归本源》

FollowFlow

敏捷开发 Agile 极限编程 XP

区块链、人工智能……警惕非法金融借创新概念迷惑投资人

CECBC

区块链 金融

枚举算法练习例题(Python版)

罗罗诺亚

Python 算法 枚举

自从有了语音开黑小能手,队友再也不会骂我了!

anyRTC开发者

WebRTC 在线教育 直播 RTC RTMP

为啥PHP in_array(0,['a', 'b', 'c']) 返回为true?

架构精进之路

php 弱类型语言

程序范式的意义

soolaugust

架构 程序设计

spring Cloud Eureka Rest接口重写

xcbeyond

Java SpringCloud Eureka

SpringCloud服务注册中心双节点集群(Eureka集群)

xcbeyond

Java 架构 微服务 Eureka 集群

MySQL索引问题探究手记

架构精进之路

MySQL 索引

SWARM学习1——Kademlia分布式路由表协议

AIbot

区块链 DHT 分布式存储 分布式文件存储 分布式路由

实践案例丨教你一键构建部署发布前端和Node.js服务

华为云开发者联盟

node.js 后端 服务器 代码 华为云鲲鹏

操作系统bochs安装及使用

allworldg

操作系统

关于日期及时间字段的查询

Simon

MySQL sql查询

Java-技术专题-synchronized关键字

码界西柚

海量并发也没那么可怕,运维准点下班全靠它!

华为云开发者联盟

容器 网络 并发 华为云

影响音视频延迟的关键因素(一):流媒体系统

ZEGO即构

TCP udp RTC HLS RTMP

云上安全工作乱如麻,等保2.0来一下

华为云开发者联盟

安全 华为云 等保 云平台 多云服务

一个数据库管理员的自我救赎之路

华为云开发者联盟

数据库 华为云 数据库迁移 企业上云 DRS

钓鱼网站:详解hosts文件

xcbeyond

Java 域名解析 hosts

易观郭炜:流动水系数造未来

易观大数据

MySQL关于日期为零值的处理

Simon

MySQL

低/零代码干掉了传统的开发模式

代码制造者

编程语言 低代码 零代码 信息化 编程开发

持续部署就意味着用户满意吗?_研发效能_Savita Pahuja_InfoQ精选文章