(续前)
2.采纳新的哲学
必须绝对不容忍粗劣的原料,不良的操作,有瑕疵的产品和松散的服务。
这个所谓“新的哲学”,其实可以简单点理解成“精益生产”。任何环节的瑕疵,一旦到了下一个环节,其纠正成本都会被放大。如果不坚持追求高质量,而是片面节约成本,那么最终付出的代价会远超这些“节省”。在戴明管理哲学中,其成本核算是以“系统”为单位的,而不是以“环节”为单位,因此,戴明极力倡导建立一种崇拜质量的文化,他有一句名言叫做“质量是免费的”。
在软件开发管理中,基本概念是一样的,但是情况略有不同。传统的瀑布式流程,与戴明式管理相结合,就是RUP这样的重量级流程。而软件的特点是,它和传统的工业不同,传统的工业产品几乎无法返回上一个流程修改,或者修改成本非常高,但软件不是这样的,现代的软件开发工具和技术可以大幅度减小修改成本,而基于这个判断,就出现了“敏捷开发”这样的轻量级流程(事实上,“轻量级软件过程”正是“敏捷开发”最初的名字)。
那么,是不是敏捷一定优于RUP呢?并非如此。要看规模和需求的特点,如果有些环节回退会导致高昂的成本,即使最先进的技术也没法把它降下来,那么就要在上一个环节把它做好,比如起搏器系统、火箭等,这时候多引入一些RUP的实践就是合理的。最重要的是,不要拘泥于“敏捷”,要明白“敏捷”背后的经济原理。