持续交付:发布可靠软件的系统方法
10推荐 收藏
31.7K阅读
图灵程序设计丛书

持续交付:发布可靠软件的系统方法

Jez Humble , David Farley (作者) 乔梁 (译者)
本书讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。本书由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨论了更多细节,包括增量开发技术、高级版本控制模式,以及基础设施、环境和数据的管理和组织治理。


本书适合所有开发人员、测试人员、运维人员和项目经理学习参考。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

纸质书
¥80.10 ¥89.00

出版信息

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的最新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

第21届Jolt大奖获奖作品
 马丁•福勒作序推荐
 原著被誉为2010年最重要的技术书
 软件开发的新经典

目录

第一部分 基础篇

第1 章 软件交付的问题   2

1.1 引言  2

1.2 一些常见的发布反模式   3

1.2.1 反模式:手工部署软件   4

1.2.2 反模式:开发完成之后才向类生产环境部署   5

1.2.3 反模式:生产环境的手工配置管理  7

1.2.4 我们能做得更好吗   8

1.3 如何实现目标   9

1.3.1 每次修改都应该触发反馈流程  10

1.3.2 必须尽快接收反馈   11

1.3.3 交付团队必须接收反馈并作出反应   12

1.3.4 这个流程可以推广吗  12

1.4 收效  12

1.4.1 授权团队  13

1.4.2 减少错误  13

1.4.3 缓解压力  15

1.4.4 部署的灵活性  16

1.4.5 多加练习,使其完美  17

1.5 候选发布版本  17

1.6 软件交付的原则  19

1.6.1 为软件的发布创建一个可重复且可靠的过程  19

1.6.2 将几乎所有事情自动化  19

1.6.3 把所有的东西都纳入版本控制  20

1.6.4 提前并频繁地做让你感到痛苦的事  20

1.6.5 内建质量  21

1.6.6 “DONE”意味着“已发布”    21

1.6.7 交付过程是每个成员的责任   22

1.6.8 持续改进  22

1.7 小结   23

第2 章 配置管理  24

2.1 引言  24

2.2 使用版本控制  25

2.2.1 对所有内容进行版本控制  26

2.2.2 频繁提交代码到主干  28

2.2.3 使用意义明显的提交注释  29

2.3 依赖管理  30

2.3.1 外部库文件管理  30

2.3.2 组件管理  30

2.4 软件配置管理  31

2.4.1 配置与灵活性  31

2.4.2 配置的分类   33

2.4.3 应用程序的配置管理  33

2.4.4 跨应用的配置管理  36

2.4.5 管理配置信息的原则   37

2.5 环境管理   38

2.5.1 环境管理的工具  41

2.5.2 变更过程管理  41

2.6 小结   42

第3 章 持续集成  43

3.1 引言  43

3.2 实现持续集成  44

3.2.1 准备工作  44

3.2.2 一个基本的持续集成系统  45

3.3 持续集成的前提条件  46

3.3.1 频繁提交  46

3.3.2 创建全面的自动化测试套件  47

3.3.3 保持较短的构建和测试过程  47

3.3.4 管理开发工作区   49

3.4 使用持续集成软件  49

3.4.1 基本操作   49

3.4.2 铃声和口哨   50

3.5 必不可少的实践   52

3.5.1 构建失败之后不要提交新代码  52

3.5.2 提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事  53

3.5.3 等提交测试通过后再继续工作  54

3.5.4 回家之前,构建必须处于成功状态   54

3.5.5 时刻准备着回滚到前一个版本  55

3.5.6 在回滚之前要规定一个修复时间  56

3.5.7 不要将失败的测试注释掉   56

3.5.8 为自己导致的问题负责  56

3.5.9 测试驱动的开发  57

3.6 推荐的实践   57

3.6.1 极限编程开发实践  57

3.6.2 若违背架构原则,就让构建失败   58

3.6.3 若测试运行变慢,就让构建失败   58

3.6.4 若有编译警告或代码风格问题,就让测试失败  59

3.7 分布式团队  60

3.7.1 对流程的影响  60

3.7.2 集中式持续集成   61

3.7.3 技术问题  61

3.7.4 替代方法   62

3.8 分布式版本控制系统  63

3.9 小结  66

第4 章 测试策略的实现   67

4.1 引言   67

4.2 测试的分类   68

4.2.1 业务导向且支持开发过程的测试  69

4.2.2 技术导向且支持开发过程的测试  72

4.2.3 业务导向且评价项目的测试  72

