
持续交付,从云端到地面
持续交付在最近一两年受到日益广泛的关注。在对它产生兴趣的同时,很多研发管理者的脑海中也浮现出两个自然的问题:我是否需要持续交付?如果想要提升持续交付能力,我应该如何做?本演讲分为两个部分,将分别解答这两个问题。首先,我们将从三万英尺的视角俯瞰移动互联网时代的IT研发,指出众多IT组织共同面临的一些重要挑战,从而理解持续交付对于IT组织的意义;然后,我们将以背包客的视角亲历持续交付的旅程,看到建设持续交付能力过程中将会面临的挑战与应对方法。

持续交付在最近一两年受到日益广泛的关注。在对它产生兴趣的同时,很多研发管理者的脑海中也浮现出两个自然的问题:我是否需要持续交付?如果想要提升持续交付能力,我应该如何做?本演讲分为两个部分,将分别解答这两个问题。首先,我们将从三万英尺的视角俯瞰移动互联网时代的IT研发,指出众多IT组织共同面临的一些重要挑战,从而理解持续交付对于IT组织的意义;然后,我们将以背包客的视角亲历持续交付的旅程,看到建设持续交付能力过程中将会面临的挑战与应对方法。

当软件行业进入互联网时代,市场对软件产品和服务的交付提出了更高的要求:不仅要快速实现需求,而且要快速发布上线,并且必须保证业务可靠、高效运行。为了满足这些要求,IT组织需要强有力的流程、技术和人员作为保障。本文将分析大型软件组织在软件发布与运营维护阶段常见的典型问题,并介绍一种行之有效的解决对策。

很多团队都有tech lead这个角色的存在,但同时很多团队对这个角色都缺乏明确的定义。大多数时候,团队只是指派其中经验最丰富、技术最精熟的开发者来担当tech lead。但除了“tech”的成分之外,这个角色还有“lead”的成分,这就决定了他不仅需要技术上的能力,还要眼观六路耳听八方,才能带领团队。Tech lead需要关注的事情可谓纷繁芜杂。把这些事情分门别类,我们可以看到,这个角色大致有三方面的职责:技术决策者、流程监督人、干扰过滤器。

如果我足够幸运的话,也许一些读者已经被这篇文章吊起了胃口:既然有这么好的软件开发方法,既然它能够为我们创造更大的价值,那还等什么呢,我们马上就动 手吧。事情不会那么简单。为了让迭代式开发能够成为现实,为了确保尽快、尽可能频繁地交付,为了确保每次交付的都是最有价值的功能,我们——包括软件开发 者、软件企业和客户——需要很多的改变。这里既有职责与权利的划分,也有开发过程和团队的重组,还有技术层面的实践指导。这些正是敏捷方法学所涵盖的内 容。缺少了这些东西,“为客户创造最大价值”就只能成为一句空话。

本演讲借用ThoughtWorks某咨询案例,介绍如何采用精益生产方法对大型软件组织进行敏捷改造。在这个咨询项目中,ThoughtWorks咨询师引入的精益理念包括:5S、自动化、现场管理、湖水和岩石、造物先造人。以这些精益理念结合敏捷实践,贯彻PDCA/SDCA实施策略,在四个月的时间里,成功地对一支超过百人的交付团队完成了初步敏捷改造。

在这个视频采访中,InfoQ中文站的社区编辑熊节和开源项目XRuby的核心开发成员郑晔谈到了在Java平台上支持Ruby的具体考虑、Ruby在JVM上的执行效率、编译和解释代码的区别以及XRuby项目的发起和目标等话题。另外采访还涉及到XRuby对Rails的支持、JRuby和XRuby项目的融合等。