2.
启动阶段的主要任务
根据PMI的解释,接单之后项目自然转入启动阶段。启动阶段PM的主要任务是率领总体架构设计师和系统分析员收集尽可能详细的数据,确立尽可能详细的需求,进一步确立详细的项目范围,预估资源,确立其他方案并获得进入下一阶段的批准。
在收集完数据之后,PM要和客户开始明确项目的大小,成本,规格,期限等重要特征并将其写入合同文本,同时准备内部的包括预算,衡量标准等文档,建立项目的评估标准。接下来就是需求分析。
3. 项目启动
项目启动要确定项目计划,与客户一起实施第一次项目审核,确认并对一些产品和服务向下包厂商下订单。这个时候的PM会忽然发现有开不完的会,一天开三到四个会议是很正常的事情。这些会议有与客户的会议,与下包厂商的,有团队的,有公司高层的。团队的会议主要是建立正式的团队,提供团队成员的角色和职责,提供绩效管理方法,向成员提供项目范围和目标。与客户的一个主要会议将是项目启动会议。在这个会议上PM会与客户确立正式的交流渠道,项目综合描述,让项目参与人员相互了解,建立以PM为核心的管理制度。还有一些零零碎碎的东西甚至包括办公场地的大小,电话多少部,所有人的联系方式等等都要在会议上确立,并做会议记录。这都是些非常琐碎的事情,听起来婆婆妈妈,却是非常必要,缺一不可。大概就是所谓三军未动,粮草先行吧。
三. 计划阶段
1. 定义结构分工结构图(WBS)
启动阶段结束后,项目进入计划阶段,也就正式进入实施。这里概念可能有些不太对头,其实是翻译的缘故,反正大家明白意思就行,不用要拘泥于字面。WBS是一组要提交的项目元素,用来组织定义项目的总体范围,具体包括从工作内容、资源、成本角度考虑项目范围;建立一套系统所需要的分层工作结构;把项目分解成易于管理的几个细目,这概念有些模糊,其实跟资源管理器里分目录是一回事情。可以说,WBS是计划阶段的核心。WBS会详细的分到递交件,包括给自己人用的项目使用的过程文件,给客户用的模块和说明文档,完成每个细目的标准以及如何把这些细目的责任分配到具体的个人。WBS有缩进式和树状式,我这里也没办法画图,大家参考一些项目管理的书籍,里面有详细介绍。我整个文章只挑我觉得需要注意的地方,如非必要,对技术细节或者工具使用不做详细介绍。WBS的细目并不需要分解到同一水平,最下面的细目叫做工作包,分包的依据是个人的责任和可信度,也就是说到每个人头上的任务是否能落实,是否有把握完成;还有就是准备对项目进行控制的程度,程度越深,WBS树也就越深。由于WBS是实用性的东西,根据个人理解也不一样,所以一个项目可能会有几个正确的WBS,看PM的需要和最适合当前团队状态的进行选择。
2. 风险管理
不论什么样的风险,能避免尽量避免,所以有必要对风险进行管理。由于风险的不可预知性,风险管理难度很大,概念也很难讲清楚,只能从一些可行的角度去分析,进行管理。
首先要识别风险。这是个难度很高的活。PM要先召开风险识别会议,这个会议面向公司,高层,跨部门的有经验的人都将参加。然后审核由项目小组生成的风险清单并与重要成员进行风险沟通,检查一些重要的风险源如WBS,成本(时间)预估,人员计划,采购管理等等。
识别之后要进行分析。我们可以进行粗略的量化分析(精确分析是不可能的事情)。有经验的人可以一起参加讨论,把提交出来的风险进行分类。有几种方法可以考虑,第一种是将风险纳入项目管理计划并指定负责人,由外部人员定期检查项目风险,一旦风险发生,执行风险管理计划;第二种是保险,这种属于风险转嫁;第三种方式有点奸,不过最保险,就是把客户拖下水,让他们一起参与风险管理.
3. 预估
预估是从量化的角度对项目进行评估,主要包括工作量、任务期限、人力、设备、材料、成本等,要注意预估不是财务策略或报价。
4. 进度计划
进度计划就是一个模块或功能要写多长时间,PM安排个日期,设立里程碑,使不能偷懒。进度计划是从WBS提取过来的。对PM来说,合理地安排进度计划对项目控制和激励团队士气有着很大的作用。
里程碑图表的特征是任务、成员和时间,任务和成员用文字标志,时间用数字描述并辅助以图线跨度,象阶梯一样非常形象,一目了然。管理起来非常方便,完了的打个钩就可以了。
项目经常需要调整进度。在不改变项目范围的情况下,调整进度有几种方法:利用快速跟踪手段来改变任务间的关系;将串行的任务改成并行;改变工作方法(可能改变WBS);改变日期限制,使关键路径上的任务开始或结束得更早。
四. 控制和执行阶段
1. 软件开发
2. 变更
对任何项目,变更无可避免,无从逃避,只能去积极应对,这个应对应该是从需求分析就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,用户跟PM扯皮的幌子就越少。
3. 质量控制
4. 成本管理
PM经常通过控制进度和预估来控制成本。PM必须经常问自己,项目已经到了什么阶段?完成了多少?花费了多少?完成时成本是多少?
五. 结束阶段
1. 项目结束
项目结束时,PM要将最终系统方案提交给用户,完成项目所有的提交件,收集项目全部信息并结束项目,完成或终止合约,签署项目结束的相关文件。
2.项目完工会议
3.客户满意度
六. 团队管理
1. 建立团队
挑选人才依然是PM头疼的一个大问题,有时候一个在别的项目里很优秀的人材,挖过来未必能适应。所以,PM还是要拓展知识面,培养自己的敏锐度,因人而异,才能挑选对自己项目有帮助的人才,才能真正对项目起作用。
2. 核心程序员
任何项目都有核心程序员。核心程序员背负着很重的责任,平时要和普通程序员一样没日没夜地加班,碰到重大的技术难关更是整个人扑在电脑上,熬上几个通宵是家常便饭。
3. 奖励与惩罚
一个程序员把模块做砸了,骂、扣工资、开除都不顶用,在项目没完成之前不是追究责任的时候。一个优秀的PM应该给他一个机会,当作没事一样让他去做别的事情,把他做砸的事情交给别人去做,就是对他最大的惩罚。这样既能激励他上进又不会让他尴尬,他会感激你一辈子,因为你给了他一次机会。
4. 管理冲突
无论团队里的成员相互之间很熟悉还是不熟悉,冲突再所难免。在发生冲突的时候PM要牢记以公开、公正的方式处理冲突,不能因为其中之一是自己的小姨子就干掉另一方;处理事情的时候必须对事不对人。
5. 承担责任
项目是有风险的,肯定会有失败的部分甚至整个项目失败。虽然说每个人都在WBS里定下了责任,在项目里程碑里都有任务。但是当整个项目危机来临的时候,PM要勇于站出来,承担起全部的责任。这是做人的方式,也能让你赢得团队所有成员的尊敬和爱戴。
6. 资源争夺
前面提到过,资源有限,如何争夺而不伤和气是对PM的另一个挑战。因为整个公司是一个大团队,内耗得厉害对PM没有好处。当然,摆平各路神仙是不可能的。但是一个健康的公司必然有健康的管理制度和优秀的成员。物以类聚,人以群分,PM应该在公司里主动结交志气相投的朋友,在拿到项目时这些朋友会给你很大的帮助,当然,在这些朋友需要你帮助的时候你也应该懂得怎么做。如果你性子很怪,很难找到脾气相近的朋友,没关系,交几个酒肉朋友也不错。