4.2.4 技术导向且评价项目的测试  73

4.2.5 测试替身  74

4.3 现实中的情况与应对策略  75

4.3.1 新项目  75

4.3.2 项目进行中   76

4.3.3 遗留系统   77

4.3.4 集成测试  78

4.4 流程  80

4.5 小结  82

第二部分 部署流水线

第5 章 部署流水线解析  84

5.1 引言   84

5.2 什么是部署流水线  85

5.3 部署流水线的相关实践  91

5.3.1 只生成一次二进制包   91

5.3.2 对不同环境采用同一部署方式  93

5.3.3 对部署进行冒烟测试   94

5.3.4 向生产环境的副本中部署  94

5.3.5 每次变更都要立即在流水线中传递   95

5.3.6 只要有环节失败,就停止整个流水线  96

5.4 提交阶段  96

5.5 自动化验收测试之门  99

5.6 后续的测试阶段  102

5.6.1 手工测试   103

5.6.2 非功能测试  103

5.7 发布准备  104

5.7.1 自动部署与发布   104

5.7.2 变更的撤销  106

5.7.3 在成功的基础上构建   107

5.8 实现一个部署流水线   107

5.8.1 对价值流进行建模并创建简单的可工作框架   107

5.8.2 构建和部署过程的自动化  108

5.8.3 自动化单元测试和代码分析  109

5.8.4 自动化验收测试   109

5.8.5 部署流水线的演进   110

5.9 度量  111

5.10 小结  113

第6 章 构建与部署的脚本化   115

6.1 引言  115

6.2 构建工具概览  116

6.2.1 Make  118

6.2.2 Ant  118

6.2.3 NAnt 与 MSBuild  119

6.2.4 Maven  120

6.2.5 Rake   121

6.2.6 Buildr   121

6.2.7 Psake   121

6.3 构建部署脚本化的原则与实践   122

6.3.1 为部署流水线的每个阶段创建脚本  122

6.3.2 使用恰当的技术部署应用程序   122

6.3.3 使用同样的脚本向所有环境部署  123

6.3.4 使用操作系统自带的包管理工具  124

6.3.5 确保部署流程是幂等的(Idempotent)  125

6.3.6 部署系统的增量式演进  126

6.4 面向JVM 的应用程序的项目结构  126

6.5 部署脚本化  129

6.5.1 多层的部署和测试  130

6.5.2 测试环境配置  131

6.6 小贴士  132

6.6.1 总是使用相对路径  132

6.6.2 消除手工步骤  132

6.6.3 从二进制包到版本控制库的内建可追溯性  133

6.6.4 不要把二进制包作为构建的一部分放到版本控制库中  133

6.6.5 “test”不应该让构建失败  134

6.6.6 用集成冒烟测试来限制应用程序  134

6.6.7 .NET 小贴士  135

6.7 小结  135

第7 章 提交阶段  137

7.1 引言  137

7.2 提交阶段的原则和实践  138

7.2.1 提供快速有用的反馈  138

7.2.2 何时令提交阶段失败  139

7.2.3 精心对待提交阶段  140

7.2.4 让开发人员也拥有所有权  140

7.2.5 在超大项目团队中指定一个构建负责人  141

7.3 提交阶段的结果  141

7.4 提交测试套件的原则与实践  144

7.4.1 避免用户界面  145

7.4.2 使用依赖注入  145

7.4.3 避免使用数据库  145

7.4.4 在单元测试中避免异步  146

7.4.5 使用测试替身   146

7.4.6 最少化测试中的状态   149

7.4.7 时间的伪装  150

7.4.8 蛮力  150

7.5 小结   151

第8 章 自动化验收测试  152

8.1 引言   152

8.2 为什么验收测试是至关重要的   153

8.2.1 如何创建可维护的验收测试套件  155

8.2.2 GUI 上的测试   156

8.3 创建验收测试  157

8.3.1 分析人员和测试人员的角色  157

8.3.2 迭代开发项目中的分析工作  157

8.3.3 将验收条件变成可执行的规格说明书   158

8.4 应用程序驱动层  161

8.4.1 如何表述验收条件   163

8.4.2 窗口驱动器模式:让测试与GUI 解耦  164

8.5 实现验收测试  166

8.5.1 验收测试中的状态   166

8.5.2 过程边界、封装和测试   168

8.5.3 管理异步与超时问题   169

8.5.4 使用测试替身对象   171

8.6 验收测试阶段  174

