笔者从事项目经理有多年,经历的不同的项目及项目管理方式有许多,在这里有些本质问题,与广大项目管理同仁们一起探讨。
问题一: 项目经理,特别是IT项目经理,需要写代码,懂技术吗?
这个是很多的技术同仁,特别是从工程师转变到项目经理的同仁经常会问的问题。第一要区分,写代码与懂技术。懂技术的含义比写代码要广,可以是懂运维,懂集成,基础架构,数据库,测试,等等。写代码只是开发工程师的职责之一。这个问题,其实涉及到项目经理的定位。国内的团队,很多把项目经理,架构师,开发经理的职责是混在一起的。许多要求项目经理写代码的职责,笔者认为是从开发经理,架构师的角度出发,同时从小团队的实际出发。如果是个大团队,比如上百人的项目经理,可能不会直接写代码了。所以说具体团队,团队中项目经理的定位决定了这个问题的答案。不能一概而论,笔者觉得比较稳妥的是要求项目经理有技术背景,懂技术,这样好安排项目计划,追踪项目进度,安排项目资源。
笔者从事过2个不同的项目经理职位。1个是在银行做IT运维的项目经理。当时有许多Oracle数据库的工作,初为项目经理的笔者自己亲力亲为翻看Oracle大部头PLSQL技术书籍,探究Oracle数据库脚本的细节。结果被认为不适合做项目经理,因为客户认为“项目经理不应该太技术”;而另一个项目,是新零售的项目,有供应链,仓储,智能终端等多个领域,笔者只是从项目管理出发,做好管理,没有深入技术细节,不像个“开发经理”,又被客户认为“不适合做项目经理,因为没技术背景“。所以说把握好项目经理的定位是非常重要的。
问题二:老板说”招个项目经理来管好项目“,项目经理来了如何做呢?
这是个很典型的国内项目经理的遇到的现实状态。项目经理在很多场合是有职责无职权。职责是要管好项目,交付项目要按时,按质,满足客户与相关方的要求,同时你又不负责项目队伍的奖惩,评价权。因为职权范围不容易界定,同时下发职权,但是项目成功与否的责任老板还是要承担的,所以一般的老板是不会下发足够的职权给下级的,同时希望上下级就某一些模糊点及时沟通解决。因此可以说老板其实或者没有意识到,或者不愿太大的改变现实情况,只是寄希望与某某项目经理来了能改变项目管理的现实。
项目经理首先要明确自己的定位。即你的岗位职责,职权,利益相关方,如上级项目总监,平级项目经理,下级团队成员,以及内外部客户。其实很多时候是项目集,项目群的治理结构有问题,妨碍了项目的实施与推进,表现在项目资源的冲突,项目内外部利益相关方的管控等等。项目经理在明确定位之后,设计明确的交付过程,度量指标,如进度指标,交付物指标,质量指标等。有问题,还是要及时反映。如果能推动项目集,项目群治理结构的改善最好,但是一般不太可能,还是采用一事一议的方法,寻求对于本项目的问题的解决方法。当然寻求帮助的时候,要注意方式方法。项目经理在向上汇报的时候,建议不要用纯技术语言去沟通,不要只是简单的描述问题,最好有解决方案,寻求上级三选一,四选一的决策性支持。
总之,项目环境可能是恶劣的,项目团队是不完美的,项目经理的职责往往是要求达到完美,同时项目经理又没有足够的职权的。
问题三: 项目管理需要理性还是感性?
这里的理性,就是指像PMBOK这样的项目管理体系。或者说把项目管理看成一个科学。笔者以前经常认为项目管理是理性的,清晰的,如果项目做的不好,没有及时交付,客户会投诉的。但是实际情况不是这样。举个例子,一般的项目合同中会有个”维护条款“,如果维护里写的不明确,只是写”乙方会对甲方的维护要求及时响应“,那会有很多坑的。笔者就被客户投诉,投诉理由不是项目交付的不好,是客户的问题超过2天回复。客户问的是,生产环境中她个人的数据能删除吗?所以说项目管理过程中,有时的双方责任不是很明确界定的,这时候项目管理可能更多的是感性,是客户对乙方服务的水平,响应,乃至乙方个人的认知。这里肯定没有啥理性的成分。
上面3个问题,是笔者最近思考项目管理职业与工作之余想到的,与广大项目管理同仁共同探讨,共同提高。