11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

内部发布和对外发布的区别

  • 2009-01-11
  • 本文字数:926 字

    阅读完需:约 3 分钟

传统意义上,软件发布被认为是工程和商业之间沟通的一种方式。 工程把经过测试的代码交给商业,后者继而把它向市场发布,然后一个周期就完成了。然而,在敏捷中软件发布可以分成内部发布和对外发布两大类。这有助于在工 程和商业之间创建松散的耦合关系。工程创建内部发布,商业可以选择其中之一用于对外发布。

在最近Cutter Consortium 上的一篇文章中(下载代码是RELEASEMYTH),来自BMC 公司的 Israel 就在软件世界中如何区分这“两”种发布的问题,引发了一场有趣的争论。他认为,内部发布和对外发布应该是同一个硬币的两面,

> 提供特定特性和功能的一套代码是一样东西,市场和销售使用这套代码以达到经营目标完全是另外一样东西。这两个活动不仅不同,也没有必要通过 1 比 1 的关系绑定在一起。

他用一个有趣的例子来形象比喻, 一个水池有两个水管,一个是进水管,另外一个是出水管。他把工程比作进水管,商业比作出水管。

> 把这个例子中的进水管想像成工程,出水管想像成商业。工程可以按照自己的步调发布版本,商业可以从发布的版本中自由选择。在此范例中,市场没必要某个版本完成后立刻对外发布,它可能 3 个月后再发布;也可能时间更晚,与另外一个版本同时发布;可能基于一定的根据,使用某个版本;或者也有可能让某个版本永远不发 布。

Israel 提到,由于现在工程和商业松散耦合,他们可以达到流畅发布的概念,让软件变得持续有活力。工程按照自己合适的步调发布内部版本,商业可以决定什么时候哪个版本作为外部发布,让客户使用。

对这篇文章评论时, Ryan 提供了一些额外的启示,Israel 的团队每对外发布1 次,内部发布3 次。他提出其好处是能得到有价值的反馈,商业继而可以使外部发布效果更好。Ryan 认为,

> 这样好极了!结果是,我指导大多数敏捷团队时让他们这样开始,保证他们“内部发布”的频率是销售、运营、以及市场上习惯的频率的 2 倍。用这种方式你能有一个版本用于得到反馈,并把给市场的“对外发布”做的更好。

Israel 认为,采用敏捷方法,内部发布更多更快,使得软件更流畅、更有活力。这让传统的发布流程过时了。把发布区分开可以帮助工程和商业按照自己的发布模式工作,而不会互相打乱发布频率。

查看英文原文 Difference Between Internal and External Release

2009-01-11 20:031729
用户头像

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

关注

评论

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

图遍历算法

6979阿强

图遍历 GraphScope

【预告】网络研讨会|下一代汽车操作系统微内核seL4:seL4基金会主席谈物理系统安全工程实践

鉴释

自动驾驶 操作系统 微内核

普通二本的辛酸Java面试之路,34岁Java程序员裸辞

Java 程序员 后端

来一份全面的面试宝典练练手,6年老Java面经总结

Java 程序员 后端

来自阿里巴巴佛系Java程序员的指南,惊喜

Java 程序员 后端

【Flutter 专题】46 图解新的状态管理 Provider (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

镜子-或许我们也和Pod一样生活在虚拟世界

Lance

乘着汽车智能化的浪潮,“汽车人”的职业方向选择(二)

SOA开发者

程序员 软件 汽车 职业发展

GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘

华为云开发者联盟

数据库 算法 索引 GaussDB(for MySQL) MySQL索引

我用MRS-ClickHouse构建的用户画像系统,让老板拍手称赞

华为云开发者联盟

数据库 标签 用户画像 MRS ClickHouse 列式存储

闲鱼消息发展回顾

OpenIM

针对各种指标数据如何选择合适的算法?

云智慧AIOps社区

技术 算法 数据 智能运维 指标

【Vuex 源码学习】第三篇 - Vuex 中 State 状态的实现

Brave

源码 vuex 9月日更

一期投资30亿!“中国—东盟星动云算力中心项目”将落地广西巴马

旺链科技

数字经济 产业区块链 一带一路

作业八:设计消息队列存储消息数据的 MySQL 表格

燕燕 yen yen

#架构实战营

linux系列之:告诉他,他根本不懂kill

程序那些事

Linux 命令 程序那些事 kill

“妈我不想去上课!”“不行你是老师!”

梦想橡皮擦

9月日更

Python——绑定与方法调用

在即

9月日更

通过线路输入功能快速创建吉他谱

懒得勤快

雪花算法,什么情况下发生 ID 冲突?

程序员马称

Java lua redis 雪花算法

图计算的应用

6979阿强

玩转anyRTC用户控制台

anyRTC开发者

音视频 WebRTC 语音通话 视频通话 用户后台

Android音频API

轻口味

android 音视频 引航计划 9月日更

普通二本的辛酸Java面试之路,Java程序员架构之路该如何继续学习

Java 程序员 后端

命令行如何执行jar包里面的方法

FunTester

性能测试 反射 接口测试 测试框架 FunTester

手撸二叉树之翻转二叉树

HelloWorld杰少

9月日更

某大厂开发者对于Java多线程的总结,Java排序算法面试

Java 程序员 后端

每个程序员都必须掌握的8种数据结构,2021Java开发面试解答

Java 程序员 后端

【LeetCode】寻找峰值Java题解

Albert

算法 LeetCode 9月日更

还重构?就你那代码只能铲了重写!

小傅哥

Java 小傅哥 代码优化 代码重构 开发标准

DBA:介里有你没有用过的“CHUAN”新社区版本Redis6.0

华为云开发者联盟

redis 开源 多线程 Redis 6.0 华为云DCS

内部发布和对外发布的区别_敏捷_Vikas Hazrati_InfoQ精选文章