如何提高生产力-软件的开发与采购
随着薪酬上升、劳动力人口萎缩以及文化变迁,公司利用廉价并卖力工作的员工获得优势的日子已经过去了。对于工厂制造企业连招聘一个技工都是很困难的事情,而软件企业招聘一个熟练技术的程序员更是很难。
人工成本的上升已经让行业感受到了很大的压力,制造企业的做法一般是:
1.将工厂迁往内地和东南亚等地;
2.引进先进自动化生产线,减少用工,采用机器人;
3.将非核心零部件交付第三方工厂采购,这样可以降低员工人数,提高生产效率,降低整个产品的生产成本;
4.对业务进行重构,将模块业务通过ODM的方式打包交给第三方工厂生产,自己主导产品设计、市场营销和用户体验;
而对于软件企业,还是停留在无奈抱怨发牢骚的阶段,离职多,招人难,员工要钱高不出活,眼睁睁的看着企业低效率高成本的运作,制造企业还可以升级生产线,用机器人等来提高自动化程度,软件公司却不能用机器人来替代程序员编程,也需要未来有可能。软件企业要想降低成本,唯有提高生产力,在提高软件质量的同时,还能缩短软件交付的时间,和时间赛跑,才能制胜。
很多企业虽然不是软件企业,但是有软件开发和团队,他们的企业是通过软件团队开发一款软件产品,然后再通过运营团队来运营获取利润的,简单的两步棋,第一步没走完,就死掉了,为什么?一支军队携带的粮草供应是有限的,在长途奔袭的情况下,如果贪恋中间一座城池,又久攻不下,就得玩完。所以不要低估软件开发的凶险,很多公司都是软件还没开发出来就结束了。
软件开发的凶险从在于其属于慢性毒药,开始并未引起足够的注意,进度一拖再拖,勉强交付后又不断的改版,每个月的成本老板都可以承受,但是时间长了,就受不了,开始压缩外围成本,如办公耗材福利奖金等成本,人心开始涣散,此时已晚,进退两难,领导或者老板的耐心终将慢慢的消磨掉。很多传统行业的老板手里有个千万或上亿的资产,挟上个行业成功的余威,进入软件行业,被软件团队搞的欲仙欲死的,每年都亏的不多,亏个百八十万的,但年年亏,又拉不下脸面承认失败关闭公司,当然软件团队也不是故意的。
软件企业为什么一直没有应对成本上升好的办法?
1)软件企业老板总是把眼光放在薪酬上,其实项目的成本是有薪资*时间来决定了,时间才是大头,软件老板,对于软件开发效率大多没有深入研究,软件开发的周期都是拍脑袋决定的,而实际的开发周期总是温水炖青蛙一般,缓慢而坚定的一拖再拖,为什么会这样?因为软件开发是比较特殊的抽象工作,有一个可怕的现象就是埋地雷,老板和市场压得紧了,就给你埋地雷,就是埋地雷,这个是老板们知道也不敢面对的事情,一个项目,你催的太急了,下来死任务,必须要在某年某月某日上线,那就给你买地雷,偷工减料,该是混凝土浇筑的,给你塞秸秆,先上线,后续再慢慢整改,造成任务交付的假象,我们称之为虚假交付,也就是第一个版本几乎是不能给用户使用的,强行交付给用户也会造成大量的投诉,抱怨,给公司产品形象造成很坏的影响。
2)由于没有企业制造的概念,没有采购意识,所有的工作都是从无到有的开发,所有的弯路都要从头至尾的摸索,成本自然高。关键是大家都习以为常,潜意识的认为向外采购,是增加了企业的开支,即使是买包卫生纸,都觉得增加了成本,而由于自己开发增加了开发周期,加大了项目成本,则没有人关心,老板对于人力递交的工资表,每个月少则几万元,多则几十万元的工资支出,都是没有任何反对意见的签字的。我们可以思考下小米手机,如果它像我们软件企业一样所有的东西都自己搞,黄花菜都凉了。
3)项目风险评估往往走形式,项目吃紧的时候就增加人手已经被证明是个愚蠢的办法,属于火上浇油添乱,现在就更加愚蠢了,因为前几年还勉强可以招到人,现在根本招不到人,临时加急招人属于痴人说梦话。但是我们仍然可以在项目会上听到有人这么说,明知道自欺欺人,领导也是没办法,总不能来个项目,对老板说做不了吧,只能硬着头皮做,后面的事再说吧。
4) 软件开发不同于工厂制造的一个因素就是预热时间长,项目虽然启动了,但是一大堆人迟迟进入不了状态,表面上很忙,实际上一行代码都没有写或者写了个Hello word,各种开会,写各种垃圾文档,ppt, 没有思路便在网上查阅各种技术文章,构思所谓的设计和技术选型,开会推倒再设计,这种低效状态能惊人的持续几个月,这几个月的人吃马喂的成本有多大,没人关心。做项目最怕犹犹豫豫,放屁一样的小事,要审批开发走流程好几周,反反复复,当断不断,拖拖拉拉,这是很可怕的,因为天上一天,地上一年,公司耽误一天的费用,也许够一个开发人员吃上一年。
所以软件企业要提高生成力,必要对于薪资*时间这个公式要花点时间进行一个深入的思考,学习制造企业,无时无刻的关注自己的生产效率。否则项目失控,则成本上升,最后就是白忙活一场,不该省钱的,不想掏钱,该控制成本的却失控了,搬石头砸自己脚。
软件企业应该通过以下手段来应对成本上升:
1)提高软件开发效率,如果交付周期缩短1/3,就可以应对薪资上涨的压力了;
2)通过模块化采购,来降低软件开发成本,缩短交付周期。
在制造企业里,为什么要采购?
1)有技术门槛或者含量的,自己没有能力生产的,或者生产的质量赶不上供应商的,比如三星手机,高端机的CPU芯片用的是高通骁龙820芯片,低端机用的是自家工厂生产的;
2)没有技术门槛的,但是自己如果生产,由于没有规模效应,无法摊低成本,如饮料瓶,产品外包装等,再例如戴尔早期都是自己工厂生产,后来抵不过竞争压力,也交给台湾代工厂代工;
软件企业的采购也是要秉持这两点,不是说没有技术门槛的,就自己搞,自己团队实在不能搞的再想办法找人开发,这种观点大错特错,很多项目经理之所以错误估计软件开发周期,就是因为觉得这个功能简单,那个功能容易,结果看上去容易简单的事情,要想做的一点毛病没有也不是三两天就能搞定的事情。要想一想自己公司为什么不用一个正式员工来天天帮你们打扫卫生? 虽然容易但是琐碎、耗费时间的事情,正好是必须要交给别人做,而你正好抽出时间来做有价值的工作。很多项目计划的技术方案都是高大上,为什么做出来的都是普普通通的?这就是因为他们没有意识到时间是有限的,团队的时间都浪费在普通功能上和天天修改这些bug的上面了,那就没有时间去做更复杂和更有创意和挑战性的工作了,这就是我说的打仗的时候长途奔袭的战略了,如果在其中一个小城池上久攻不下,后面就要完蛋。
我以前在已经公司里做技术总监,公司仓库需要一个库存管理系统,老板非要我们开发,我相信很多开发人员也觉得很简单。我说我们的开发人员,一个人一个月的工资成本至少要1万元以上,而市面上的成熟的库存管理软件只要5000元就搞定了,而且人家的是买回来安装上业务部门马上就可以用了。自己开发的库存管理软件,灰头土脸的开发很长时间,中间还要加班,出来第一版是不敢直接拿来用的,美其名曰试用。库存统计是与财务有关的关键业务,前面有一点bug算错后面全部都是错误的,如果库存统计有错误,那对于生产经营的损失,开发团队也承担不起。
采购,其实不是网上随便抓个供应商就可以的,也不是价格越低就用谁的,我们原来做车载视频监控,车载摄像头是通过采购零件自己组装的方式生产的,外壳、机芯、电源线、铜柱等8家供应商,都是经过不断的试探,建立起来稳定而又长期的关系的,不会轻易换其他家的。软件的采购也是如此,需要寻找的是对于行业理解较深的,来建立自己长期而又稳定的关系的。很多人不理解这一点,动不动就找个外行的外包公司,这些外包公司里全是没有行业经验的低工资的软件开发人员,连需求和他们沟通起来都费劲,你想想他们能够给你开发出来什么好的软件产品?
最有效率的采购和雇佣,本质上都应该是解决你的业务短板,有明显的互补作用,而不是简单的扩大的团队的规模,如果你找了个人和你一样是个不太了解行业,那他只会加大你的成本,而无助于提高生产力。行业门槛深似海,里面有很多坑,如果你不熟悉,一个坑一个坑的填,你的成本不高才怪呢?我以前的一家公司的老板就很聪明,公司当时做一个财务软件,一帮开发人员搞了几个月,进展缓慢,老板就直接从外面挖了一个专业会计人员,和开发人员直接一对一互助,这个项目做完后,那个会计人员本来是以兼职的身份,也不会编程,但后面还是被老板留下来了。
3)通过兼职或者雇佣专业人员来减少空转维持人力弹性
软件企业很大的成本就是空转的成本,有的时候没有项目,工资还是要照付,所以为了寻找心里安慰,经常老板制造一些奇葩的思路,花样翻新的让团队忙起来,但并不创造效益。制造企业如果市场需求量不大的时候,可以停掉生产线,员工放假、半薪等方式来避免空转造成的损失,软件企业可不敢。专业人员是一种稀缺资源,薪资待遇要求又非常高,我们通常招聘不到,招聘来了老板又呲牙咧嘴觉得养不起,但是我们可以通过市场化来共享资源,在有项目的时候,可以利用一下,则没有项目的时候,就不再花钱,这样保持一个较好的人力弹性,避免空转。阿里云就是一个很好的高弹性高效率低成本的例子,我需要做测试的时候,就开一个服务器实例,临时用几天,不用了就直接关闭掉,需要的时候再开。需要做压力测试,网络要200M带宽的时候,就临时加开200M带宽,开3个小时是几十元钱,测试完毕再降低到2M带宽。但是如果按照以前的机房套路,开一个月的200M带宽,一个月的成本就要上万元。
不要过于关注外购成本,而忽略自己开发成本,外购的目的就是为了大幅缩短自己内部的成本。要知道时间才是最大的成本,比如:我的部标808GPS服务器源码只不过卖1200元,而且是完整实现808协议栈的,很多人一看到源码是收费的,就痛苦的不得了,或者举棋不定,犹豫不决,说实在话我很难理解,别说一个完整的GPS部标平台了,单独开发一个完整808协议的GPS服务器,没有三个月根本搞不定,而我的部标808服务器源码只要1200元,又是经过很多人使用和锤炼过的,价格只相当于一个程序员三天的工资成本,更关键的是可以获得我的专业的技术支持,少走弯路,这么简单的帐都算不明白,很多人在互联网上翻箱倒柜的查阅资料,一直无法进入状态,所耗费的时间×工资成本,也远远大于这点钱吧。在公司里如果你们老板别说少发给你一个月的钱,就是晚两天发,你就要跳起来了。
做项目就像下棋一样,比赛结束输赢已定,只能复盘获得经验教训而不能吃后悔药改变结果,如果项目结束后,我们知道自己开发成本至少十几万元,就不会不舍得购买只有部标平台了,钱是小事,时间荒废掉是大问题,你顶着进度的压力,也许还要加班,至少要忙乎一年,在这么长的时间里其他市场业务部门就等这你的平台上线而无所作为。肯定如不如购买部标平台源码,马上就有一个部标平台了,业务部门马上可以行动了,而技术部门可以集中精力开发与行业相关的,有差异化竞争力的功能和特性了。
(12859)