结合本人这几年在项目管理上的总结和得失,本人认为优秀的项目经理要有责任心、要善于沟通、能引导客户、能预测风险、善于总结、随需应变、善于激励团队、同时也要懂技术。
责任心
作为项目经理首先要有责任心。有了责任心,你会把项目当成自己的孩子,倾注你的全部心血。责任,会驱使你关注项目的进度,千方百计去寻找各种资源,推着项目往前走。甚至吃饭、睡觉,走路、坐车,都想着整个项目团队,想着他们还在加班加点,你可能很自然地给他们带点夜宵、冲杯咖啡,犒劳员工。
有了项目经理做表率,整个团队会鼎力支持工作,士气非常高,技术问题也迎刃而解,得到领导称赞和客户肯定,项目将朝着预想的方向发展。
许多开发人员抱怨项目经理一天没干多少事情,而工资还挺高。其实,项目经理一刻都没闲着,他总在想着怎样更好的执行项目计划,调整项目进度等,脑子一直在不停地运转,所以说项目经理是心累。
善于沟通
PMBOK(项目管理的知识体系)指出,项目经理75%~90%的时间用在沟通上。沟通无处不在,项目经理要具备良好的沟通能力。如:跟领导报告工作进度、跟客户介绍产品及说明工作成果、跟项目成员交待工作、跟公司内的其它人员争取支持、跟合作厂商协调配合事项等。对项目经理来说,每天大部分的时间是跟人沟通。项目经理上有老板、客户,下有项目组员,属于夹板层,沟通不好,容易出事。
沟通的关键在于:在什么时间,用什么方式,将什么信息,传达给什么人?特别要强调的是要做好沟通计划。同时,要掌握项目干系人的沟通需求,满足他们的期望!
当然,沟通的方式有多种,正式的、非正式的。正式的有:各种评审会议、周例会、项目启动会议、项目总结会议等,非正式的如:个人谈话、餐桌上的聊天,MSN聊天等。要结合着使用各种沟通的技巧。有时候,非正式的沟通反而能获得项目的实际信息,尤其是开发人员对项目的期盼、想法和思想。
引导客户
“客户是上帝”,但客户不一定全对,而且有的时候是错的,尤其在项目还没开发出模型的时候,客户有时根本不知道自己需要什么样的东西。所以,在项目启动会议后,双方要“把丑话说在前面”,分清责任。
项目经理要站在客户的立场,努力满足客户的业务要求,让软件真正为客户创造价值。但是,如果项目经理总被客户牵着鼻子走,就很容易陷入被动的局面,结果是客户的需求一直在变化,造成程序不停地返工,项目总在原地打转,很难推进,久而久之,大家筋疲力尽,积极性严重受挫。最后,项目做得一蹋糊涂!
开发方和使用方,要讲究“职位相当”,要找有话语权、能拍板的客户,统一接口人员,对需求的变更,不能说改就改,要做适当的变更控制,笔者一直建议要做到“落到纸面上”,有时需要客户签字确认。
对于客户提出的需求,项目经理要凭借优秀的技术水平、充沛的业务知识快速估算需求的变更需要多少开发工作量,有没有更好的解决方法。理想的情况是程序基本不做改动,又能满足客户的需要。但笔者往往是采用变通的方法,换一种方式实现客户的需求。这种情况下,需要项目经理对系统结构有全局的认识,尺寸一定拿捏得很准。
项目经理有时充当白脸、有时是黑脸,但无论如何,一定要维护组员的利益,笔者经常看到很多项目经理有意无意地在客户面前说开发人员的不是,遇到客户不满意的地方,就指责开发人员。这种方法欠妥,笔者一般是跟客户表态,向客户承认“错误”,回头再找开发人员讲道理,做到“内部的问题内部解决”。
不过,这些年笔者做过很多项目,不少是大型项目,