今天想跟大家聊聊 PM 的那些事儿。
在这篇文章中,我会从 PMI 提供的项目管理十大知识领域(knowledge area)以及五个 process group 来谈谈方法论。
在后续的文章,我会结合自己过去三年在互联网游戏公司的项目管理经验,谈谈如何在工作中做好项目管理。
项目管理是门学问,更是门艺术。
这个话题很有趣,不同的人有不同的视角,有些人说“项目管理根本就是没用,浪费时间”,有些人觉得项目管理是为了给老板汇报,PM 是监工。如何正确看待项目管理,是个具有争议,也值得深究的话题。
在 Monash 的 MIT 课程设置中,Project Management 是门必修课,在上课之前,就有很多学过的朋友告诉我,这门课纯粹是浪费时间浪费钱,能免掉就免掉。
但是我个人觉得,之前自己在做项目管理的时候有很多疑惑和难题,学这门课也许能帮助解决这些问题。
所以我不仅学了,还学得挺认真。昨天这门课考完了,我觉得是时候做一些总结和反思了。
因为我上的课程是全英文授课,所以在后续的内容中我会使用一些项目管理的英文词汇,大家如果不理解的话可以告诉我。
简而言之,任何需要一系列相关工作才能达到某种目的,有实际交付成果的,都可以称之为一个项目。
比如:在游戏公司,我们要开发一个新游戏,这个游戏就是我们要做的项目。
项目来自于企业的商业价值和商业策略,假定我们的公司有一个 3 年战略规划,那么我们要做的项目应该是符合公司战略,并且能够为公司创造价值的(也有某些情况是,做一个项目是为了给其他的项目做铺垫,这个项目本身不产生金钱价值,但是能够创造战略价值)。
所以,如果你在一家游戏公司上班,然后你要做一个外卖项目,就是不符合公司战略,没有意义的项目。
了解一个项目存在的意义,我们才能判断什么样的项目值得去做,什么样的项目不需要开始。
假设你是一家公司的老总,面前放着 5 个 business case(待定项目),你应该如何做出选择?
请记住,任何一家公司的资源(resource)都是有限的,人力资源,办公场地,流动资金等等,都需要考虑在内。所以你不可能说,有啥项目就做啥项目。你肯定要选择一个能给你的公司带来最大利益的项目(一般来说都是利润最高的项目)。如果你拍脑袋说,做 A 项目,因为我喜欢,那这个决策的过程是有问题的。
这里特别要指出的是,cost and benefit 要用 model 计算,比如 IRR, NPV, ROI,而不是一个没有根据的假设。所以财务相关的专家在这个阶段就需要参与进来。
好了,假设现在你的项目因为最符合公司战略要求,能给公司带来价值,被顺利选中。
下一步,Project Sponsor 准备 Project Charter,这个文件正式宣告项目的诞生,以及这个项目的 Project Manager 是谁,这个项目大概要做多久,项目的关键利益人是谁(stakeholder)。
Stakeholder 是什么意思呢?就是说你做的这个项目,公司内部和公司外部,有哪些人是利益相关者。这些人是你在项目管理中必须要重点关注的,他们可以通过各种方式影响你的项目(包括积极作用和消极作用),所以争取他们的支持对于项目的成功至关重要。
举个例子,刚才提到的那个 Project Sponsor 就是一个 stakeholder,他发起了这个项目,并且指定了 Project Manager,从 Project Manager 的角度来讲,必须要和 Sponsor 保持密切的沟通,争取资源,汇报项目进程,项目遇到的问题。如果这些工作没有做好,Sponsor 就不会给你的项目提供必要的支持,你的项目没准还会在进行到一半的时候被砍掉。
现在 PM 和 Sponsor 已经就项目的 stakeholder 是谁,达成了一致的意见,那么我们要做的是开个非常重要的会议"kick-off meeting",邀请所有的 Stakeholder,讨论这个项目的 scope, 成果,有什么需要注意的问题。如果大家能够达成一致,就在你的 project charter 上面签字,表明“我们接受这个项目是这个样子”。
邀请所有的 stakeholder 参加会议,可以 involve everyone, get support, clarify expectations.
开会的技巧
会议组织人应该是 Sponsor 而不是 PM
我们先来说说什么样的项目是一个成功的项目。
从项目管理的角度来讲,如果一个项目计划在 10 个月完成,有 10 个功能,预计花费 100 万。到了 10 个月之后,如果 PM 能够完成所有需求,实际支出没有超出预算,那么就是成功的项目管理了。
成功的项目管理不等于成功的项目。
因为一个项目存在的意义是为公司,客户创造价值,所以只看这三个关键因素是远远不够的,IT 项目的质量,客户的满意程度,都是必须考虑在内的。
那么问题来了,项目管理有意义吗?或者说,传统定义的成功项目管理有意义吗?
我个人认为,项目管理是有其存在的意义的,但是该怎么管,管多少,是门艺术。
先来谈谈项目范围吧,这是最难管理的一部分,也是最容易造成项目延期,失败的一部分。
一开始,我们会把这个项目要完成的内容都写下来,比如有 10 个主要功能。我相信在项目计划阶段,很多公司在征求大家意见的时候,大家都会说,没问题,同意。
但是到了实际去做这个项目的时候,就全是问题。
问题的来源有:
考虑问题不够全面,导致某些功能没有写进需求文档。
某个功能的更改牵扯到其他的相关功能,牵一发而动全身。
项目成员看到其他产品有某个新功能,觉得挺好,我们也要有。
开会的时候高层提出我们的项目应该加个 XX 功能。
这样的问题无法避免,所以我们需要一个正式的流程来解决,这就是需求变更流程。
简单来说,每一个需求变更都需要通过优先级评估,影响评估,需求变更委员会(CAB)的认可,告诉所有人,这个东西要改,才能去改。
这件事情的意义在于给整个团队建立规矩,安全感和信任感。
如果需求变更只是拍脑袋,凭感觉,或者是根据提出变更的人的职位来确定要不要通过(比如高层说的东西就一定要执行,成员提出的就不通过),并且没有及时告知所有人这件事情的变动,长此以往,大家会感觉这个项目永远做不完,也不知道自己为什么要做这些事情,团队的凝聚力就没了。
项目管理常常为人诟病“浪费时间,没有用”的原因,我觉得很大程度上是因为,大多数情况我们都只是制定了计划,在执行的时候不按照计划来,也没有人真的在更新这个计划,并且根据实际情况和预期成功的 gap 来采取措施。
如果一个计划只是一纸空文,那么它真的没有存在的意义了。
这就是我为什么认为,执行计划和监督计划的执行,甚至比计划本身更加重要。
作为项目的管理者,你必须要时刻关注整个公司的 environment,因为一个项目是存在于一家公司,并为其服务的。就拿之前那个例子来说,如果你的公司是一家游戏公司,你的项目也是个游戏项目,那么很好,但是突然,公司的主要业务变成搞直播了,你这个项目还有存在的意义吗?
项目管理者不仅仅要关注项目内部的问题,更要时刻掌握企业的战略动向,以及公司内部其他在进行的项目,找到自己这个项目和其他项目之间的联系或者影响。这对于项目的成功是非常重要,也是常常被忽视的一点。
所有项目进行过程的文档,都必须是公开的,最新的,项目成员可以时刻看到整个项目在干什么,目标是什么,发生了什么,自己做的事情有何意义。
在有条件的情况下,使用类似 Dashboard 的工具可以提供一目了然的信息,在没有条件的情况下,我认为一个共享文件夹就可以达到这个目的。
项目管理的一个重要领域是沟通管理,我认为沟通的关键是,把这个人关心的信息准确的传达给他,并且了解这个人对项目的看法和期待。
沟通是持续的,双向的,也是最难的。
作为 PM,不仅要做好和上层的沟通,也要和团队进行有效的沟通,但是我们要注意,沟通的目的不是 make everyone happy,而是尽可能的团结所有人,让大家能够为这个项目做出我们期待的贡献。
一个项目必须有其存在的意义,就是为公司创造战略价值。
项目的关键利益人管理可以决定项目成败。
公开,公正,透明的流程,能够提升项目信心和成员的凝聚力。
沟通的重要性不可忽视,沟通的技巧也要在实践中不断提升。
方法和工具是为人服务的,最好的项目管理是润物细无声。