执行计划
在完成计划编写之后,项目经理需要将计划分发给每个团队成员,然后给成员提供需要的资源,由成员开始执行计划。此过程除非项目经理还兼职技术角色,通常需要做的事情不多,假如你在此阶段非常辛苦,通常是因为计划作的不够好。在晚餐项目中,因为我还兼职小工,所以比较忙,这会儿已经开始淘米、下米、洗菜、切菜等活动。
团队建设
首先,项目经理需要懂得团队发展的阶段(形成、震荡、规范、成熟),其次项目经理必须熟悉各种领导(指导、教练、支持、授权)、管理风格(民主、独裁、自由、官僚),并在合适的时机采用合适的风格。此外,项目进行中,难免出现困难、挫折和打击,团队成员的士气会低落,严重影响项目绩效。此刻,项目经理需要采用各种手段激励团队,让团队充满干劲。激励的关键有几点,第一点,要想激励别人先激励自己;第二点,必须懂得人们做事的动机;第三,要根据团队成员的特定采用恰当的激励手段;第四,在恰当的时机来激励。
在晚餐项目中,因为我们就两个人,彼此非常熟悉,所以团队震荡期非常短,形成后迅速到达规范期。启动项目时我采用了自由式的风格,大家各抒己见,来讨论各种可能性;我做计划的时候采用了民主式的风格,因为我爱人属于做饭方面的专家,民主式可以广泛征求团队成员的建议;在执行中,我采用了独裁式,严格要求我们执行既定的计划;在接近工作完成,我采用了官僚式的风格,对晚餐执行中的问题、经验、进行了记录和总结。关于激励,是每时每刻必做的事情,我爱人不断赞美我洗菜的专注、切菜技术的进步;我也时刻保持谦虚谨慎,用求知的眼神向她请教、用崇拜的目光欣赏她的成果。总而言之,我们保持了优良的团队作风,大家充满激情的、充满快乐的完成项目的工作。
管理团队
再熟悉的成员,也会有摩擦,再好的团队,也会有冲突。项目经理必须了解冲突常见原因,熟悉冲突常用解决策略(问题解决、强制、撤退、妥协、调和、合作)和使用时机,能够迅速的解决团队中出现的冲突,并且注意及时、私下、合作这些基本原则。及时就是越早越好,因为冲突开始的时候大家不会情绪化;私下就是不要在正式场合,给对方面子,不让对方下不来台;合作就是本着解决问题共同进步的态度,不是要追究谁的责任、证明谁是对的、谁是错的。
在完成项目执行期间,我和我爱人发生了二个冲突,分别采用了不同的措施进行解决:第一个,在做花生黄瓜时,我想用刀切,而不是拍黄瓜。我爱人指出来必须拍,我问为什么,她解释拍出来的味道鲜美,用刀切味道会受菜刀的影响。因为她是专家我听她的,问题得到解决;第二个,在洗菜过程中,我突然想起来需要写点东西,于是擦手计划去电脑旁边,我爱人根据计划指出来,我洗菜必须按时按质量完成。我不服还想去写东西,我爱人采用了强制的手段:如果我去写东西,这饭就不做了。我采用了撤退的策略,放弃写东西的念头,乖乖继续洗菜。
验收成果
很多人会误解,以为项目成果的验收是项目收尾的事情,其实不然,在执行过程中,可以随时对完成的成果进行验收。验收包括两个步骤,一是质量是否符合要求,二是得到干系人(通常是上级)认可。在实际项目中,得到认可非常重要,因为认可后的才可以要求付款。
在晚餐项目中,我们随时进行验收,如淘米工作完成时,我对淘完的米进行检查,我爱人进行认可;洗菜完成时,我对洗完的菜进行检查,我爱人进行认可;切好菜之后,我对菜切的大小数量进行检查,我爱人进行认可;在炒菜工作完成时,我爱人自己品尝咸淡对菜质量进行检查,我进行认可;这些都属于阶段性的成果验收。
监控风险
在项目执行过程中,项目经理需要密切关注已经识别的风险是否发生?发生的风险是否应对?应对的效果是否达到?同时还需要识别新的风险。实践中,需要定期召开风险会议来实现上述目标。具体会议召开的次数,需要看项目的阶段、项目的规模来确定。
在晚餐项目中,因为我们识别了可能的风险,并采取了应对措施,基本没有出现新的风险。在项目执行和监控中,项目经理需要做两类事情,一是管项目,对项目绩效的管理;一是管人,对团队的管理。第一类事情比较容易,只要懂得必要的技术知识、制定了完整的项目计划,按计划进行即可。最难的是第二类,如何管理项目团队 。由于我们国家的发展背景,目前大多数企业中项目管理 者都是技术出身,对技术很熟悉,对管理很陌生。面临的最大挑战就是如何由技术到管理、如何在思想、能力、行为方面做出转变。
在此过程对项目经理的要求,知识方面需要具备心理学、领导模式、管理模式、团队规律等方面知识;能力方面需要懂得沟通、激励(当团队遇到困难时)、说服(在变更发生时)、谈判(随时随地)、领导(指明方向)、管理(协调资源)、问题解决(解决冲突、控制风险)等能力。
应对变化
在项目进行中,项目的环境可能发生变化,如此前的假设不再成立,或者因为发生了风险,项目的计划可能需要调整。变化是必然的,为了应对变化,在必要的情况下我们需要变更项目计划。这需要在项目启动时,就确定变更的流程、变更审批的组织(在大型项目中通常由高层组成变更控制委员会ccb)、变更的文档。
案例分析:
软件项目管理工作经验总结
软件项目最大的特点就是不确定性。这是指软件项目不可能完全在规定的时间内,按照规定的预算,由规定的人员完成。
因为这种不确定性,导致了计划赶不上变化,也导致了平时的工作中的2种倾向:1、变化太快,索性不制定计划。2、过度强调计划,往往要将项目中非常琐碎的事情都考虑的非常清楚之后再启动项目。第一种倾向,在我做过的项目里占了2/5,都是在项目开始时制定一份计划,项目一启动就丢到一边,项目过程中完全不理会,个人能力强的PM大致还能把握方向和进度,但是问他之前做了些什么额外的工作时,往往回答不出来,等到项目结束,再把当初的计划改改,做个大概的统计也就了事。而项目过程中的一系列的常见问题也是导致项目失败的原因(以下的原因是我做过的项目中总结出来的影响最大的5点,按照影响程度的严重性,从高到低排列。)
1、项目经理的管理能力不足
项目经理的管理能力不足之所以放在第一位,我想大家都清楚原因。项目经理作为一个项目的灵魂,对于进度的把控、团队成员的组建以及积极性的调动、成本的控制、和客户的沟通、需求变更的把控、重大事情的决策。。。这些任何一个都能左右一个项目是否成功。我遇到的几个项目中都是由于项目经理的能力不够,直接导致项目失败,而且使得项目成员在项目过程中也疲惫不堪,怨声载道。其实现在很多项目的项目经理都是由技术骨干兼任,因此他们往往习惯于关注技术开发,而忽视了项目管理工作。项目,本身就是为了盈利而生,所以不排斥项目经理兼任项目技术主管或业务咨询,但是必须要有将项目管理工作区分开来的意识和责任感。如果没有这样的意识,就会造成疏忽项目计划的制定、上下左右的沟通、专业资源的分配、项目组织的调整、成本的控制、风险分析等。项目管理工作的忽视,必然导致项目失控。
2、需求不明确,变化多
需求的多变是必然的。由于用户对计算机系统认识的不足,加上一个东西的从无到有,所以往往需求开始都是模糊的,只有随着项目的发展和反复的沟通,才能逐渐的明确。如何尽早的引导客户把需求明确,是项目经理、需求分析人员的工作,是保障项目可以顺利实施下去的前提保障,它是一门技术,也是一门思维沟通艺术。需求调研清楚了不代表着万事大吉。同一个东西,不同的人有着不一样的理解。开发人员和客户之间隔着需求人员这么一层,如何把客户的意思明白、清楚、不变形的传递给开发人员,这也是大部分项目中头痛的问题。我们经常可以看到在产品开发的差不多的时候,需求、开发、测试聚在一起吵架,责任互推。
3、工作量估计过低
工作量的估计不足,会直接导致项目延期。要对每项任务,甚至整个项目给出一个合适的工作量估计,需要综合开发的技术、人员的生产效率、工作的复杂程度、历史经验等多种因素。我遇到的几个项目中,计划制订者往往是凭个人经验,个人拍脑袋给出来的,问他的凭据是什么,回答往往是个人经验,有时里面也会包含其个人对自己的自信或自尊心问题,怕给出的时间过多而显得自己能力不足。抛开这些,我们还应该注意一些平时不可见的工作量,如人员的培训时间、各个阶段的评审时间等等。制定工作量时,不能被客户给的时间期限或上级的压力所限制,否则往往是以失败结束。
4、项目团队水平不足
技术人员的水平如果不能与项目的要求相适应,对项目需求或新技术不是很熟悉,对项目的质量、成本、进度都会产生影响。当进度开始滞后,项目经理最常用的方法就是增加人手。我之前的一个项目就是如此,由于项目经理不能把握需求,需求不断的增加,于是开始不断的加班,在这种折磨中,老员工开始纷纷离开,新来的员工不熟悉,进度进展缓慢,项目经理开始大量的加人,但是对系统代码和需求的不熟悉,往往3、4个人新员工都抵不了1个老员工。于是,开始无限制的加班,在加班的折磨下,新员工又纷纷离开,于是又加人。恶性循环,项目被无限的延期。这样的项目相信大家遇到过不少。导致项目失败的因素还有很多,对于一个团队来说,一个好的管理者是一个好的开始,但并不等于项目成功。加强自身能力的提升,是每个项目管理者必须有的意识。
5、计划不充分
计划不充分,分为计划太粗或太细。制定的计划不严谨,随意性太大,会导致可操作性差,在实施中根本无法遵循,也就失去了计划的作用。有的人会抛弃全局计划,采取每周制定下周的计划,这样也是不可取的,毕竟计划没有一个长远的目标或宏观上的掌控,只局限于眼前的一点点事情,往往会致使项目失控。我一般采取先制定全盘计划,再每月制定详细计划,当月快结束时,根据实际情况调整下个月的计划,这样既有了较长期的把控,也有了和项目目标的对比,同时也不会把自己陷入无止境的修改计划中。