1.10 论效率

1.10.1 加快进度的办法:加人,加班,或提高效率

假设一个研发项目原定10个人6个月完成,现在情况发生变化,必须在3个月内完成,该怎么办?通常我们想到的是“加人,加班,或者提高效率”。

1.加人

首先想到增加项目人员。项目时间缩短一半,即进度加快一倍,那么应当增加一倍的人员。这个法子有什么根据?

根据来自于“民工作业”的经验。如果1个民工花2天时间挖完一块地,那么2个民工可以在1天时间挖完那块地。纯体力劳动大体有这样的规律,在不增加管理复杂度的前提下,增加N倍的劳动力,可以使进度加快N倍。

尽管当今研发人员收入不高,干活挺累,已经沦落为“民工”。可软硬件开发毕竟是智力劳动,不同于体力劳动,增加项目的人员并不见得就能加快进度。

假设增加了一倍的新手到研发项目中,情况会怎么样呢?

(1)老手指导新手干活,消耗了老手的精力。

(2)新手一边干活一边制造很多Bug,消耗老手更多的精力。

所以在新手没有成为老手之前,这个项目的进度反而不断被延误。

那么给项目增加一批同等熟练的老手,情况会怎么样呢?一般来说进度的确会加快。可是公司里面的老手总是有限的,把老手们都调集到某个项目,那么其他项目该怎么办?这种“拆东墙补西墙”的救火办法,不能长期为之。

即使公司有充足的人力资源,也不能把太多的人力资源集中到一个项目。原本10个人的项目,倘若增加到1000人,是不是只要用1%的时间就可以完成项目?

不能,估计这辈子都完成不了项目。因为1000个人成天忙着相互认识、相互争吵、不断制造麻烦,没法干活了。

对于智力劳动的项目,增加人员势必增加管理复杂度(不是等比例增加),当人数达到项目领导管理能力的极限时,再增加人员就会使项目的进度和质量倒退。

国内绝大多数研发项目经理的管理能力比较低,企业领导企图招聘更多的人员去做更多、更大的项目,这是非常危险的,因为智力劳动不适合用“人海战术”。

2.加班

加班是通过“增加人们的劳动强度,从而加快了进度”。加班有优点也有缺点。

让我们先谈优点。

加班没有增加管理复杂度,操作起来最简单。适度的加班(例如,加班1~2小时)并不会使人劳累过度、伤害健康,乃至猝死。

如果是自己份内的工作没有做好,自己加班来弥补是应该的。有些年轻员工下班后没有事情可干,与其呆在宿舍里面玩游戏,还不如在公司里干活。既对公司有利,又让自己进步,顺便晚餐费和车费也省了(通常公司支付)。如果由于突发事件需要晚上或周末加班,公司会给补贴,也可以调休。

所以合法合理的适度加班是加快进度的有效措施。

我们再来访谈谈缺点。

加班时间不能太短也不能太长。

加班时间太短,没有效果。例如,你加班10分钟,等你把加班的准备工作做好了,刚进入状态时,就已经结束了。

加班时间太长了,得不偿失。如果你晚上加班8小时,那么之后几天你要睡N个8小时才能使自己恢复正常状态。即使你年轻力壮,可以连续疲劳上班,但你的工作质量却会下降。

合理的加班时间应该是上班时间的20%~40%(上限)。

关于加班这件事,作者旗帜鲜明地表达观点:反对长期不合理的加班。

2008年,人们震惊地发现山西煤窑竟然出现旧社会包身工现象,窑主竟然让童工没日没夜地干活。不合法的加班,肯定是要反对并且要禁止的。

不合法加班的这种情况在研发企业比较少见,但是不合理加班却随处可见,已经成为行业病态。

例如,公司接太多项目,或者项目计划完成日期明显不合理,有太多不可能完成的任务,让员工疲于奔命。公司管理太混乱,公司领导不花精力去找出问题,解决问题,却依赖人海战术和疲劳战术,只要比竞争对手晚些累死,就是胜利。

有些公司几乎每天加班,导致员工一周时间与家人相处只有几小时。从周一到周五,你早上7点迷迷糊糊出门,9点前到公司上班,晚上10点回到家,闷头就睡、到了周六,本该是家庭度周末的时间,你又要到公司加班。周日你终于可以休息了,一觉睡到中午。你和家人相处的时间只有周日下午和晚上那几个小时。

你加班若干年后,钱挣来了,健康没了,家人陌生了。这人生过得有什么意义!

如果一家企业长期不合理地加班,企业领导要么管理能力太差(他自己也鞠躬尽瘁),要么太贪婪,心太黑。

企业家的责任不仅使企业活下来,还要使企业健康长久地发展。这里“健康长久”意味着企业全体人员能够安居乐业,否则哪来的健康长久。

企业长期不合理地加班,明显是企业领导失职。企业领导若不能使员工们安居乐业,就没有资格称为“企业家”,至多是个经理人。

3.提高效率

既没有增加人员,也没有增加劳动强度,通过提高效率的方式来加快进度,这是最佳方法。

提高效率意味着在单位时间内产生了更多的成果。并不是你动作加快了,就能提高效率。提高工作效率的前提条件是所有工作成果的质量必须合格。否则,你干活越快,产品中的缺陷就越多,那么用于测试和维护的代价也越高,得不偿失。

1.10.2 如何提高效率

提高效率不是喊口号那么简单,只有在不对质量和成本产生负面影响的前提下提高工作效率,这才是真本事。

提高效率的常见措施如下:

(1)提高项目成员的工作技能,包括技术能力和管理能力。显然,工作技能提高了,肯定比过去做得更好、更快。即使组建项目团队时每个成员的技能都是合格的,每个人仍然需要不断学习,提升自己的能力,无论对于项目还是人生而言都是有益的。项目经理应当组织一些有针对性的培训(外聘培训或者内部培训),提高项目成员的工作技能,使他们在开发产品时不仅做得好而且做得快。

(2)制定合适的流程。流程定义了团队的工作步骤和规则,如果过程混乱,做事颠三倒四,势必降低生产率。世上并不存在放之四海而皆准的流程,团队领导应当制定(或采用)适合于本项目的流程,并随着项目进展加以适当优化。

(3)反省过错、不二过。过去犯过的错误,在新项目中又重复犯错,然后重复纠错。这种浪费简直是愚蠢。所以要及时反省过错,避免再犯相同的错误。

(4)成果标准化和复用。在新项目开发过程中,不可能所有的事情都是全新的、需要从零开始做起。如果能够找到过去已经实现的同类成果,拿来就用,或者简单修改就能用,那该多快啊。这就是成果复用,可以大大提高效率。人们在工作的时候,要设法把共性成果提炼成为标准件,以便将来可以直接复用。

(5)使用合适的开发工具和管理工具。工欲善其事,必先利其器,使用好的工具无疑有助于提高人们的工作效率。国内开发人员都会使用最新版本的开发工具,然而管理工具就难选了,功能复杂号称最先进的管理工具对于大部分中小企业而言不见得合适(即使买得起,也可能用不起来)。企业领导应当根据本企业的规模、复杂度、经济实力等因素,选择合适的管理工具,并且要坚持使用才能提高团队的效率。