来源:
现在,单件生产、大量生产、精益生产、大规模定制生产,可以说是概括了百年汽车制造过程中主要生产方式的变化路径,反应了制造活动的变迁。而这个变迁居然在软件开发的过程中也有所体现,或者可以说,从生产方式的角度来看,汽车制造与软件开发似乎没有什么区别。
早些年读《改变世界的机器》一书,书中在第二章讲述了19世纪末英国的一个富有议员买汽车的经过,描述了早期手工作坊式的单件生产方式的特点,进而又通过对福特制造汽车的过程的概要说明,描述了大规模生产方式的特点,这一段写的很吸引人。
汽车最开始是手工制造的,依靠工匠的手艺来完成,生产一件和生产一万件的单位成本是一样的,每一辆汽车都是独一无二的,因为必须手工打磨工件使它们能装配在一起,所以生产效率低,质量缺乏保证,但是可以按照用户的要求来定制。然后,在互换性和劳动分工的基础上,流水线登场了,专用的机器取代了手工工匠,复杂的生产被划分成简单的操作流程,各种专业化分工不断出现,大规模生产开始形成,效率不断提高,质量趋于统一,单位成本急剧下降,使得标准化产品淹没了用户的个性需求。在大量生产到达顶峰的时候,精益生产已经开始萌芽,对大量生产方式的革新持续不断,而现在大规模定制正在路上。(可参看生产的“中庸之道”。)
软件开发几乎是同样的进程,尽管它的出现晚于汽车六、七十年,尽管它和汽车是完全不同的产品,但是软件开发50年走过的路几乎就是汽车制造百年道路的缩影。软件开发最初也是依靠专家的手艺的,全部的实现过程都可由一个人完成,整个软件对外就是一个黑箱,开发效率、可维护性等较差。之后,软件工程开始受到重视,建立了软件开发过程中的“劳动分工”,需求、分析、设计、编码、测试、维护等等,初步形成了软件开发生产线。而更进一步的对象互操作、中间件等,实现了软件生产的“互换性”,软件工人、软件工厂应运而生,规模化的软件生产方式已经形成。而精益的软件开发、敏捷的软件开发也正在路上。
汽车制造与软件开发正共同努力的一个方向----重用(复用)。重用是能将效率与柔性结合起来的一个关键。重用可以在很多的层次上、对象上去实现,越多的重用就会有越多的效率和柔性。大规模定制的实现应该是建立在重用的基础上的。而实现重用,最为重要的应当是信息和知识。
(转载)