这个问题存在于很多公司。也许读者的公司够正规不存在这样的问题。
在中国当谈到项目经理这个词语或者职位时,很多人的脑袋里闪现的是技术与管理的化身。对于项目经理,多数人的理解是,技术很NB的人,但是对于是否熟悉或者精通软件工程却不太关注。需要吗?
这个问题恰好在我现在工作的公司存在。我讲讲我现在工作的公司的情况。
没有项目经理!的确没有,至少没有这个职位!但是有这样的角色,就是小组组长。他/她既要负责技术还要负责整个软件开发过程并且还要负责与用户的沟通。很厉害吧!!其实很累,累死不讨好!经常被领导骂。因为不能按时完成任务。
很累,有很多事情要一个人去做。怎么办呢?该写的文档以后补呗,编码才是最重要的!可惜评审时,评审专家们看的却是文档,不是代码!当回头再补文档时却发现此时非彼时了。于是乎,评审的文档改了又改、改了又改、改了又改…
与客户的沟通也存在问题,对于一个编码人员来说,需求一旦确定了就不想它再变更,可实际情况却是,需求是最容易变更的。但是我们的项目经理缺乏这样的意识或者缺乏主动沟通的能力,(You don't bird me, I don't bird you!哈哈),往往导致我们最后交付的软件与客户的要求不匹配。然后我们的软件改了又改、改了又改、改了又改…
领导们关心的成本就这样上去了!我们有个项目做了大概8年,到现在都还没成功,但是还在做!为啥这么久?开发过程中没人关心需求变更!做完之后发现,TMD,咋需求又变了呢?都没通知我们!!555555555......老委屈了!
在我们公司当小组长的确很累。估计看官您要说,这不是很好吗?多锻炼人啊!对于个人来说的确很锻炼人,技术+文档+计划+需求+沟通…还有很多。但是对于一个软件公司呢?将鸡蛋放在一个篮子里了。也许有人会说,这样至少可以解决成本啊!表面上看上去是可以节约成本,因为少了一个人,不是吗?可真的如此吗?就我获得的反馈来看,答案是否定!成本估计还应该加上时间吧。把2个或者2个人的工作给了一个人做,这个人该怎么办呢?+班+班或者是超人或者是天才。但是毕竟超人很少,天才更少,那只有加班了,在我们公司加班是不给钱的。我们公司加班是常事!但是大多数的所谓项目经理是软件工程方面的专家或者高手吗?凤毛麟角!
深夜写出来的开发文档会是什么样的?就是为了赶工期才加班的噻!最后是改了又改、改了又改、改了又改…
我觉得这样的公司还处于手工作坊阶段!
我们需要真正的项目经理,至少在我们公司我有这样强烈的要求。将我们现在的小组长从繁琐的文档中解放出来,或者让他担任一个专业的项目经理而不用关心大小端、到底用Java还是C++来实现这样的问题。小弟刚刚看完一本叫《项目经理应该知道的97件事》的书。看了之后我发现,天哪!!满篇谈得都是团队管理、计划、沟通、过程控制…就是没谈技术。难道他们不懂技术吗?估计很大一部分人都懂技术或者曾经干过技术。
但是为什么不谈呢?这个可不符合咱们的具有中国特色的软件行情啊!西方式资本主义,老马说过,资本主义就是追求利益最大化。可是他们单独设置了一个项目经理,而且最重要的是那家伙居然不编码甚至可以不懂技术!难道是资本家良心发现从而为了增加社会就业率?借用我大学的代数老师的一句话“答案是否定滴!”。我个人理解是,在西方软件产业早就开始了流水线般的生产模式。就是各司其职啦!为啥要这样呢?通才不好吗?好啊,当然好啊!可惜这样的人太少了。而软件事业确实无限的。怎么办呢?分工呗!不把所有工作集于一个人的身上,减少工作时间,增加项目的成功率。让技术人员绝大部分时间里只关心技术问题,让项目经理来作为一个局外人来控制整个项目的开发过程以及保持与客户之间的良好沟通。
我们还有很长的路要走啊,至少我们公司是这样的!