讨论:软件开发,标准化流水线式开发的可行性
现在到了新的公司,一合作方的老总就是这种思路,如下:
开发出的平台,做到与开发人员无关,只要调用标准化组件,按照流水线的方式装配即可
而整个的管理思想也是,所有员工都不重要,因为有了这种按照标准化组件流水线装配的方式
想和大家讨论的是:
软件研发开发中,标准化组件,流水线式装配的可行性到底怎样?
抛开各方利益来说,员工相对于这种方式就是可有可无的了,那么对于管理上又有什么弊端和益处?
[解决办法]
流水线没问题啊,关键是制定流水线的成本?就好像你做汽车,用了先进的流水线确实对公司依赖很低,但流水线的初步购置成本很高的。
你要能严格区分,首先就要假设所有需求你都清楚,这样才能划分出标准化组件,而实际需求总是变来变去的。确定了需求,能根据需求能划分出你想像中流水线一样的组件,需要大牛,需要好多大牛,分模块,维护,这就是成本之一,这类大牛不可替代吧。
组件划分好了,开发人员照着做就行。那相关文档,什么概要设计,模块设计,错误处理,一定要很详细吧,写文档的这类人不可替代吧。
文档有了照着开发,如流水线有严格的产出验证的标准,每一步做的东西要么是合格的,要么是不合格的。软件相对来说产出较难验证,简单了没有流水线的效果,复杂了验证成本相当高。要让开发人员自己制定验证计划,那开发人员就做不到可替代了。要是 所有组件的验证标准都由第三方确定,那第三方的工作量很大,并且是不可替代的。
如我上面所说,制定流水线的代价很高,可能造就一堆不可替换的,成本要远高于一般开发人员的其他核心成员。
最后,你要明白 ,流水线要的是体力活的工人,他们 工作成本好检验;软件开发者做的是知识工作,要制定能严格考核他们绩效的标准,太难了。
[解决办法]
流水线也没什么,只要不惜代价,总是有办法实现的。但是流水线生产有一定的局限性,首先是建立流水线的成本很高,因此必须大批量生产才能收回成本并产生利润,大量生产必须以大量销售为前提,一个软件产品大量销售容易做到,把成千上万种各不相同的软件大批量销售出去,好像世界上还没有哪家公司有这个能力。CA以前号称有上千产品线,差点没把自己玩死。然后,流水线要随着技术发展不断升级换代,这个升级换代周期不是自己决定的,而是Microsoft,Oracle等上游厂商决定的,这就让流水线的拥有者处在一个尴尬被动的境地,自己不能掌控自己的命运,而且这个周期通常较短,不足以收回流水线建设的成本。最后,流水线出来的产品很难有什么创新,都是同一种模式的不断重复,除了以量大取胜之外,就再没有别的竞争力了。
因此在软件行业,流水线生产是可以实现的,但是即使实现了,也不会给企业带来什么竞争优势,至少不会有全行业范围的竞争优势。搞流水线往往得不偿失,也没见哪个企业因为流水线而成功。
[解决办法]
软件开发本来就是流水线,只不过自动化程度不高而矣
软件开发与行业挂勾,而需求又是千变万化的
如果单做某一领域的软件是有可能的,否则不可能