论项目经理的重要性
——读《构建之法》有感
近日有幸拜读了邹欣先生所著的《构建之法》,这本书内容充实,通俗易懂,使我受益良多,意识到之前我对整个软件项目的开发的认识还有很多不正确的地方,特别是其中项目经理那一章节,更是让我感触颇深,体会到了一个强有力的领导者对于一个项目至关重要的作用。例如之前我一直认为一个好的开发团队只需要技术人员就足够了,一个项目的开发也是以编码为主,其它都是次要的,不会在软件开发过程中占据多大的比例,向我们平时的那些大作业,基本90%都是以编程为主,没有谁会去过多关注需求分析、测试、运维等环节。但是读了这本书后我发现软件项目的开发并没有我想的那么的简单,毕竟我们平时做的只是一个很小的项目,而一个真正的大型项目的开发是非常复杂、严谨、规范的。其整个流程包括:产品定位、市场发展、需求分析、运营、推销、市场推广、商务合作等等,编码实现只是占其中的一小部分,而为了实现这些过程,有一个角色不可或缺—PM(项目经理)。下面,我就结合书中的内容以及我自身的体会来详细介绍项目经理的由来、主要负责工作和所需的素质。
首先,什么是PM?M代表manager,而P代表多种意思,有product,project和program。第一个意思是产品经理,主要负责做产品;第二个意思为项目经理,主要负责作流程,即正确协调团队合作,处理好从立项到产品上市的每一个环节。Program manager则是微软的职业名称,是微软产品团队三大角色之一(另外2个是开发和测试),PM负责除了开发与测试以外的一切事情,可以说微软的PM是前两种角色的综合。
那么PM是怎么出现的呢?在早期的开发团队中是没有PM这一说法的,项目的完成依赖于各位开发人员的沟通与协调,到了后来,随着项目开发的难度逐渐提升,团队中所需要的开发人员也逐渐多了起来。当时微软的首席程序员查尔斯发现,一个项目管理的复杂度与人员数量的平方成正比,这种人员的持续增长带来的开发难度指数爆炸型的增长是一个项目团队所不能承受的。与此同时,随着软件复杂度的日益提高、用户需求的多样化,用户与程序员在需求问题上往往不能很好的沟通,用户缺乏相关的专业背景知识,而程序员则很难理解用户不是那么“专业”的表达,导致最终项目实现功能与客户的需求不一致。所以,我们非常需要一些专业的人才去做以下事情:1、与客户沟通,发现客户需求2、进行市场调研3、组织协调整个团队的开发流程,而这些事情又是很多程序员不愿意去做的,于是乎,1984年,微软第一个PM出现了,并且取得了非常不错的业绩。PM作为开发人员与客户之间沟通的一道桥梁,不但可以更加精准的获取用户需求,而且可以使得开发人员更加专注于技术工作,可谓一石二鸟。
微软的PM又与我们通常所说的PM有很大不同,目前国内的PM大多数都是负责行政管理方面,不参加实际的工作,而是主管人事,并且拥有最终的决定权。而微软的PM则更加专注于具体的工作,并且是以一种与开发人员平等的身份进行交流形成决议,这样的模式更加的民主和开明,避免了因为领导的独断而造成项目的损失。
PM的工作除了协调整个团队完成项目之外还有一个不容忽视的地方—风险管理。风险主要分为四大类—人员(人事上的变动)、流程(项目预算的问题)、技术(编码能力)、环境(相关法律法规的限制),这其中每一项都可能会决定一个产品最终的成败,所以项目经理在预防和规避风险这一块有无可替代的作用。在风险管理方面又分为四个层次:第一层就是措手不及,没有做任何准备,例如我之前在我们软件工程小组做项目经理,负责撰写需求分析文档,有一次电脑系统崩溃造成文档全部丢失,由于事前没有任何准备,只有在事发之后被动的进行危机处理(重写)带来了极大的不便。第二层是对风险有一定准备,可以使危机得到缓和而不至于措手不及。第三层是对风险有预见性,能够预测到风险并做好万全的准备,第四层就是最高境界,将危机转化为机会,从而带来更大的效益。由此可见,在一个团队碰到困难的时候,PM作为“主心骨”,肩负着鼓舞士气,力挽狂澜,带领大家走出困境的重任!总而言之,PM经常与人、管理流程打交道,经常处理“不确定性”,再反复对“不确定性”处理的过程中,一个团队的风格就渐渐形成了,因此PM还需对企业文化有直接的认识,并努力做出自己的贡献。
那么一个合格的PM该具备哪些素质呢?我认为有以下几点:1、要具备一定的专业素养,作为软件开发团队中的领导者,PM首先自己要十分精通技术,熟悉专业知识和业务流程,才能更好的领导整个团队。2、良好的沟通能力,可以换位思考,站在客户的角度考虑问题。一个PM首先要具备和客户沟通的能力并且能完全体会客户的需求,并且要学会从用户的视角来看问题,尽最大可能满足用户需求。3、领导能力,分析管理能力,要做到忙而不乱,头脑清晰冷静,快速分析出事务的轻重缓急并制定解决方案。具有领导整个团队的能力,在同事中要树立一定的威望。4、自我反省能力,做到“吾日三省吾身”,努力提高并改进自己的工作。
相信每一个计算机专业的学生都有一个成为PM的梦想,作为大学生的我们,在学好自己专业技术的同时也要注意多参加并组织一些活动,关心国是,并且要广泛涉猎社会学、心理学、金融学等方面的知识,有意识的锻炼自己的领导能力,沟通能力,办事能力,演讲能力,相信我们一定也能成为PM!为祖国的计算机事业贡献出自己的一份力量!