8.6.1 确保验收测试一直处于通过状态  175

8.6.2 部署测试  177

8.7 验收测试的性能  178

8.7.1 重构通用任务   178

8.7.2 共享昂贵资源   179

8.7.3 并行测试  180

8.7.4 使用计算网格   180

8.8 小结  181

第9 章 非功能需求的测试  183

9.1 引言  183

9.2 非功能需求的管理  184

9.3 如何为容量编程  186

9.4 容量度量  188

9.5 容量测试环境  191

9.6 自动化容量测试  194

9.6.1 通过UI 的容量测试  195

9.6.2 基于服务或公共API 来录制交互操作  196

9.6.3 使用录制的交互模板   197

9.6.4 使用容量测试桩开发测试  198

9.7 将容量测试加入到部署流水线中  199

9.8 容量测试系统的附加价值   201

9.9 小结   202

第10 章 应用程序的部署与发布   203

10.1 引言  203

10.2 创建发布策略   204

10.2.1 发布计划  205

10.2.2 发布产品  205

10.3 应用程序的部署和晋级   206

10.3.1 首次部署  206

10.3.2 对发布过程进行建模并让构建晋级   207

10.3.3 配置的晋级  209

10.3.4 联合环境  209

10.3.5 部署到试运行环境   210

10.4 部署回滚和零停机发布  211

10.4.1 通过重新部署原有的正常版本来进行回滚  211

10.4.2 零停机发布  212

10.4.3 蓝绿部署   212

10.4.4 金丝雀发布  213

10.5 紧急修复  216

10.6 持续部署  216

10.7 小贴士和窍门   219

10.7.1 真正执行部署操作的人应该参与部署过程的创建  219

10.7.2 记录部署活动   220

10.7.3 不要删除旧文件,而是移动到别的位置   220

10.7.4 部署是整个团队的责任   220

10.7.5 服务器应用程序不应该有GUI   220

10.7.6 为新部署留预热期   221

10.7.7 快速失败   221

10.7.8 不要直接对生产环境进行修改  222

10.8 小结  222

第三部分 交付生态圈

第11 章 基础设施和环境管理   224

11.1 引言   224

11.2 理解运维团队的需要   225

11.2.1 文档与审计   226

11.2.2 异常事件的告警   227

11.2.3 保障IT 服务持续性的计划  227

11.2.4 使用运维团队熟悉的技术   228

11.3 基础设施的建模和管理  229

11.3.1 基础设施的访问控制   230

11.3.2 对基础设施进行修改   231

11.4 服务器的准备及其配置的管理   232

11.4.1 服务器的准备   233

11.4.2 服务器的持续管理   234

11.5 中间件的配置管理  239

11.5.1 管理配置项   239

11.5.2 产品研究   241

11.5.3 考查中间件是如何处理状态的   242

11.5.4 查找用于配置的API    242

11.5.5 使用更好的技术   243

11.6 基础设施服务的管理  243

11.7 虚拟化  245

11.7.1 虚拟环境的管理   247

11.7.2 虚拟环境和部署流水线  249

11.7.3 用虚拟环境做高度的并行测试  251

11.8 云计算  252

11.8.1 云中基础设施  253

11.8.2 云中平台  254

11.8.3 没有普适存在  255

11.8.4 对云计算的批评  256

11.9 基础设施和应用程序的监控  256

11.9.1 收集数据  257

11.9.2 记录日志  259

11.9.3 建立信息展示板  259

11.9.4 行为驱动的监控  261

11.10 小结  261

第12 章 数据管理  263

12.1 引言  263

12.2 数据库脚本化  264

12.3 增量式修改  265

12.3.1 对数据库进行版本控制  265

12.3.2 联合环境中的变更管理  267

12.4 数据库回滚和无停机发布  268

12.4.1 保留数据的回滚  268

12.4.2 将应用程序部署与数据库迁移解耦  269

12.5 测试数据的管理  270

12.5.1 为单元测试进行数据库模拟  271

12.5.2 管理测试与数据之间的耦合  272

12.5.3 测试独立性  272

12.5.4 建立和销毁  273

12.5.5 连贯的测试场景  273

12.6 数据管理和部署流水线  274

12.6.1 提交阶段的测试数据  274

12.6.2 验收测试中的数据  275

12.6.3 容量测试的数据  276

12.6.4 其他测试阶段的数据  277

12.7 小结  278

第13 章 组件和依赖管理  280

13.1 引言  280

13.2 保持应用程序可发布  281

