项目经理是个多面派的角色,在老板面前他要维护项目人员的利益;在项目人员面前维护上层的形象,解释上层的定位;在客户那里要维护公司的利益。没有利益的事情是不会有人去做的,只是不同的时间、地点、空间和人员,利益的定义和取舍不同。资本论里面把利益这个东西描述的相当清楚。在这里提出这个“利益”其实是想强调一个网络和相关性。一个项目的存在就有这三方的利益互相挂钩在一起。当然还有一方的利益在这里没有说。项目管理中的“三个代表”到底是那三个代表?让我们来看看:代表客户的利益、代表员工的利益、代表公司的利益。
第一个代表:客户的利益
“为客户考虑的同时就是为企业的生存考虑”这是我多年前提出的一个口号,一个软件产品是一个空洞的东西,大家都是在空中楼阁,从无到有的画圆,只是画这个圆的时候客户告诉你了一个方的框架;然后就看你是否能够画一个圆出来,是椭圆还是正圆,还是一个不规则的多边形?
软件产品不同于修楼和盖房子,这是一个很纯粹的空想和冥想的智力活动的结晶。这个结晶没有产生前大家都只能互相描述这个结晶的样子,然后互相在脑海中想出一个形象,这个大家包括所有人:客户、设计人员、需求人员、编码人员等等。一直到完工拿这个结晶给客户,客户左看三圈,右看三圈:哎呀呀,好像不是我要的那个样子,你们怎么做成这样呢?于是大家重新合计了一下,回去再修改了一下这个结晶再拿给客户,客户看了一下:嗯,好像是这个样子。不过不要高兴太早了,过几天你又被客户叫过去了:你们弄出来的这个东西不好用,回去再改改……嗯,我想加一些功能……
如我上面描述的那样,一个软件项目的大概情况就是这样,按照那本软件工程的书里面所说或许可以同那个什么“螺旋式上升”挂钩;但是这种螺旋不是项目管理人员愿意看到的:项目周期加长,成本增加等等,很多问题产生(当然有些螺旋是始终避免不了的)。
一个项目管理人员不能只为了完成项目而完成项目。项目管理人员要真正为客户考虑,为客户解决问题,站在客户的角度考虑问题,从客户的角度来看这个正在进行中的软件项目,把客户的需求变为管理人员的需求(把自己变为客户人员),拿这些需求去完善和要求项目。这样才能真正保证这个项目是客户要的,才能保证客户使用起来不会有生涩感。才能避免一些螺旋的产生,主动解决问题比消极应战好。如果项目管理人员不能把自己放在客户的位置,对于软件的要求始终都是存在一定差距的。
第二个代表:员工的利益
我一直有些看法:软件产品不是测试出来的,他是制造出来的,测试只是辅助手段。保证软件产品质量的非常重要因素是一个团队。软件是一个智力性的产品,而载体就是人,项目管理的人。在我看来(根据我这么多年经验),最能表达软件质量的是人员的积极性、主动性。人这种动物是非常有惰性的,而且依附性比较强,很多时候都是得过且过;但是当这种动物对什么感兴趣的时候这时最能燃烧小宇宙。而一个项目管理人员要做的就是协调和沟通,提高他们的积极性和主动性,取得他们的信任,了解他们对于自己价值的体现。有正对性的给他们提供相应的利益服务。
其实大部分智力性人员一般需要的是两个方面:一种被需要认可的价值;一种被金钱认可的价值。前者需要导向,这个导向没有什么好说的,我认为不同的管理人员方法不一样。后者分为两个方面工资和项目奖金,工资这块我就不多说了,我说的是项目奖金问题:还记得大锅饭不,没有项目奖惩制度的项目就是一个大锅饭,做好做坏一个样,质量问题很严重,没有项目奖惩制度就是对于项目确少可控制的细节,项目管