剖析“持续交付”:五个核心实践

原文发表于 InformIT

持续交付 是一种软件开发策略,用于优化软件交付流程,以尽快得到高质量、有价值的软件。这种方法让你能更快地验证业务想法,通过直接在用户那里进行试验,做到快速迭代。 尽管《持续交付》一书主要讲的是工程实践,但持续交付的概念对整个产品交付过程都有重大意义,包括对特性的”fuzzy front end”、设计和分析的意义。

持续交付的一般性原则如下:

与其设计一大堆特性,再策划一个持续数月的版本发布,不如持续不断地尝试新想法,并独立发布给用户。通过充分思考,即便很大的特性或者大范围的变更,也能够通过一系列小步骤得到更快反馈,而且一旦你认为有必要停下来的话,可以随时停下来。利用 跨功能团队 在几小时或几天内交付这些小且增量式的功能,就能比竞争者有更多的创新,将投资回报最大化。

持续交付五个关键实践,为你建立一个从猜测到持续反馈的最有效途径,它们就是:

  • 从最小可行产品(MVP)开始——Start with a minimum viable product
  • 衡量新特性的价值——Measure the value of your features.
  • 做恰好充分的预先分析——Perform just enough analysis up front.
  • 少做——Do less.
  • 用户故事中要包括特性开关——Include feature toggles in your stories.

Continue reading 剖析“持续交付”:五个核心实践

为什么要做持续部署?

本文是《Lean Startup》一书的作者Eric 在2009年发表的一篇博文,他是IMVU的创始人之一。文中没有讨论如何做持续部署,而是讨论了一个更关键的问题:“IMVU为什么要做持续部署?”这也充分地表达了他关于“Learning from production and customer”的观点。

----------------------------------------

在我所倡导的Lean Startup所有实践中,没有哪个实践比持续部署更有争议(持续部署是指:让公司在几分钟内发布软件的过程,而不是几天或几个月才发布一次)。我之前所在的一个创业公司IMVU使用这个流程,平均每天部署50次。这也引发了一些争论,有些人说:这种快速发布流程会导致低质量的软件,或者阻碍公司的创新。假如我们能够接受由客户来评判,而不是专家的判定,那么,我想这些说法就很容易消散了。一个更为常见,且更为困难的问题是:如何回答那些只想知道这种持续部署是否可以用于他们自己的业务、行业或团队的人们。 Continue reading 为什么要做持续部署?