作者:人月神话,新浪博客同名
简介:长期从事一线大型集团信息化SOA项目管理实践,PMP认证
今天这篇文章的首页图片截了我个人在12年原创制作的项目管理培训PPT材料,该套材料我曾经在新浪博客,百度文库做了免费分享。但是却被很多人用于了付费下载和盗用并去掉了我的原创标记。因此大家如果看到类似上图的PPT模板格式的项目管理培训材料,均为我个人原创,特此说明。
在分享具体的项目管理感悟前还是先讲下个人项目管理方面的一些经历供大家参考。我初步整理了下可以理解为三个重要的阶段。前面两个阶段为在中兴时候内部的项目管理和产品管理,最后一个阶段为现在的外部大型集团项目项目管理。
阶段一:软件项目管理和CMMI
中兴当时的模式是一进入到项目经理岗位就是专职化的项目经理,而不再从事具体的需求,设计和开发等工作项。在04年下半年自己变为专职的IT项目经理,在06年通过PMP项目经理认证。
同时我们在04年就启动了CMMI二级的评估工作,在04年通过了CMMI二级,在05年通过了CMMI三级,然后再花了两年时间在07年通过了CMMI四级。而整个CMMI评估过程,从作为项目经理到作为大项目经理全程参与评估和过程改进,也为自己打下了更加坚实的技术基础。
而中兴的软件项目管理则是结合了CMMI中项目管理相关的PA内容和PMBOK知识体系内容进一步整合而成的,整个项目管理规范和流程虽然较为繁琐,但是也更加细致和专业,同时我们自己开发了类似PMS,PDB,缺陷管理,IOA周报协同和问题管理等诸多的业务系统对我们项目管理进行有效的支撑。
注:该阶段从04年到06年,专职化的IT项目经理。在这个阶段系统学习了CMMI软件过程改进和PMBOK知识体系,并完成PMP考试和认证。
阶段二:产品管理和项目群管理
进入到06年下半年,自己升为产品总工和大项目经理,下面有4个子项目同时属于PLM产品线,因此更多的是进行项目群管理和项目组合管理方面的工作。而在这个阶段,自己也作为项目组员参与了到两个公司级的重要项目,一个是和IPD类似的PACE高效产品研发,一个是当时外请了罗兰贝格咨询公司来做的项目化运作咨询。
特别是在PACE高效产品研发中,由于PLM产品线下面的PDM,EC,PMS,RCS,PPM本身就是PACE的关键支撑系统。因此在这个过程中对PACE也进行了系统化的学习,特别是里面的MM市场管理,组合管理,管道管理,产品决策。这些也让市场驱动研发,产品全生命周期的概念进一步深入到自己的实践经验中。
注:该阶段从06年到09年,在这个阶段系统学习实践IPD和PACE方法论。同时参加公司级流程优化项目进一步实践和体系化。
阶段三:外部大型集团信息化项目管理
从2009年开始我基本开始从事外部大型集团项目的项目管理工作,因此我在10年后基本有一半的的时间都呆在北京项目建设现场进行项目建设和实施。其中主要是从事SOA和云计算相关的项目实践过程,而这个过程中又以SOA为主,云计算为辅。对于SOA和ESB服务总线,我们做了大量的大型集团项目,包括在12年正式启动的联调集团私有云PaaS平台大项目,17年启动的移动集团SOA集成平台建设项目。
注:该阶段参加南方电网,中国联通,中国移动,TCL集团多个大型项目建设。
对于任何学习和实践,我们发现都是一个为学日益,为道日损的过程。
我原来经常会举个例子,比如你去爬山,你爬到半山坡后你有两个选择,一个是走上腰的一条平路到对面山坡,还有就是你要爬到山顶然后再下到对面山坡。可以看到两个选择最终你都到达了对面山坡,但是效果却千差万别。
上到山顶,再下到半山腰就是一个为学日益,为道日损的过程,该做的实践全部做,该体系化学习的至少体系和框架全部学习,这是一个为学日益的过程。
当你真正实践完成,并经过体系化的学习完成后(比如考PMP认证),这个时候你开始做为道日损的过程,即既不会忽视关键的方法论和思考方法,也不会生搬硬套各种计划和模板,而是知道如何因地制宜,因时制宜,真正抓住一个项目的Key Point,用最恰当的方法,技术和工具来进行管理。
再举个例子来说,最近这个大项目,我已经很久没有说要真正去按部就班的计算关键路径,再安排资源,原因在哪里?一个是项目是受资源约束关键路径法不管用,其次就是项目的重点往往并不在关键路径计算上。但是这些都不代表你做不好项目管理。
所有的方法和工具,都是协助你做好项目管理的,不是最终决定你项目成败的。你要渡河到彼岸需要坐船,但是到了彼岸一定不要死拽着船不放,而忘记了真正的目标和方向。
倚天屠龙记里面,张三丰教张无忌太极拳也是同样的道理,最后招式要全部忘记掉,那是否就完全不要教就完事了?答案显然不是,教和学的过程是为学日益的过程,融会贯通后逐渐遗忘,不要拘泥于招式这个形而真正在神上得以领会是为道日损的过程。
所以实践一段时间后,该体系化学习的方法论和知识框架还是要学,但是最终则是无形胜有形。
第一点我想和大家分享的感悟就是IT项目经理这个岗位基本都是要求技术+管理的复合能力。而不是单纯的项目管理方法能力或者说沟通协调能力。
管理和沟通能力虽然重要,但是技术能力更加重要。
这里的技术能力实际包括了两个方面,一个是你负责的业务系统领域的业务流程和知识掌握能力,一个是对软件研发过程,软件工程和开发等的技术储备。
IT项目经理考验的是综合实力,这个综合实力最大的体现就是在软件工程(需求,设计,开发,测试,基础工程运维知识),业务领域(供应链,财务,工程等),管理,沟通写作汇报等各种软技能上没有明显的瓶颈,或者说每一个分项你都能够打个80分的水平,同时能够将以上知识和经验很好的揉合为一个整体,为达成最终的项目目标服务,那么你就是一个优秀的项目经理。
举个简单例子,大型项目经常会开PMO周例会,大领导经常会问到业务系统中的业务问题点,或者一个功能开发变更具体的工作量和周期。你没有这些技术储备你就很尴尬。你当然可以说下来评估再发框,但是每次你和甲方沟通,你都要说你不清楚,需要下来评估,那么你这个项目经理如何当?甲方领导如何对你充分的信任?
经验来源于亲身实践,来源于在一线的证悟,虽说对于ESB类实施项目已经做了10年,但是还是感觉对于这种集团型的大项目,基本每个项目做下来都能够有所收获,能够弥补原来的知识漏洞并完善知识体系,也能够进一步的通过项目实践形成更加体系化的思考框架和管理模式。
软件项目管理本质是对人的管理,对于软件项目管理,其本质仍然要回归到对人的管理,因为所有的事都是团队成员在做,人管理不好事情自然就做不好。
其一:团队成员的管理
我记得很早以前回答过一个别人的提问,即项目管理的核心是什么?当时我的回答就是人,看起来只有一个字,但是确实是项目能否成功的关键。毕竟项目是最终团队和人相互高效协作,最终共同努力才可能完成的。
一个大项目管理和执行好,80%以上的工作都是围绕人展开的,在团队内部是招人,用人,培训和激励人;而在外部则是复杂的干系人管理和协同。一个管理者的重点是管理好人,包括他自己,那么要管理好人最重要的就是知道如何招募和组建一个核心团队,同时通过后续团队建设和培训使其具备足够的战斗力和执行力。你会有大量的时间都花在人的培养上,团队建设上,大项目要成功一定是依靠整个团队集体力量,而不是单个人的努力和付出。
对于人的管理重点本身又在于如何使得公司和团队的述求和个人的述求达到一种最佳的平衡状态,其次就是真正做到人尽其才,发挥每个人的最大价值。
要达到这个目标你就必须清楚的知道每个人的真实需求,每个人实际的性格特点和做事风格,以及每个人当前真实的技能水平和擅长的工作。只有上面的都做到的,你才可能做到为团队每个人分配最适合他们的工作,并时刻激励他们成长。
牛逼的项目团队往往都是项目经理一手带起来的,自己带出来的团队你才可能对每个团队成员的性格特点,擅长的工作和团队成员本身的工作效率有清楚的了解,才可能更好的分配工作任务。
一个团队,如果团队所有成员技能水平都能够达到80分,那么整体协同起来往往协同效率还无法达到80分,一个沟通协同难度大,一个是大家水平都不错反而导致很多时候意见难以统一各自为阵。团队最重要的往往就是整体的战斗力而不是单打独斗,因此一个优秀的项目经理往往则是能够将平均只有70分左右的团队打造成团队效率能到80分甚至更高,这往往才体现了团队真正的价值。
其二:外部干系人管理
对于IT项目管理的核心前面一篇文章已经多次强调了是对团队和人的管理,再扩展一下还包括的就是对干系人的管理。这个干系人包括了甲方的客户项目经理,高层领导,甲方最终用户。特别是对于我从事的项目还包括了业务系统合作厂商,这些本身都加强了干系人管理的难度。
一个项目经理,时刻需要复盘当前项目,团队,个人所处的一个环境。在分析这个环境除了政治经济环境外,就是干系人,你的客户,你的内部高层领导,你的外围协同伙伴,你的团队成员,包括团队成员的家人都可能是干系人。要明白做项目本质还是和人打交道,是人去完成项目。
对内部高层来说,我如何拿到我需要的资源,我如何获得更有效的权力来方便我工作开展。对客户来说,明白客户本身的接口人,各个层级人员不同期望究竟是什么?而对合作伙伴来说,更多是确定边界互利互惠。
你所有的项目执行措施,类似强硬,怀柔,软硬兼施,小恩小惠,移花接木或借力打力,都需要建立在你的干系人分析上。所以前方项目实际复杂性,不仅仅在项目本身技术难度,而在满足和平衡各方干系人利益。
举个例子来说,对于ESB这种大集成的项目,你只把甲方用户的述求满足好肯定是不行的,诸多的业务系统的述求无法满足,项目实施的时候业务系统不配合你,或者明里配合,暗地地不配合,这些都将导致项目最终失败或延期。
在干系人管理里面,规则很重要,简单来说就是先说断,后不乱,先把规则制定清楚。这个规则就是项目实施的方法和流程,具体的分工职责和边界。这个边界的制定相当重要,在边界划分清楚后正式的宣讲和评审,多方认同,后续按此推进工作就会更加顺畅,阻力也会小很多。
除了对人的管理外,项目管理最重要的不是简单的制定目标,分解WBS,排计划,而是风险管理。前期大量经验积累最终带来的是关键风险预判
经常看到有人问对于开车的司机来说最重要的能力是什么?我个人的答案始终都是风险预判能力,你做的所有驾驶行为和动作都是为了风险预判和缓解。比如当你看到路边突然蹦出一个皮球的时候,你一定要马上减速刹车,因为你预估可能有某个小孩会窜出来。
在谈项目管理的时候,我经常会强调一个观点,就是项目管理本质是风险管理,风险管理贯彻整个项目管理生命周期过长。如果在项目管理和执行过程中没有风险,那么项目就应该一定能够按照既定目标完成,因此项目延期或超支,都是前期关键风险没有识别导致,到这里最后风险变成问题,你只能是疲于奔命,花费比前期多达数倍的人力和物力资源来解决。
是否识别关键风险直接影响到项目成败
软件项目管理是技术型管理,对于项目经理而言技术背景和一线技术实践和重要,可以试想下你没有经验,你如何排计划,如何分解WBS,如何识别关键风险?所有这些事情你都会感觉寸步难行,都要依赖于下面的需求人员或架构师帮助你来完成。
风险管理方法和流程,犹如教科书般标准,从风险识别,风险定义,风险定性分析和定量分析,风险应对和缓解,风险监控等。
但是风险管理的真正核心不在这些地方,而在于你是否能够识别出关键的风险。你所有的QA过程检查都100分,风险登记册做的很漂亮,但是最终项目还是失败了,原因就是关键风险没有识别。
一个有经验和有技术背景的项目经理,最重要的一个能力就是识别项目关键风险的能力,同时对于关键风险即使转变为问题,还有Plan B计划。什么是最关键的风险?
简单的拿考试来类比的话,就是关键风险是确定你是否能够及格的风险,而不是那些是评估你考80分还是90分的风险。我们把大量时间花费在80分到90分上,而最终发现一个大的失误,导致根本没及格,如果这样就根本没法玩了。
因此项目经理一定要养成给自己预留独处和安静独立思考时间的习惯,这段时间你啥都不用去做,就是去安静的思考和复盘整个项目的执行,把已有的输出,以做的计划拿出来审视,看看究竟还有哪些关键点遗漏了,还有哪些风险没有识别出来。
凡事预则立,不预则废。如果你不知道要到哪里?给你一张地图也没有用。
目标驱动首先要有最基本的计划管理和时间管理能力。对于一个项目,我们过程中做的所有工作都是为了要达到项目目标,因此在项目各个阶段所有活动都需要考虑对达成目标的影响,当发现偏差后及时纠正。目标驱动让我们从无目的的事后应急变成了有计划有目的的事前预测。
目标驱动不是要抛弃过程,项目的成功涉及到过程,人和方法工具技术。为了达到项目目标,我们要根据项目的实际情况采取一系列项目原来已经总结的最佳实践形成一套过程,高效的过程和积极心态的人是保证项目目标达成的关键。因此作为项目经理要时刻问自己,项目的目标是什么?项目当前状态和我达成目标的差距是什么?我如何解决和应对。
因此项目经理的一个核心能力就是是对项目本身按目标达成的一种掌控能力,项目经理所做的每一件事情都是为了这个目标达成而不断奋斗。
项目经理核心能力是达成项目目标,这里面包括了进度,成本和质量等多方面的目标,没有成本和质量的进度目标往往也没有太大的意义,那我们对目标的衡量就相当重要。举个例子来说本身2个月能完成的项目如果我们定义的目标是3个月完成,那即使3个月能完成该项目也无法体现项目经理本身的能力。
比如一个项目我们会得到三个可能完成的时间如60天(最乐观),80天 (最可能)和100天(最悲观),如果一个项目能在最可能的时间完成那么这个项目经理能力已经相当不错了,如果能在最乐观的60天就完成,那么绝对就能够 称得上是一个优秀的项目经理。
因此对于一个优秀的项目经理,一定不要轻易降低了对自己的要求。有时候你的项目做的好不是你项目管理能力强,而是目标本身定的太低。