话说“既懂技术,又懂管理”的程序员更受欢迎。最近因为工作的原因,我抽空学习了项目管理相关的知识。学过之后才发现自己之前大部分时间用在了技术上,在项目管理理论知识这块,算是比较缺乏的。我想很多程序员朋友都有这种情况,技术上没有大问题,但管理经验相对缺乏。在这篇文章中,我将最近学到的东西分享出来,供大家参考。
项目管理的历史
根据业界的共识,项目管理经历了四个重要的节点:
第一个节点是1917年,美国一位名叫亨利·甘特的机械工程师,发明了著名的甘特图。一提到甘特图,大家应该不会陌生,它在我们当前的软件开发工作中依然有非常广泛的应用。
第二个节点是1957年,美国的路易斯维化工厂发明了“关键路径法”,简称 CPM。
第三个节点是20世纪60年代初,“阿波罗”登月计划,让项目管理方法从此风靡全球。“阿波罗”登月计划可谓是人类空前绝后的一个大项目,让全世界看到了美国的科技实力,也让项目管理方法得到各行各业的普遍认可。
第四个节点是20世纪90年代后,项目管理逐步标准化,国际上逐渐形成了三大项目管理的研究体系,分别是欧洲的国际项目管理协会(IPMA)、美国项目管理协会(PMI)和英国的PRINCE2体系。
项目管理的定义
在《项目管理知识体系指南》这本号称项目管理的“圣经”中,对项目和项目管理进行了定义,具体如下:
项目是为创造独特的产品、服务或成果而进行的临时性工作;
项目管理就是将各种知识、技能、工具与技术应用于项目活动,以满足项目的要求。
上面的定义比较专业,我还见过另外一个精辟的定义,如下:
项目管理就是变理想为现实,化抽象为具体的一门科学和艺术。
项目管理的十大知识领域
项目管理的十大知识领域包括:干系人管理、进度管理、质量管理、采购管理、风险管理、范围管理、成本管理、资源管理、沟通管理和整合管理。我们一项项进行详细的说明。
干系人管理:在项目中,哪些人会是干系人?干系人(尤其是项目发起人)对活动的预期效果是什么?干系人要以什么样的方式参与?如何更好地管理干系人的期望和影响?
进度管理:要规划好阶段性步骤,同时明确每个里程碑的目标成果和时间安排。
质量管理:需要确定项目圆满成功的标准是什么,需要引入哪些必要的流程和方法,以保障活动效果的达成。
采购管理:有哪些资源是需要外部采购?有哪些工作需要外部人员支持?如果经费受限,是否可以通过交换资源的方式,来获取更多的外部支持?
风险管理:需要弄清楚哪些风险可能会妨碍项目的顺利推进,需要提前做好系统性的风险识别并分等级制定应对策略。
范围管理:搞清楚到底要做到哪些事,才能更好地达成各方的期望;要确保围绕着预期目标来设计相应的活动方案,然后再进一步确定活动前、活动中、活动后分别要完成的具体工作。
成本管理:活动预算有多少?资金什么时候到位?如何使用?要从全局视角去思考,如何更有效地管理项目的各项投入,以达到更加匹配目标的预期效果。
资源管理:公司内有哪些核心资源是可以使用的?公司内部有哪些人可以支援项目?
沟通管理:活动策划团队、执行团队分别通过什么方式来进行项目沟通?与发起人和赞助方的沟通方式和频率是怎样的?如何保持团队内外项目信息的高效传递,使用什么方式来同步进展?
整合管理:统筹全局,整合并协调各个环节的利益冲突和工作安排,在不断变化的情境下,根据项目的目标“裁剪”出合适的过程、方法和工具,进行有效管理,从而达到全局的最优效果。
项目管理的五大过程组
项目管理的五大过程组包括:启动过程组、规划过程组、执行过程组、监控过程组和收尾过程组。我们同样一项项进行详细的说明。
启动过程组:意味着正式开始一个项目,或者是开始一个项目中的新阶段,包括识别干系人和制定项目章程两个子过程。
规划过程组:根据预期目标,明确项目范围,确定项目的里程碑阶段目标,为项目的执行做好各项准备。
执行过程组:这个阶段重在整合资源,推进项目落地,完成项目管理计划中确定的工作以实现项目目标。
监控过程组:定期对项目的进展、范围、质量等进行跟踪和监控,识别目前的进度与计划之间的偏差,从而快速准确地采取办法进行纠正和调整。
收尾过程组:交付项目成果,组织团队的回顾复盘,归档所有文档等组织过程资产,正式结束一个项目或阶段。
十大知识领域与五大过程组的关系
以上介绍的十大知识领域和五大过程组并不是孤立存在的,而是相互关联的。下面这张表展示了两者之间的关系。
从上表中可以看到,十大知识领域是穿插于五大过程组中的。