痛苦转变之二:痴迷于技术,忘记管理控制
项目管理的三要素:进度、质量、成本,哪个都不能少。项目管理要处理的事情非常多,需要调度非常有限的资源去完成一大堆的工作。资源包括:人力,时间,金钱。这三种资源往往只是刚刚够,或者还缺少很多,这个才是考验项目经理的地方。
但在我刚刚开始做项目经理时没有转变观念,一味地按程序员的思维方式去追求完美,痴迷于技术,而忘记及时交付,这也是软件开发人员的通病。
- 事必亲躬,还是各司其职?
软件项目的复杂决定了需要协作,也决定了协作时沟通与交流的复杂。一个项目想要做到管理有条不紊,就要有管理层次,这是我在四处碰壁,燋头烂额后得到的经验。软件开发项目中各层次,各成员都分有与之相对应的职责和权利,例如项目主管负责计划管理和组织开发,程序员负责具体的代码编写操作。
作为项目经理,如果管理过细往往会打破正常的管理秩序,使管理处于紊乱状态,影响项目进度。因此,项目管理应具有层次,而从程序员出身的项目经理应该特别注意,避免“越俎代庖”的现象发生,不要一看到下属程序员做事效率低,就自己下场亲自操刀编写代码,事事都包揽不是一个好的项目经理。因为这样的管理是有问题的,会滋养了成员的惰性,造成了事无大小全凭指挥的缺乏思考和创造性的局面,以至于离开了项目经理,项目便无法正常运转。
就管理成效而言,这是一种十分糟糕的情况。包办一切的另外一个害处,是不利于调动成员的积极性与创造性,不能尽人才之用。对于那些有才华,有能力的成员,他们在工作中处处都得不到体现,在这种情况下,难免会有一种压抑感,时间长了,要么就在此磨洋工,要么有些能耐的就干脆辞职走人。
因此,在项目管理中,项目经理可以和成员打成一片,但在涉及到具体的权利和职责,或处理项目内部中的种种问题时,就必须注意管理的层次,切忌越俎代庖和越权指挥。这也是程序员转变项目经理的一个大考验。
- 关注个人绩效,还是团队绩效控制?
我们的项目面临着多变的环境,各种突发事件层出不穷,特别是项目经理工作负荷大,频于应付。出于程序员需要先把自己需要做的工作做好的习惯,我把大部份时间花在了个人绩效的工作上。但在进度总结会议上,我遭遇到最难堪的事情,就是我个人的绩效不错,但团队的绩效是一塌胡涂。后来我明白到项目经理要做正确的事,而不仅仅正确的做事。就是要分清工作的主次—哪些工作应该由项目经理来做,哪些工作可以交给其他人员来做,哪些工作需要资深人员来完成,哪些工作由一般人员做就行。
项目管理强调的是团队行为,而不是个人行为。面对一个复杂而多变的软件开发项目,只有项目经理一个人是无法解决这些问题的。因此,项目经理需要关注每个人的进度和绩效,重点是技术经理和资深人员。而且,项目经理仅管好自己的时间还不行,还要掌握授权的技巧。应当明白管理是通过别人的手达到项目目标,通过计划、组织、协调、控制和兄弟项目组和业主等有关人员来实现这个目的。所以,项目经理是一个过程转化者,他要把目标转化为结果,把资源转化为成果。
因此,项目经理应当花费相当的时间在对项目组人员的管理上,花费时间在对下属指导、激励、团队建设、项目协调和控制上。强化项目成员以项目为荣,以项目为目标,提高团队的士气,目前这也是程序员转变为项目经理的最大薄弱环节。
- 加强成本观念,决策先要权衡轻重
在软件项目管理中成本管理一直是一个很让项目经理心伤的事情,我们也经常听到许多项目成本超支,预算失控的消息。软件项目管理成本的控制实在很难,主要原因有:需求不确定,项目工期不确定,费用无法控制等。
性能和成本永远是一对矛盾,程序员出身的项目经理常常为此陷入两难的境地,这种状况下常常考验着项目经理对质量、成本、轻重、缓急判断的均衡感。因此,项目成本估算和控制是程序员转变为项目经理所遭遇到的最大困扰,这也常常构成了程序员向管理方向发展的恐慌。
痛苦转变之三:到底是项目经理还是技术经理?
在我刚刚负责项目的时候,由于各种原因导致一个人身兼多职。正常来说,项目经理的关注点应是项目的进度把控,协调各方资源使项目能够如期完成,但结果是我这个项目经理经常这也做那也做,有时还要管理编写和测试代码。这样的后果是一方面把人搞的很累,另一方面也是一个很大的风险。
后来,经过挫折和打击后,我明白到理想的项目经理无需参与具体设计,他们只需要运用独特的管理能力去协调各种流程、项目、预算和团队成员,优秀的项目经理需要做一个领导者,象汽车司机一样操作汽车。而理想的技术经理,是一个有着技术天赋的人员,是其他技术人员眼中的技术领导者,他们是技术导航员并能够解决问题,就像一个汽车发动机一样。项目经理是对项目整体负责,技术经理是对项目的技术负责,项目经理主要负责成本和范围,技术经理则负责技术实现和质量。项目经理监控技术经理的质量工作,技术经理从技术角度协助项目经理的成本、范围工作。
后来经过多次的混乱后,我们决定把项目经理和技术经理分开。这个事情也让我深深明白到,项目经理不应该把应是技术经理做的事情也做,必须转变思维方式,立足于管理才是正道,这也是我从程序员到项目经理转变的最宝贵经验。