13.2.1 将新功能隐蔽起来,直到它完成为止  282

13.2.2 所有修改都是增量式的   283

13.2.3 通过抽象来模拟分支   284

13.3 依赖  285

13.3.1 依赖地狱   286

13.3.2 库管理   287

13.4 组件  289

13.4.1 如何将代码库分成多个组件  289

13.4.2 将组件流水线化   292

13.4.3 集成流水线   293

13.5 管理依赖关系图  295

13.5.1 构建依赖图   295

13.5.2 为依赖图建立流水线   297

13.5.3 什么时候要触发构建   299

13.5.4 谨慎乐观主义   300

13.5.5 循环依赖  302

13.6 管理二进制包  303

13.6.1 制品库是如何运作的   303

13.6.2 部署流水线如何与制品库相结合   304

13.7 用Maven 管理依赖  304

13.8 小结   308

第14 章 版本控制进阶   309

14.1 引言  309

14.2 版本控制的历史  310

14.2.1 CVS   310

14.2.2 SVN   311

14.2.3 商业版本控制系统   312

14.2.4 放弃悲观锁   313

14.3 分支与合并   314

14.3.1 合并   316

14.3.2 分支、流和持续集成   317

14.4 DVCS   319

14.4.1 什么是DVCS    319

14.4.2 DVCS 简史   321

14.4.3 企业环境中的DVCS   321

14.4.4 使用DVCS   322

14.5 基于流的版本控制系统   324

14.5.1 什么是基于流的版本控制系统  324

14.5.2 使用流的开发模型   326

14.5.3 静态视图和动态视图   327

14.5.4 使用基于流的版本控制系统做持续集成   328

14.6 主干开发  329

14.7 按发布创建分支  332

14.8 按功能特性分支  333

14.9 按团队分支  335

14.10 小结  338

第15 章 持续交付管理  340

15.1 引言   340

15.2 配置与发布管理成熟度模型  341

15.3 项目生命周期   343

15.3.1 识别阶段  344

15.3.2 启动阶段  345

15.3.3 初始阶段  346

15.3.4 开发与发布  347

15.3.5 运营阶段   349

15.4 风险管理流程   350

15.4.1 风险管理基础篇   350

15.4.2 风险管理时间轴   351

15.4.3 如何做风险管理的练习  352

15.5 常见的交付问题、症状和原因  353

15.5.1 不频繁的或充满缺陷的部署  353

15.5.2 较差的应用程序质量   354

15.5.3 缺乏管理的持续集成工作流程  355

15.5.4 较差的配置管理   355

15.6 符合度与审计  356

15.6.1 文档自动化  356

15.6.2 加强可跟踪性   357

15.6.3 在筒仓中工作   358

15.6.4 变更管理  358

15.7 小结  360

参考书目  361




