中午吃过了午饭,端着杯茶做在休息室里正稍稍休憩。公司内部特别开辟出一个空间,并装修成吧台,高脚转椅,微高的台面和酒吧里面的样子多少有点类似。不少人见过微软、google的office的专修格调,让多少人羡慕而又渴望。其实程序员作为脑力劳动的工作者,有时候我们太需要像作家那样的灵感源泉,所以office的风格或多或少应该尽量给人营造一种比较轻松的环境,这样在轻松的环境中进行高强度的脑力将会尽可能让二者得到一种缓和,从而使质量和效率更为高效。
“吃过了?小余。”标准的中国人问候的方式,也惊醒了我,闭目养神的状态让我几乎快入眠。
我睁开眼睛,看清楚眼前的人,是财务的Cindy,我把身子抬了一下,报以微微一笑,说道:“嗯,你呢?”
“刚刚吃过,看到坐在这里,刚好有个问题想问你,就过来。”
“找我有事?”Cindy这么直接一说,我倒是一股狐疑。
“哈哈,我是有些问题想要请教你,你上次在会议上说的关于项目估算的问题,我后来仔细想了一下,感觉有些问题不明白,所以想要向你请教一下。”
“噢,是这个。”我记起来了,上周周会上提到了关于项目估算的问题,因为公司内部有几个项目给客户报工数的时候,经过客户的讨价还价之后,都被砍掉了近30%甚至更多。所以我只是简单的介绍了一下做工数的时候应该注意的一些问题。“那你想知道什么问题。”
“其实我想问的是从我这边考虑的,你们在给客户报工数的时候,在最终的合同商也都比较明确的列举了PM, Senior, Middle, Junior 的工时数量,可是这份合同和我们最终投入的人员的总工数有不少的差距。我们实际投入的人员往往都比合同上的数量要多。因为我是做财物的,我不知道项目的具体开发是怎么做的,但是从我这里来看的话,这个帐怎么都对不上,这个问题我一直想弄清楚。”
“嗯……”Cindy的问题倒确实是一个在公司内部非常常见的问题。对于项目开发的时候,我们在计算成本的时候会按照人/月的方式来进行计算,也有的公司按照人/天或者人/时的计算方式,不论采用哪种方式,一般来说计算出来的工数和实际投入的人员数量都会存在一个偏差值,如果说这个偏差值月小,也就说明说项目前期的项目估算做得越好,项目的总体成本和效益也就相对比较可观。如果这个偏差值越大,说明项目存在有估算不准确,或者说项目过程中管理出现问题,也有可能是客户的变更需求造成,对于偏差值越大的项目,其项目风险性也就越高。
我在自己的自己的脑中稍微组织了一下要回答的内容,对Cindy回答道:“其实在项目开发中,这个工数值会存在的偏差,因为我们在项目实际的开发过程中,比如说我们投入了10个人导项目中,开发了4个月,再加上后续的对应和维护的一个月或则更长的时间,如果说在项目估算的时候,我们对于这总的工数计算可能是即便是40人/月,那么后续的维护一个月的时间也就成了一个差异,也就是说我们多话了10人/月的时间。”
“那为什么对应的时间不能算到工数中呢?”
“我只是举一个例子,实际上我们会在工数预算中添加入部分的对应的时间,如果说我们的开发质量比较高,客户的回馈反应也比较快的话,那么我们在后期对应的时候估计只要保留2-3个人来对应问题,其余的人员完全可以退出项目组。这样两个差异值就会小很多。”
Cindy看是明白,但又显出满脸疑惑。“如果说按照你的说法,那么我们的差异应该都比较小,但是现在我们公司有些项目的这种差异非常大,有些项目的投入工数和合同工数的差异都差距有一倍多了。”
“哈哈,实际上我们在做那些按照人/月工数的的项目的时候,很多情况下我们算得是完成项目所有模块所需要的总的开发时间数量,这种估算一般情况下都是参照一个标准的开发人员的能力来进行估算,比如说一个项目估算了10人/月,那么项目如果说交给一个人做10个月能不能准时做完呢?如果我们按照比较理想化的方式考虑问题,1个人10个月可能做完。如果说我们让10个人做一个月呢?很多情况下是10个人同时开工,反而无法完成,即便非常理想化的情况,10个人也需要1.5个月,那么中间就多出了5人/月的工数差异。”
“为什么会出现这个差异呢?”
“1个人做10个月的事情,如果改换成10个人做一个月,中间最大的差异在于10个人需要沟通和管理,那么这些是可见的额外消耗,同时由于10个在项目工程中不会做到工作一旦完成,马上释放出项目组,我们往往会让他们对应自己的问题,这样也就会造成项目人员工数消耗增加。”
“嗯,这么说合同的人员工数和实际的投入永远无法达到一致呢?”
看着Cindy满脸严肃的样子,我笑了笑说到:“那倒也不是,如果说项目启动阶段项目估算比较准确,开发过程中的管理方式有效合理,人员的安排合理的话,有时候会出现实际投入的人员比合同的上的数量要小的情况。”
“哈哈,那时理想化,至少我这里没有看到实际投入比合同上的数量少的情况。”Cindy估计感觉到我说得比较理想化,微微笑着应答道。
“实际上公司也在提倡项目独立核算的问题,这样的话,每个项目经理都会被迫有成本的概念,这样在坐项目的时候他们也就会考虑到人员消耗的成本,只要每个项目经理能够掰起指头算算进帐和出帐,那么他们在坐项目的时候,也就不会在盲目要人,而且前期的项目估算也就会花更多的精力去做。在过程中也会对人员做一个比较合理的安排,不会把一个人随意固定在某一个项目中,这样人员资源如果达到最大化的使用,那么这笔帐也就比较容易达到一致。”自己说完之后,也笑了笑,我也在笑自己,其实道理说得比较容易,但是实际做起来的话,可不是上下两个嘴皮子一掰就完成了,这样的话,对于项目经理来说无疑是一个不小的考验,以前项目经理主要需要对项目的成功与否负责,现在如果说又要让他们能够像会计那样算账,能够小气持家似的做项目,对于很多的项目经理的来说无疑是一个不小的考验,这些经验不是一日培训就能够做到的,毕竟需要在整个项目过程中时刻去留意,这些都是逐渐锻炼培养形成的。
对于公司来说,项目盈利是对绝大多数项目组的一个基本要求,虽然有部分的项目组会因为公司战略发展的原因,对盈利并没有做要求。对于大部分的软件公司来说,项目经理并没有过多的感觉到这种盈利指标的压力,毕竟如果说项目能够准时高质量的交付给客户使用,也就隐讳的说明这个项目是一个不错盈利的项目。但是对于一个合格的项目经理来说,我们需要有这种成本和独立核算的意识。毕竟我们的项目组作为公司的一个部分,我们需要确保我们的项目组能够产生效益,不会亏损。
我听到很多的公司中都希望倡独立核算的机制,一方面项目组希望能够借助独立核算的机制,能够比较清晰的了解到项目组所能够创造的价值,如果一个项目组的效益非常良好,那么这个项目组的成员所能够获得的收益也就能够相应提高,从而打破以前一碗水端平的现象,能者多得,从而加大项目组内部的良性竞争机制。从公司的角度来看,引入独立核算的机制,一方面能够给所有的项目组引入成本意识,另外一方面,就是通过竞争的机制来提高员工的积极性和效率,从而使公司和员工达到双赢得局面。
我个人到非常提倡这种核算的机制,但是对于绝大部分的公司来说,只能是希望而已,因为很多公司从公司整体的运作考虑,并没有实际去按照这种方式来管理项目,虽然说会天加入成本独立核算,但是由于赏罚没有并行,所以这种引入也就成了一种点缀,并没有发挥到任何的作用。
作者:Yice(小余)
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。