Site icon 时鹏亮的Blog

“精益开发”的精益是什么?【转】

以下内容转载自:阮一峰 科技爱好者周刊(第 270 期)

最流行的软件开发模式,现在是”敏捷开发”(agile development)。

但是,很多人不知道,敏捷只是一种价值观,不是具体的方法。 它包含一些原则,实现这些原则有很多不同方法,下面是主要的几种。

  • 极限编程(XP)
  • Scrum 开发
  • 看板开发(kanban)
  • 精益开发(lean)

初来乍到,看到这些奇怪的专有名词,你会不会头晕啊,它们什么意思,跟编程有何关系?

我正好读到一篇老外的文章,里面提到”精益开发”的一些小故事,读完豁然开朗,知道了”精益”的来历,就掌握它的做法了。下面分享给大家。

“精益”(lean)这个词来自1988年的一篇论文 《精益生产系统的胜利》,论文讨论为什么日本汽车击败了美国汽车?

论文作者以福特和丰田两家公司为例,认为它们的生产方法完全不同。

福特是早期的汽车霸主,强调批量生产,追求极致的生产效率,以降低汽车价格。以前,汽车是3000美元一辆,福特 T 型车的上市价格竟然为850美元,最终还降到了260美元,占领了美国大部分汽车市场。

传说中,亨利·福特说过一句名言:”顾客可以选择任何一种颜色,只要它是黑色。” T 型车就只有黑色车型,这并非由于福特喜欢黑色,而是黑色油漆干得快,落地后可以最短时间出售,从而降低了成本。

为了压低汽车价格,福特的生产流程是这样的:

  1. 采购100辆汽车的原材料。
  2. 制造100辆汽车的所有零件(总共超过十万个)。
  3. 组装100辆汽车,然后出售。
  4. 接收顾客反馈,生产下一批次。

由于每个步骤都需要较长的时间,因此迭代周期很久,福特也很少改动车型。

丰田公司采用了完全不同的生产方法。刚成立时,丰田是一家小公司,无力囤积原材料,也买不起生产不同零件的专用机器,只能选择通用机器,即同一台机器生产多种零件。

因此,他们的方法就是一次制造一辆车,并尽快出售。如果有问题,就马上修改,避免再次生产有缺陷的车。

  1. 获取一辆车的原材料。
  2. 制造一辆汽车所需的零件。
  3. 组装一辆车,然后出售。
  4. 接收顾客反馈,生产下一辆车。

这种流程有利于快速迭代和多次迭代,长期下来,丰田汽车逐渐变得更可靠耐用,更符合客户需要。

虽然,单车成本上面,丰田依然高于大批量生产的福特,但是福特迭代缓慢,很多零件不符合需要,有缺陷还是被大量生产出来,造成巨大的浪费,公司的整体效益反而不如丰田。

丰田的生产方法,就被称为”精益方法”(lean method)。英语单词 lean 的原意是”瘦且健康”,用在这里表示追求实效、快速行动,没有一丝浪费。

后来,这种方法就被用在各种领域,管理领域叫做”精益思维”,生产领域叫做”精益制造”,软件开发领域叫做”精益开发”。

总结一下,”精益开发”指的是创建一个最小的产品原型,交付给客户,观察他们如何使用它,再快速推出小幅改进的下一代产品。这样就能迎合快速变化的需求,不会引入无用功能。

作为比较,福特方法则是详细计划所有功能,全部开发出来,然后一次性交付。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《“精益开发”的精益是什么?【转】》相关的博文:

Exit mobile version