最要紧的就是要明白什么是因地制宜、因势利导,只有最合适的,没有什么叫对的,什么叫错的 项目经理最忌讳的就是完美主义倾向,尤其是做技术人员出身的,喜欢寻找标准答案,耽误了工作进度,也迷茫了自己。
项前期工作:了解了项目的目标、搞清楚了手上的资源,制定了项目的策略,定义了一些游戏规则, 然后编制了项目的整体计划
前期的时候项目经理要象记者一样到处和不同的人接触,搞清楚他们在说什么,努力猜测他们在想什么和他们的真正目的,那才是最累人的事情。
了解客户情况
项目开始阶段是一个最重要的阶段。项目经理在接手一个新项目的时候,首先要尽可能地多从各个方面了解项目的情况。前期了解情况的工作越详细,后面的惊讶就越少,项目的风险就越小
○什么项目 ○具体大概做什么事情 ○是谁提出来的 ○目的是解决什么问题
没有永远的朋友,也没有永远的敌人,只有一致的利益,这句话作为项目经理是一定要记住的
○项目里牵涉哪些方面的人 ○每个方面的人对这个项目的看法和期望是什么 ○碰到问题的时候,分析那些人会在哪些方面支持你,哪些人处于什么目的反对你,联合朋友对抗敌人 •了解自己公司各方面对这个项目的看法
公司领导对项目的态度决定了你做这个项目的战略,而这个战略方针将对你做项目计划产生直接的影响。
○公司对这个项目的实际期望,是想越做越大还是赚钱还是敷衍了事 ○领导对项目的态度,决定了是否提供有力的资源
明白要做哪些事情和你手上的筹码以及你做这个项目的总体策略 •计算一下手上的资源 ○时间 ○人员及角色 ○设备 •项目说明书,描述项目做哪些事情和每件事情做到什么程度以及如何检查每一个结果
•没有人能完成一个不可能完成的任务,如果项目经理不能尽早发现风险,那么就只能去当烈士了
○需要和你的经理和客户充分沟通资源的问题
○写一份报告,详细分析这个项目的风险以及对资源的需求情况
如果一些问题不能得到解决的话,将发生什么样的后果。 如果资源不够,就要高层改变策略,增加对这个项目的投入 成立项目组 •很多项目经理都没有自己选择组员的权利 •成员的组成根据项目不同 •一定要有精通客户业务的人,这样和客户沟通起来才不会鸡同鸭讲,双方才可以相互理解 •明白要做哪些事情和你手上的筹码以及你做这个项目的总体策略
○明白自己想做什么的客户已经是很好的客户了 我经常看到的情况是我们的技术人员和客户交谈时满口的专业术语,结果搞得客户一头雾水,反过来,他还指责客户不懂技术。其实,明白自己想做什么的客户已经是很好的客户了,不知道自己要做什么,更不懂怎么做还要指手画脚的客户到处存在,但是要明白,是客户选择了你,而不是你选择了客户,有了客户你才有工资拿,心平气和一点吧。
对于这种需求天天变的客户,你就一定要事先做好规矩 一、统一联系人,客户指定一个人和项目组进行沟通,不能张领导、王领导都来说几句,如果他们意见不一致,那你只有得罪领导的选择了。所以,项目的最初就要定好规矩,我项目组只认一个的意见,有什么要求你们内部先统一再和我谈,我不想卷入你们内部业务部门之间的矛盾之中。 •有书面证据,以后他还想改,你有了他以前要求的证据,告诉他:你以前可是这么说的。 •便于需求变更管理,需求如何慢慢演变的历史可以看清楚,从而更深切地体会客户的目。
二、所有需求变更全部要有书面文字,这点切记!这样做好处多多: •便于需求变更管理,需求如何慢慢演变的历史可以看清楚,从而更深切地体会客户的目。 •对于客户来说,嘴巴一动最方便,反正是你们做,不花他的资源,所以要求是否合理,是否和项目的目的一致,他是不负责任的。但是如果要他写书面要求,还要签字盖章,他就要谨慎多了,而且一写东西,思想就会更加深入,很多无理要求也就这样胎死腹中了。
面对三群人:你的领导、你的组员和你的客户,和这些人沟通,让他们知道你打算怎么做,什么时候要他们做什么准备,这些事情将是你的主要工作。
•面对的是多个部门甚至多个单位,不把沟通规则说清楚,你以后就会吃亏。 ○牵涉信息传达不完全的责任问题 ○一般情况下,主动沟通和被动访问是同时存在的,尤其是对领导,项目经理更加应该主动去和领导沟通 •记住:说了的就和没说一样,只有写下来大家签字后才算真正发生了的。
•有理有时候为什么会说不清呢?就是因为没有证据。 ○项目经理开始就要和客户说清楚有些文档是必须签字的 ○另外所有达成共识的东西,比如会议纪要,甚至领导的讲话记录,都要写成文档,双方签字,这样以后扯皮的时候,就能做到有据可查 ○领导压住不批,让你无所适从,结果拖延了进度。这时候,你可以等,但是注意要留记录,标明是谁的责任
做总体计划 •首先是找几个关键组员,比如客户业务专家、系统分析员等等,做一下项目模块划分工作 •完成一个目标有很多种方式,你要选一种你最熟悉的,而不是看上去最完美的,这个思路会让你的项目减少很多风险 ○甘特图的形式表现出来 ○罗列了所有要做的事情和正确评估了它们所需要的时间 •采用一个计划会让你的工作更加明确,比如用微软的Project软件,你填写完表格以后,就可以知道这个项目有多少件事情要做,每件事情需要什么资源,他们之间的前后关系如何,消耗的时间有多长,完成后有什么标志等。
•战略决定优先级,而正确排列事情的优先级是一个项目经理能力的主要体现
•项目的结束时间会远远落后于你的计划结束时间(签合同的人永远不会先征求你的意见的)
○你就要考虑牺牲一些任务的时间(也意味着质量)了 ○如果你什么都赶进度,其结果可能就是十件事情你一件也没做好,想想多么失败啊 ○所以,把资源投到你熟悉和有把握的事情上,最后的结果是十件事情,你有三件做成了精品,三件完成,还有四件因为某些原因延误,成绩单是否靓丽了很多呢
项目进入实施阶段(系统开发)
项目经理这段时间的主要工作是保持和客户领导以及自己领导的沟通
○和客户领导沟通时特别要注意,除非你需要对方给你支持,那么你才需要讲得具体一点,否则,告诉他一切正常就可以了,而且态度要积极一些,千万不要说一些领导不懂的细节 ○和自己的领导汇报也要注意这个问题,除非他是一个技术高手,你需要他的技术经验,否则一般就汇报进度是否正常以及有问题时你的对策和打算就可以了,有些需要他支持的地方,比如资源调用需要说详细一点
○和组员开会,除了一些项目进度跟踪会议以外,还有很多讨论会,需要大家用头脑风暴方法给出解决问题。
与会人员很多都是技术人员,他们的特点是注重细节、缺乏大局观、有点消极悲观、自尊心强(如果总结得不对,欢迎大家拍砖),所以,你作为会议的主持人,只要负责提出问题和记录下他们的观点,千万不要做评判者的角色。 除非一些很特别的情况,你都应该认为,他们提出的方案,从他们的角度来看是最合理的。你的长处是掌握事情的优先级,评估各个方面的轻重缓急,从而根据他们的意见得出一个合适的(而不是正确的)方案。 在会议上,你要充分尊重每一个人和他的意见,夸奖那些意见提得比较好的人,千万不要把会议带入无休止的争论(你要让大家知道事情不是非黑即白的,而是多元的) 会后,你自己写文档,做决定。会议上大家的面子都被照顾了,自己实施起来的阻力就小,如果还有意见的,你就私下找他聊,如果还不能说服他,你就要让他明白,因为你负责这个项目、你担当风险
终可交付成果一定要是可以被检查的,时刻考虑如何检查结果、如何向客户交付是项目经理一直要注意的事情
○做项目就是为了验收,我们的角色不是研究机构,我们的目的就是在付出那么多劳动后得到结果 ○给开发小组布置任务的时候就要考虑如何检查结果
我是极其不主张到客户现场开发的。 尤其是一大群技术人员直接和客户交流,很容易引起冲突和矛盾(技术人员的本性决定的)。我的做法是项目经理和项目实施人员到现场,软件开发人员还是在公司做项目。项目实施人员就是初级项目经理,他们了解自己的产品,懂得一些客户的业务,关键是在于他们具有良好的沟通能力,俗称“皮厚”。
需求变更问题 ○碰到这种情况是难以避免的,主要是事先沟通的不够充分和客户随着项目的进展,慢慢想清楚了问题,改变了以前的思路 变更通常分为两种:一种是部分更改了原先的目标,即需求变更;另一种是没改变目标,但是客户不满意目前的实现方式,大到流程的实现,小到界面的布局,都是属于这类。
注意一下几点: 确保以前的文档,就是记载着以前的结论的东西,客户是否签过字,如果没有,赶紧把你的工作停下来,赶快再和客户自己确认一下你的方案,然后让他签字,避免以后说话没有凭据; 和客户坐下来,探讨他修改的根本目的是什么,是不是有同样能达到相同目的、但是对你来说有代价更小的选择? (项目初期的工作)明确更改流程,一般是客户指定一人签字(否则客户每个领导都有权力来插一杠子,你就废了),以正式项目文件的方式提交给你,然后,你做评估分析,分析对成本、进度的影响,在你的领导同意后,出相应意见书,主要是要说明更改设计的原因和指出由此带来的不确定后果(这个东西先写出来,后面如果真的发生了,至少不是你的错)。然后再让客户在上面签字。见过医院给病人做手术以前让家人签的免责条款吗?对,就学习那个,让大家都意识到任何的更改都有成本和代价。 客户培训、系统验收阶段
给客户做培训前,多注意一些表面功夫 •文档方面,准备至少两个文档:用户手册和培训手册。 •系统的逻辑核心是否正确是关键,至于界面如何,界面上的用词是否准确,那是无关紧要的问题,而且培训的时候也是信手拈来,想到哪里说到哪里,下面听讲的人不知所云,云山雾罩,培训效果自然可以想象
验收 •验收前,除了做好文档工作,即可交付成果以外,多花时间搞清楚客户的做事情流程是很重要的事情 •我对验收最大的体会就是举证问题。即千万不要让客户这么想:你必须有证据证明你的系统是没问题的。这样你就没戏了,微软那么多天才,做了XP还天天打补丁,要你的程序没问题,既不可能,你也没办法拿出证据。 •你要让客户明白,所谓验收,就是我按照测试文档的测试用例跑一遍,结果和预期结果一致就应该算通过了,而且还容许有一些小错误留在验收后改正,他可以对测试用例提意见。 •验收前双方要确认测试计划和测试用例。如果他认为系统不符合要求,那么他应该举证,证明这个系统和最初设计相背离的。 •认为系统完美了才能验收的想法也是错误的,软件开发合同里一定要注明验收以后维护期的费用问题,否则,客户担心一旦验收就得不到你们的支持,自然不配合验收,那么,你这个项目经理就很难交功课了。
作为项目经理 作为项目经理,其实脑子里就是几样东西:
•做哪些事情、 •做到什么程度、 •怎么交货、 •手上的资源 •各个事情的优先级。
所谓多快好省那是人类的梦想,这四个方面都是相互矛盾的,属于典型的又要马儿跑,又要马儿不吃草的类型。 •考虑问题的轻重缓急方面,往往是把快放在第一位,各方领导都会给你最后期限,所以保进度是第一位的; •省是第二位的,企业的根本目的是盈利,如果收入不能增加的话,至少费用要控制住; •好是第三位的,没办法,谁都想精益求精,但是,没有强大的资源保障,质量只好先牺牲了; •最后是多,客户的要求源源不断,如何降低客户的期望值,让他们从理想回到现实也是项目经理的分内工作。
项目经理有以下几个档次 •最差的项目经理:项目过程中总是出现意外,然后自己又解决不了,结果成为烈士; •二流的项目经理:项目也经常出现意外,但是他一马当先,奋勇向前,解决了一个又一个问题,最后,勉强算把项目结束了,获得了领导的一致好评; •一流的项目经理:平时很少见他做具体的事情,整天找人聊天,然后就是写报告、做计划,最后项目顺利结束,整个过程平淡无奇; 是科学还是艺术 项目管理这个东西,据一个前辈说,在国外是科学,80%是有规律可循的;在国内是艺术,主要靠个人魅力、感染能力等东西。看明白了PMBOK,学会了一些做事情的方式,只是搞懂了那个20%的科学的东西,还有80%的空间,属于见仁见智的领域了。所以,加强很多方面的个人能力,如练就出色沟通能力、提升自己的个人魅力对于项目经理来说是多么重要啊,无论是对内还是对外。作为一个一流的专业人士,在顺利让客户签字的同时,如何让自己的领导知道你的价值,这也是体现自己能力的一种途径。