原|2024-08-15 07:35:08|浏览:54
一个开发任务下达以后,我们希望尽快的实现的,对软件开发工程师的要求是:多快好省
多--单位时间产量高
快--同样的产量所需的时间少
好--质量高
省--省钱,省时,省资源
这四个目标中最主要的又是“快”,也就是效率高,当然这四个指标之间也是有相互联系的。
提高效率的第一个办法就是加人和加班,这也是目前大多数企业采用的方法,特别的简单粗暴。首先看看加人,加人对项目开发效率的影响在起初人少的时候效果非常明显效,但是随着人员的增加,效率反而会降低。举一个饭店厨师炒菜的例子。厨房里的厨师越来越多,以至于人挤人,厨师都动不了了,那活如何干呢?谁都干不了。当然这是个极端的例子,而且人数增加,其沟通的成本也大幅增加,也容易人浮于事。加班呢?时间长,厨师的效率也下降啊。目前很多的企业采用加班的方式,实际提升的不是效率而是产量。人家一天工作8小时,我工作12个小时;虽然单位时间的效率低,但以天为衡量单位的话,自然效率高了,况且加班一般来说对企业的负担并不高。企业的加班加点是有其合理性的。
第二个办法,就是分工,流水线。有人理菜,有人洗菜,有人切菜,有人炒菜,有人传菜。这就是厨房里有帮工和大厨的原因,也是现代泰勒制流水线的方法。员工的效率提高了,系统的效率也提高了。分工使得合作成为可能,分工的关键是合理划分阶段和模块。现代系统一般是多人共同合作完成的,我们很难想象一个人负责系统的所有开发工作。但是这也是有尽头的,流水线越长越好吗?还是以厨房为例,炒菜的工序再拆成打火,加油,加葱.....一群人围在一口锅旁,只为了打个火或加一勺油......这个景象也是够喜庆热闹和荒唐的!
第三个办法,采用多流水线,多厂房,这也是扩大规模。目前很多企业采用的方式,这适用于大规模生产的产品,同时其弊端也非常明显:投资太大,回收期长
第四个办法,就是招水平比较高的员工。这是一个好办法。如果高级工程师效率是初级工程师的4倍,但是工资不会是4倍的。但是这也有缺陷:1工程师的效率不会是无限的;2高级工程师的薪水也是比较高的,企业一旦项目不足,养人的成本是很高的,现在只有投入没有产出,那降低成本最明显和有效的措施就是裁人了,除非你是不可替代的,否则首先裁的就是工资高的人。
第五个办法就是采用新技术,新设备。比如厨房购置洗菜机,洗碗机等。
以上几种方法一般都要投入很多钱或其他资源的,那还用不需要投钱投入提高的效率的方法吗?有!那就是1改串行为并行;2复用;3减少不必要的工作;