相关文章

  • 武卫东 推荐

    [转]迈向持续集成 by dreamhead

    原文链接 (转载时请以超链接形式标明文章原始出处和作者信息及本声明) 前不久,Perryn Fowler在西安办公室帮忙,闲暇时,他捧着本书在读,我问他什么书,Continuous Delivery。他说,你应该读一下。 最近,客户负责我们这个项目的人在我们的办公室里,… ...

  • 武卫东 推荐

    有关持续交付的PPT

    乔梁:持续交付的魅力 Jez Humble: Continuous Delivery Mike McGarr: [Continuous Delive… ...

  • 流星在线 2推荐

    持续交付成熟度模型 V1.2

    《持续交付》一书中提供的持续交付成熟度模型是第一版。这是再次经过调整的改进版,更具有指导性和可操作性。 pdf地址 新浪地址 [115网盘][3] ![enter image description here][4] ...

  • 出版圈郭志敏 2推荐

    2011年Dr.Dobb's Jolt图书大奖作品《持续交付》

    [本文来自][1] 有软件界“奥斯卡奖”之称的Dr.Dobb's Jolt图书大奖昨天揭晓。虽然随着Dr.Dobb's Journal和Software Development杂志的相继停刊,… ...

  • 出版圈郭志敏 推荐

    持续集成的前身

    在使用持续集成之前,很多开发团队都使用每日构建(nightly build)。当时,微软使用这个实践已经很多年了。谁破坏了构建,就要负责监视后续的构建过程,直至发现下一个破坏了构建的人。 现在很多项目仍旧在使用每日构建的做法,在每天晚上,所有人都回家以后,通过批处理过程对代码…...

  • 出版圈郭志敏 3推荐

    持续集成

    3.1 引言 很 多软件项目都有一个非常奇怪而又常见的特征,即在开发过程里,应用程序在相当长的一段时间内无法运行。事实上,由大规模团队开发的软件中,绝大部分在开发 过程中基本上处于不可用状态。其原因很简单,没有人有兴趣在开发完成之前运行整个应用。虽然开发人员提交代码后可能会运…...

  • 高翌翔 5推荐

    数据库测试的重要性——永远不要忘记数据库测试

    原文链接:The Importance of Database Testing 特别说明:欢迎大家积极参与【iTran乐译】第2期活动! … ...

  • 盼盼姐 6推荐

    IMVU如何在实施持续部署的同时确保软件质量

    2010年4月9日 James Birchler [原文链接][1] 在科技圈的各种大会上,我们和很多人有过交谈,他们对我们在IMVU上的[持续部署][2]流程很感兴趣,想知道我们是如何每天[部署50次代码][3]的。我们也听到一些问题,关于我们是如何做到在不引入新缺陷和回归…...

  • 出版圈郭志敏 3推荐

    《持续交付》走进百度技术沙龙

      10月29日,在京仪大酒店举办的百度技术沙龙活动中,来自于百度公司项目管理部的高级架构师乔梁带着[《持续交付》][1]走入百度技术沙龙。在此次演讲中,乔梁分享了[持续交付][2]在解决运维与开发上的经验和方法。同时,乔梁还以实际案例的形式回顾了某产品团队如何从传统开发走向持…...

  • 何逸勤 11推荐

    乔梁:持续交付将变成必备能力(图灵访谈)

    图灵访谈之二:专访乔梁 10月29日,图灵社区就“持续交付”这一主题,采访了知名技术讲师、百度高级架构师乔梁先生,以下为访谈内容。 人物简介:乔梁 拥有十多年软件开发及项目管理经验,专注于提高企业的高质量软件交付能力,推广最佳实践。曾为多个大型电信企业、互联网企业提供…...

  • 何逸勤 4推荐

    [翻译]2011年Jolt大奖最佳图书——《持续交付》

    Andrew Binstock 原文链接 过去20年间,我们一直在甄别软件开发工具中各个类别的最佳产品。图书无疑是最多候选者的类别,今年也不例外。在2010年7月1日至2011年6月30日出版的所有图书中,出版商、书店和读者共选出了51本候选图书。 候选图书实在太多了… ...

  • 白龙 3推荐

    持续交付VS持续部署

    Timothy Fitz的博文 [持续部署][1],在Dave和我关于持续交付的书一年前就有了。那么,我们为什么选择一个不同的名字呢?它们确实是有差别或是因为我们故意作对? 我们给书起名持续交付基于以下几个原因。首先,有些学究气的说,部署没有隐含发布的意思。正如我们在书中说,…...

  • 杨帆 4推荐

    《持续交付》书评与作者访谈

    持续交付,意味着从项目第一天开始,即使不是所有功能特性都已经实现,软件产品就已经准备好作为产品交付,并可以按照用户的要求发布给他们。[《持续交付》][1]书籍作者Jez Humble和David Farley讨论了这个概念,包括在组织内流程、人和工具这三个领域中的最佳实践,从而…...

  • 杨帆 1推荐

    《持续交付》被选作牛津大学敏捷工程实习课教材

    《持续交付》的作者Jaz Humble自己在[blog][1]上光荣地宣布这本书被他的母校——牛津大学选作软件工程硕士课程——敏捷工程实习的教材,并转述了该门课程教授 [Dr Robert Chatley][2] ([@rchatley][3])推荐该书的原因: 最能激发我们将…...

  • 盼盼姐 6推荐

    图灵社区“持续交付”专题交流会

    > **怀疑** > “看《持续交付》那本书的人中,我怀疑有很大一部分比例,对其中核心思想---用频繁提交的代码方法来提高效率---充满怀疑,因此看这本书可能只是一种了解或者防御心态,当受到质疑的时候好站起来说,‘我们也研究过持续交付---不过那种方法并不适合我们。’” ...

  • 盼盼姐 5推荐

    图灵社区“持续交付”专题交流会活动手记

    下载链接在右边的本文附件中。 [陈小光“presubmit system for CI"视频链接][1] [乔梁不插电无PPT演讲视频链接][2] 2012年3月24日,图灵社区迎来了第二次自己主办的专题交流会,精硕科技提供的环境还是那么怡人,交流会伴随着午后的…...

  • 盼盼姐 6推荐

    《持续交付》作者Jez Humble北京见面会

    本次讲座将要讨论持续交付对于商业的价值。然后将要介绍关于持续交付相关的理论和实践,包括价值流图, 部署管道, 验收测试驱动开发,零宕机发布,增量式开发....

  • 盼盼姐 13推荐

    [视频]Jez Humble:我们为什么要“持续交付”(图灵访谈)

    图灵访谈之三十七:专访Jez Humble谈我们为什么要“持续交付” Jez Humble,中文名韩捷,是ThoughtWorks的首席咨询师,也是[《持续交付》][1]一书的作者之一。从2004年开始,他进入ThoughtWorks,并在北京、班加罗尔、伦敦和旧金山的Th…...

  • 盼盼姐 8推荐

    乔梁:“持续交付”不是守业者的游戏(图灵访谈)

    乔梁,腾讯高级管理顾问,负责指导IEG 、MIG和SNG团队提高组织效能。他曾任搜狐畅游公司北方研发中心首席管理顾问,并先后在百度和诺基亚负责公司级敏捷组织转型工作。作为一位互联网研发管理与敏捷组织转型的实践者、持续交付领域专家,乔梁已为多个互联网、金融、通信公司提供相关培训和…...

  • 2gua 7推荐

    [乐译 第11期] 为什么软件开发方法论让你觉得糟糕?

    ![enter image description here][1] 第一次翻译乐译文章,结果翻译的时候发现这篇比较难啊......,之间停了两天出去走了走。 本人2gua,你认识就认识了,不认识也就不认识了。 作者试图告诉你,方法无形,不能形而上,你得紧紧抓住划小开发周期以…...

  • 乔梁QL 9推荐

    持续交付,价值主张

    过去十年中,一个划时代的改变就是:基于Web的业务模式对传统企业业务模式的冲击。亚马逊就是历史最长,也最明显的例子之一,而越来越多的公司(从航空到金融服务)开始依赖软件打造其竞争优势了。 ​依靠软件来运行的业务有两个关键组件:一是你想如何改变世界的愿景,二是尽早收集用户的反馈…...

  • 乔梁QL 6推荐

    Infrastructure tooling patterns

    原文链接:http://ranjib.posterous.com/infrastructure-tooling-patterns 因为无法访问,转载这里。 ---------------------------------------- Following is my gro…...

  • enya 5推荐

    [译文]持续交付与传统敏捷的矛盾

    我在采用持续交付的组织中和开发团队工作一起工作,发现很多开发者认为的正确的敏捷团队的工作方式,在这里跑得不是很顺畅。我认为传统敏捷与持续交付的矛盾的根本在于,二者是采用不同的方式把软件变得“可以发布“(ready to release)的。 软件交付的演进 使软件变得可以发…...

  • 袁野 5推荐

    乔梁谈“持续交付”

    演讲者简介: 乔梁(乔帮主)[@乔梁QL][1],男。拥有多年软件开发及管理经验,对敏捷开发管理及持续交付有深入的理解与丰富的实践经验,专注于提高软件企业的高质量交付能力,推广最佳实践。为多个大型电信企业、互联网企业提供过专业的软件交付咨询服务。曾在ThoughtWorks…...

  • 袁野 1推荐

    陈小光开讲CI的预提交系统

    演讲者简介: 陈小光,[@v陈小光v][1],来自腾讯的高级工程师,他从事软件配置管理,持续集成,软件质量保证工作6年时间。目前在腾讯搜搜负责持续集成平台建设和项目实施,之前曾在大型银行、淘宝等公司就职。工作之余,活跃在各种社区,是配置管理社区Scmlife.com的配置管…...

  • 眼下正在弄相关的东西,这本书的出版实在是太及时了,希望有机会能和作者、译者多交流。
    i大苹果  发表于 2011-11-02 15:03:57
    推荐
  • 这书,不涉及具体的编程语言,不涉及具体的应用领域,所讨论的是每个项目,每个团队都会遇到的问题,为什么会觉得不好卖,印量只有4K。
    大头  发表于 2011-10-26 13:12:10
    推荐
    • 不着急,慢慢来。

      武卫东  发表于 2011-11-01 19:08:58
  • 搞一本看看
    白龙  发表于 2011-10-26 19:02:39
    推荐
  • 谁了解cloud foundry?欢迎交流。QQ:417264842
    damoco  发表于 2014-01-16 11:58:40
    推荐