《持续交付》封面上的故事——福斯铁路桥

不知道有多少人把《持续交付》一书的前言看全了。最后一部分讲的是福斯铁路桥(本站Logo上的这座美丽的桥),并把它和软件做类比。现摘录如下:

福斯铁路桥是英国第一座使用钢铁建造的大桥。其钢铁使用最新的西门子马丁平炉工艺制造,并由在苏格兰的两个钢铁厂和威尔士的一个钢铁厂交付。钢铁是以管状桁架的形式运送的,这是英国首次使用大规模生产的零部件组装桥梁。与早期的桥梁不同,设计师John Fowler爵士,Benjamin Baker爵士和Allan Stewart计算了建筑压发生率,以便减少后续的维护成本,并计算了风压和温度对结构的影响,而这很像软件开发中的功能需求和非功能需求。他们还监督了桥梁建设,以确保这些要求都能得到满足。

当时有4600名工人参与建造该桥,其中不幸死亡约一百人,致残数百人。然而它仍是工业革命的一个奇迹,因为1890年建成时,它是世界上最长的桥,而到了21世纪初,它仍是世界第二长的悬臂大桥。就像长生命周期的软件项目一样,这座桥需要持续维护。这已在设计时考虑到了,大桥配套工程中不但有一个维护车间和场地,而且在Dalmeny车站还有一个50个房间的铁路“聚居点”。据估计,该桥的使用寿命还有一百多年。

《持续交付》中文版已上架销售,欢迎对译文进行意见反馈。

持续交付, continuous delivery《持续交付》中文版已于2011年10月17日上架销售。

该书由Jez Humble 和 Dave Farley历时三年完成,

Martin Fowler为该书作序,并称其为“2010年最重要的持续书籍”,

同时,在2011年8月获得 “Jolt 杰出奖”。

从下面网站均可购得:

如果您在书中发现有些地方翻译欠妥,您有多种渠道反馈建议。

  1. 请在下面直接回复即可。内容包括:问题所在页号、原文句子,以及您的建议。
  2. 点击这里,进入图灵社区的《持续交付》专栏勘误。
  3. 直接邮件给译者,邮箱是:qiaoliang.email@gmail.com

谢谢!

 

持续交付成熟度模型更新,新版本v1.2发布

《持续交付》一书中提供的“持续交付成熟度模型”是1.0版本。

这是经过再次调整的改进版,更具有指导性和可操作性。

使用说明:

建议使用该模型进行现状分析,发现改进点,不建议将其作为绩效衡量的标准。

一、七个维度

它们分别是:

1. 持续集成(Continuous Integration)

2. 环境与部署(Environments and Deployments)

3. 可视化与可追踪性(Visibility and Traceability)

4. 测试(Testing)

5. 数据管理(Data Management)

6. 配置管理(Configuration Management)

7. 组织协调性(Organisational Alignment)

二、每个维度又分成五个级别,它们分别是:

一级:阻碍级(Regressive)

二级:可重复级(Repeatable)

三级:可定义级

四级:可定量级(Quantitatively managed)

五级:优化级(Optimizing)

其中,持续集成维度的五个级别分别是:

一级:阻碍级(Regressive)

1. 软件的构建过程是手工的。
2. 构建过程冗长,而且其中的主要步骤常常出错。

二级:可重复级(Repeatable)

1. 在开发人员的代码上进行定期的自动化构建和单元测试。
2. 利用自动化过程,能够从源控制中重新生成任意一个构建版本。
3. 开发人员的提交频率是不定的。

三级:已定义级

1. 每次提交都会触发构建和各类测试。
2. 公共工具集中的脚本或工件得到重用。

四级:可定量级(Quantitatively managed)

1. 构建数据度量项被收集,高度可视化,并执行相应的改进活动。
2. 构建失败不会没人管。所有团队成员至少每天提交一次。
3. 尽可能在最后时刻(即将发布时)才拉发布分支。

五级:优化级(Optimizing)

1. 随时可以从主干上拿到已全面集成且生产环境可部署的构建版本。
2. 关注点是:随着对代码质量信心不断提交,能够进行更加频繁的提交。

环境与部署的五个级别分别是:

一级:阻碍级(Regressive)

1. 手工准备环境,无适当方法管理环境冲突。
2. 手工部署软件。

二级:可重复级(Repeatable)

1. 环境已被定义,并可自动化地准备和控制。
2. 部署操作是手工和自动化相结合才能完成。

三级:可定义级

1. 开发和测试环境是全面自动化且自服务的。
2. 已具备 “点击按钮即可向任意环境进行部署”的能力。
3. 为了完成自己的工作,每个人都有相应权限访问并操作相应的环境。

四级:可定量级(Quantitatively managed)

1. 协调的部署管理。
2. 发布计划自动产生。
3. 对所有的失败进行根因分析。
4. 回滚流程被脚本化,并被管理起来。
5. 建立了环境和系统健康状态指示板(Dashboard),其上显示的数据被监控和报告。

五级:优化级(Optimizing)

1. 环境的准备是全自动化的。
2. 已具备根据需求快速重建完整环境和基础设施的能力。
3. 端到端的业务度量项被监控。

这里可以下载全部

持续交付-追求软件卓越的必读书目

持续交付,Jez Humble著,乔梁译

被Martin Fowler誉为2010年软件业最重要的一本技术书籍《持续交付:Continuous Delievery》于去年10月份在发布第一版。该书由ThoughtWorks公司的资深咨询师Jez Humble与David Fawley所著,可以说是该领域数年的经验总结。

自2007年开始,与Jez Humble一起,和来自四个国家的同事开发了Cruise(ThoughtWorks Studios 开发的一款持续集成与发布管理工具,现在改名为Go)。我们在两年内发布了8个版本,而且在V1.0中就引入了Pipeline的概念,而这正是本书的核心。本书是对持续集成、持续发布方面的多年经验做的精妙总结,而Cruise这款产品本身也是这些原则与实践的产物。如果你想真正了解持续集成是如何在真实项目中成功应用的,那么请一定不要错过这本书!

经过10个月的奋战,终于将第一稿译文完成,正在进行Review,希望能够尽快与读者见面。现附上前五章的中文目录。

Continue reading 持续交付-追求软件卓越的必读书目