苹果的持续交付

最近,在持续交付和精益创业的相关讨论中,经常提到苹果公司的例子。比如Richard Durnall(精益思想和系统管理的倡导者,第三届敏捷中国大会的演讲者,《将精益思考的方法引入技术实践》)在Twitter上描述了苹果的策略

几个不寻常的家伙对其杰出的产品愿景坚信不移,并以盛大的庆典来做为其产品的发布仪式,而且,更重要的是,这种产品发布并不频繁。

这看上去恰好与精益创业或持续交付所倡导的方法背道而驰。由于苹果对其内部开发过程有严格的规定,禁止外泄,我们很难知道在苹果内部到底是怎么做的。而且, 也没有办法知道我们手中所了解的信息是否与他们的实际工作情况相吻合。但是,如果我们看一看苹果的发展历史,有些例子强烈表明,持续交付和精益创业的原则在苹果的早期工作过程中就体现出来了。

一个例子就是 Apple I。它在Steve Wozniak父母的车库中诞生,而且销售时根本没有键盘、显示器、电源转换器,甚至没有外壳儿,这正是Eric Ries指的MVP(minimum viable product)。

Apple I on display at the Smithsonian, taken by Ed Uthman

另外一个例子是 “The Macintosh Spirit”,(参见 folklore.org), 来自Mac原始版本的创作团队成员写的一篇文章。

这篇文章认为,正是“团队的态度与价值观打造出了Macintosh精神”。这篇文章不长,值得通读一遍。(如果你有时间的话,整个网站都值得读一下,其中很多内容也在《Mac是如何炼成的》 这本书中)。下面这段文字描述了Macintosh团队的生产开发过程:

在苹果公司的其它团队使用详尽且正式的产品开发过程(在开始实现之前,要有长篇的产品需求文档和工程规格说明书)时,Mac团队喜欢一种更有创造性、更灵活的增量方法来不断地重构产品原型。Burrell Smith基于可编辑逻辑阵列芯片开发了一种独创的硬件设计方式,几乎在其他工程师修改​软件的同时,他就能够进行硬件设计的修改,这比传统开发方式快得多。与其在那里争论新的软件想法,不如真正通过快速原型来验证想法,保留那些最好的可工作的想法,而抛弃其它的(参见Busy Being Born)。我们一直让它可以运行,用于体现我们当时的最佳想法。

既然我们说的是二十年前的事情,就很难让人信服,然而还有一个例子说明在嵌入式系统上实现持续交付1。这个例子也解决了一个常见的错误认识,即:尽管你不需要“频繁地交付”,也并不意味着你不能持续交付(这就是为什么要把 持续交付和持续部署区分开,并且区分“部署”和 “发布”)。更进一步讲,持续交付是使成功的盛大庆典成为可能的武器之一。如果你正确地持续交付,在产品发布之前,很早就会做高风险的技术工作,而产品发布只是一个纯粹的市场运作—— 正如Mac电脑的发布那样, 成为广告史上最壮观的场面之一。

’1984′ commercial for the launch of the Macintosh


1 有一个更现实的例子,看一下惠普激光打印机的firmware团队如何转到持续交付模式的,包括提交到主干进行持续集成,使用真正的逻辑板来运行自动化功能测试,以验证算法和时间计算。

 

原文来自这里

About 乔梁

乔梁,百度项目管理部高级架构师
This entry was posted in 持续交付 and tagged , , . Bookmark the permalink.

One Response to 苹果的持续交付

  1. Pingback: Continuous Delivery: The Case of Apple | Continuous Delivery

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>