前言:
介于很多人对项目经理这个职位的陌生和含糊,将自己的切身经历和阅读、交流得到的一些经典案例整理出来,有朋友问我,这篇文章出处在哪里?这些经历非常多不是一个人的经历,这些总结非常多也不是出自一个人之手,如同我们认为一段代码写的非常好,必然会收藏整理成为自己的一部分加以完好共享,接着不断的有人完好共享下去,我们谁都不敢说自己是最聪明的人,但仅仅要不断的学习总结别人已经有的经验,就有可能在最短的时间赶超别人!
要做好一个项目经理,是非常有点难的?他首先必需要是技术和管理的化身,其次要具备较好的形象和极佳的口才,同一时候拥有一定的人格魅力,另外他还要具备一定的设计头脑和审美观,还有非常多,不再赘述....在大多数boss的眼里,是没有体系分工的概念或者基于各种原因分工比較简单,所以非常多书里讲的东西拿到现实里都会有点靠不住,在没有产品经理,没有需求分析师,没有架构师,没有系统分析师,更有甚至没有实施和运维,也要能毫无怨言的把事情做好!它是一个攻守兼备的全能型职业,非常多boss都把它放在了至关重要的位置去看待,舍不吃舍不得花也要把你留住,也是你的舞台!而这在老美“山姆大叔”的眼里是绝对不能容忍的,就像福特汽车流水线,肯德基,麦当劳一样,他们更希望全部员工都能这样被代替,其中国的全部企业进步到那种境界以后,我们能做的事情就不多了,你想走到更高端的塔尖会更难!投刘备还是投曹操都没有错仅仅要你能更快的走到塔尖,仅仅要你是舞台的主角那就是正确的选择!
无论你是正在转型做项目经理,还是有打算转型,那一定要转变曾经种种思想的包袱了,由内而外的改变自己,非常多路子仅仅是苦于我们没有发现,没有人指引。我们不希望每字每句的总结和讨论都能去符合每一个人的行走线路,由于那是不可能,仅仅希望当我们遇到困难缺乏指引时它能成为我们的坚强后盾和理论根据,由于沟通才是通往成功最好的桥梁!
正文 :
做项目经理工作多年,感到做这个工作最要紧的就是要明确什么是因地制宜、因势利导,仅仅有最合适的,没有什么叫对的,什么叫错的,项目经理最忌讳的就是完美主义倾向,尤其是做技术人员出身的,喜欢寻找标准答案,耽误了工作进度,也迷茫了自己。以下是本人一些做项目的个人体会,写出来供大家指点,在讨论过程中共同提高水平。软件project跟其他建筑project之间的差别之中的一个是,总有人会拿各种各样的事来讽刺软件的设计和开发过程中的不确定性,但从没有听说过有什么大桥建成之后和图纸上设计的不一样的。以下有一个漫画《 客户真正的需求是这种 》已经足够一针见血的了,
还有这幅漫画相同一点情面的不留,虽是漫画,但现实生活中不乏实例
项目開始阶段是一个最重要的阶段。项目经理在接手一个新项目的时候,首先要尽可能地多从各个方面了解项目的情况,如:
1. 这个项目是什么项目,具体大概做什么事情,是谁提出来的,目的是解决什么问题。在国内非常多客户都非常不成熟的情况下,千万不要依据项目的名称望文生义地去想象项目的目标。一个名为“办公自己主动化”的项目非常有可能在你进场以后一个月才发现客户事实上须要的是一个计算机生产管理辅助信息系统。前期了解情况的工作越具体,后面的吃惊就越少,项目的风险就越小。
2. 这个项目里牵涉哪些方面的人,如投资方、详细业务干系方、项目建成后的运营方、技术监督方等等,非常多项目里除了业主单位的结构非常复杂以外,另一些其它单位也会牵涉进来,如项目监理公司、业主的行业主管机构等。项目经理须要了解每一个方面的人对这个项目的看法和期望是什么。事先了解各个方面的看法和期望,能够让你在做项目碰到问题的时候,就每件事情分析哪些人会在什么方面支持你,哪些人会出于什么目的反对你,从而提前准备联合朋友去对抗敌人,让事情向你所希望的方向发展。没有永远的朋友,也没有永远的敌人,仅仅有一致的利益,这句话作为项目经理是一定要记住的。
3. 基本了解了客户的情况后,以下的事情就是了解自己公司各方面对这个项目的看法。首先是高层领导是否重视,这个决定了你在须要资源的时候,公司是否会依据你的要求提供最有力的支持。领导口头肯定是说支持的,你须要做的是了解公司对这个项目的实际期望,是想把项目越做越大还是想赚钱?是想做样板project还是干脆想敷衍了事,公司领导对项目的态度决定了你做这个项目的战略,而这个战略方针将对你做项目计划产生直接的影响。
4. 在做总体项目计划前,还要大致计算一下你手上的资源。首先是时间,如今市场竞争激烈,往往非常多项目要求在差点儿不可能的时间范围里完毕。对于这一点,你在做项目的风险控制计划的时候要充分考虑。其次是人员,依据项目预算和已往经验,大致计算一下未来的项目小组有多少种角色,每一个角色眼下公司是否有人,能否全然归这个项目使用,是否须要另外招聘一些人员,招聘的准备工作要尽早启动。最后就是一些设备的准备,项目所需大件关键设备要尽早预定,以后无论发生设备等人还是人等设备的情况,浪费的都是你的时间。
5. 如今是做项目说明书的时候了。一份好的项目说明书不仅将要做的事情描写叙述得非常清楚(主要是讲做什么,而不是说怎么做),并且把怎样检查也说明得非常透彻。也就是说它不仅说明确了要做哪些事情,也让客户的业务人员(一般不懂技术)知道项目做成什么样就算完毕了。简单地说,项目说明书描写叙述项目做哪些事情和每件事情做到什么程度以及怎样检查每个结果。
6. 是到做整体计划的时间了吗?不,你如今已经知道了客户的目标和你手上的资源,那么做计划曾经,你还须要和你的经理和客户充分沟通资源的问题。由于非常多资源是还不明白的,你须要写一份报告,具体分析这个项目的风险以及对资源的需求情况。假设一些问题不能得到解决的话,将发生什么样的后果。假设资源不够,就要高层改变策略,添加对这个项目的投入。甚至在条件许可的情况下,有些公司会放弃这个项目。总之,没有人能完毕一个不可能完毕的任务,假设项目经理不能尽早发现风险,那么就仅仅能去当烈士了。
7. 明确了要做哪些事情和你手上的筹码以及你做这个项目的整体策略,如今是成立项目小组的时候了。非常多项目经理都没有自己选择组员的权利,那么,就尽量发挥你的影响力去寻找那些你想要的人吧。成员的组成依据项目不同,相差较大,非常难有什么详细要求,可是,一定要有精通客户业务的人,非常多小项目里,这个人就是项目经理本人,大项目里会配备行业专家(Industry expert),这样和客户沟通起来才不会鸡同鸭讲,两方才干够相互理解。我常常看到的情况是我们的技术人员和客户交谈时满口的专业术语,结果搞得客户一头雾水,反过来,他还指责客户不懂技术。事实上,明确自己想做什么的客户已经是非常好的客户了,不知道自己要做什么,更不懂怎么做还要指手画脚的客户到处存在,可是要明确,是客户选择了你,而不是你选择了客户,有了客户你才有工资拿,心平气和一点吧。
对于这样的需求天天变的客户,你就一定要事先做好规矩:
一、统一联系人,客户指定一个人和项目组进行沟通,不能张领导、王领导都来说几句,假设他们意见不一致,那你仅仅有得罪领导的选择了。所以,项目的最初就要定好规矩,我项目组仅仅认一个的意见,有什么要求你们内部先统一再和我谈,我不想卷入你们内部业务部门之间的矛盾之中。
二、所有需求变更所有要有书面文字,这点切记!这样做优点多多:
- 有书面证据,以后他还想改,你有了他曾经要求的证据,告诉他:你曾经但是这么说的。
- 便于需求变更管理,需求怎样慢慢演变的历史能够看清楚,从而更深切地体会客户的目。
- 对于客户来说,嘴巴一动最方便,反正是你们做,不花他的资源,所以要求是否合理,是否和项目的目的一致,他是不负责任的。但是假设要他写书面要求,还要签字盖章,他就要慎重多了,并且一写东西,思想就会更加深入,非常多无理要求也就这样胎死腹中了。
8. 如今你要面对三群人:你的领导、你的组员和你的客户,和这些人沟通,让他们知道你打算怎么做,什么时候要他们做什么准备,这些事情将是你的主要工作。既然沟通这么重要,那事先定义一下沟通的原则也是一件非常要紧的事情。非常多沟通原则都是潜规则,假设你在一个部门时间做长了,对这些规则的运用认为是一件理所应当的事情。可是,你如今面对的是多个部门甚至多个单位,不把沟通规则说清楚,你以后就会吃亏。以下的东西看起来无聊,事实上还是非常管用的:第一个是规定信息的流动方式和介质,是推还是拉。推的意思就是项目经理将主动公布信息,无论通过电话、邮件还是书面方式,保证将信息传达到每一个人。这样的情况适合小项目,人少。拉的意思就是项目经理就是一个类似webserver,你自己须要什么信息就去问他。当然,没有项目经理把自己搞得那么累,他会用公布信息到公共介质的方式公布信息,简单的是白板,复杂一点的是项目的公共信息交互区,潜规则就是我发了你没去看就不要说我没告诉你。说这些看似非常无聊,事实上里面牵涉信息传达不全然的责任问题。当然,这些都是指一般的方式,并且不要绝对化,普通情况下,主动沟通和被动訪问是同一时候存在的,尤其是对领导,项目经理更加应该主动去和领导沟通。第二个问题就是文档问题,非常多人怕写文档,可是项目经理一定要牢记“好记性不如烂笔头”的道理。有理有时候为什么会说不清呢?就是由于没有证据。所以项目经理開始就要和客户说清楚有些文档是必须签字的,比方项目经理的项目日志,每一个星期至少让客户签字,另外全部达成共识的东西,比方会议纪要,甚至领导的讲话记录,都要写成文档,两方签字,这样以后扯皮的时候,就能做到有据可查。记住:说了的就和没说一样,仅仅有写下来大家签字后才算真正发生了的。另一些问题,比方你提交的报告,给领导(包含本方领导和客户领导)做一个选择题,结果领导压住不批,让你无所适从,结果迟延了进度。这时候,你能够等,可是注意要留记录,标明是谁的责任;另外,假设你在開始阶段就和领导商定:假设批示提交三天后没有得到领导答复就算对方允许,这样你就会主动非常多。再比方不同事件的审批流程问题:什么等级的事情记录在项目日志里、什么等级的事情要两方项目经理专门签署备忘录、什么等级的事情要两方领导出面签署合同附件等等。事先想得越周到,以后的工作就越主动
9. 好了,做了非常多前期工作,定义了一些游戏规则,如今是坐下来做计划的时候了。这一节,随意找一本项目管理的书都会说得比我好,所以我就少写一点,说一些自己的体会就是了。首先是找几个关键组员,比方客户业务专家、系统分析员等等,做一下项目模块划分工作。项目分成几块去做,每一块完毕什么,模块之间的信息怎样交换等等。需求定义的是做什么的问题,而这里说的是怎么做的问题。这里要强调一点:完毕一个目标有非常多种方式,你要选一种你最熟悉的,而不是看上去最完美的,这个思路会让你的项目降低非常多风险。有时候客户会被某种新技术打动,坚持要你採用那种新技术,你就应该告诉他:你选我做这个项目,就应该容许我採用自己最喜欢的方式做事情,新技术之所以有诱惑力,就是由于吃亏的人还不多,我不希望你成为第一批受害者。採用一个计划会让你的工作更加明白,比方用微软的Project软件,你填写完表格以后,就能够知道这个项目有多少件事情要做,每件事情须要什么资源,他们之间的前后关系怎样,消耗的时间有多长,完毕后有什么标志等。全部的结果最后用一个叫做甘特图的形式表现出来。你做完这个表以后会惊奇地发现,甘特图上项目的结束时间会远远落后于你的计划结束时间(签合同的人永远不会先征求你的意见的)。当然,学过项目管理的人会大谈什么WBS、优化路径之类的东西,可是我的经验是你再优化也不可能把这些东西安排到计划的时间结束。假设你没碰到这个问题,在我恭喜你挑了一个轻松活之前,请你再去确认你是否罗列了全部要做的事情和正确评估了它们所须要的时间。这时候,你就要考虑牺牲一些任务的时间(也意味着质量)了。依照什么标准牺牲?这个项目的战略!我们在第三节提到过的战略。我的经验是假设你什么都赶进度,其结果可能就是十件事情你一件也没做好,想想多么失败啊。所以,把资源投到你熟悉和有把握的事情上,最后的结果是十件事情,你有三件做成了精品,三件完毕,还有四件由于某些原因延误,成绩单是否靓丽了非常多呢?战略决定优先级,而正确排列事情的优先级是一个项目经理能力的主要体现。
10. 好,如今项目已经完毕了前期工作,了解了项目的目标、搞清楚了手上的资源,制定了项目的策略,然后编制了项目的总体计划,项目进入实施阶段。进入这个阶段反而是项目经理比較空暇的时候,不像前期的时候项目经理要象记者一样到处和不同的人接触,搞清楚他们在说什么,努力推測他们在想什么和他们的真正目的,那才是最累人的事情。当然,小项目的项目经理往往自己也是一个资源,要做非常多事情,这时候反而比谁都苦。项目经理这段时间的主要工作是保持和客户领导以及自己领导的沟通。和客户领导沟通时特别要注意,除非你须要对方给你支持,那么你才须要讲得具体一点,否则,告诉他一切正常就能够了,并且态度要积极一些,千万不要说一些领导不懂的细节,比方:“王局长,近期项目进度还算正常,就是JVM常常发生一些内存泄漏的情况…”王局长:“(*&$@@”。和自己的领导汇报也要注意这个问题,除非他是一个技术高手,你须要他的技术经验,否则一般就汇报进度是否正常以及有问题时你的对策和打算就能够了,有些须要他支持的地方,比方资源调用须要说具体一点。和组员开会,除了一些项目进度跟踪会议以外,还有非常多讨论会,须要大家用头脑风暴方法给出解决这个问题。与会人员非常多都是技术人员,他们的特点是注重细节、缺乏大局观、有点消极悲观、自尊心强(假设总结得不正确,欢迎大家拍砖),所以,你作为会议的主持人,仅仅要负责提出问题和记录下他们的观点,千万不要做评判者的角色。一个问题,有非常多方面,从不同的角度看,现象是全然不同的,想想盲人摸象的故事吧。这些技术人员,他们往往精通一个方面,就自己的角度发表见解,除非一些非常特别的情况,你都应该觉得,他们提出的方案,从他们的角度来看是最合理的。你的好处是掌握事情的优先级,评估各个方面的轻重缓急,从而依据他们的意见得出一个合适的(而不是正确的)方案。所以,在会议上,你要充分尊重每个人和他的意见,夸奖那些意见提得比較好的人,千万不要把会议带入无休止的争论(你要让大家知道事情不是非黑即白的,而是多元的,唉,我们的教育惹的祸…)。会后,你自己写文档,做决定。会议上大家的面子都被照应了,自己实施起来的阻力就小,假设还有意见的,你就私下找他聊,假设还不能说服他,你就要让他明确,由于你负责这个项目、你担当风险,所以,这个优先级应该你来推断。组织中的高层,并不见得水平会比一般的成员高,可是,他要承担组织的风险,加之信息的不正确称性,所以,对事情的优先级的推断肯定比下属强。
终可交付成果一定要是能够被检查的,比方,【界面要求:美观慷慨、简洁明快】,这个要求我就不知道怎样检查。所以,给开发小组布置任务的时候就要考虑怎样检查结果,比方我见过一个计划,里面有一个任务【开发者熟悉EJB编程】,这个任务,除了让这些人去參加一些专业认证考试,否则,结果非常难被检查。所以,时刻考虑怎样检查结果、怎样向客户交付是项目经理一直要注意的事情,我听说有些老项目经理拿到项目是倒排计划的,即首先看怎样验收和验收标准,然后决定工作计划。非常多项目開始了非常久,还不知道怎样验收,那么这个项目出问题的可能性就非常大了。做项目就是为了验收,我们的角色不是研究机构,我们的目的就是在付出那么多劳动后得到结果。
另外我插一句:我是极其不主张到客户现场开发的。尤其是一大群技术人员直接和客户交流,非常easy引起冲突和矛盾(技术人员的本性决定的)。我的做法是项目经理和项目实施人员到现场,软件开发者还是在公司做项目。项目实施人员就是0基础项目经理,他们了解自己的产品,懂得一些客户的业务,关键是在于他们具有良好的沟通能力,俗称“皮厚”。他们是客户和研发人员的桥梁,其职业方向也是非常机动灵活,以后能够有非常多方向能够转,比开发者的路要宽得多。
11. 接着,我们再谈谈最让人头痛的需求变更问题。变更通常分为两种:一种是部分更改了原先的目标,即需求变更;还有一种是没改变目标,可是客户不惬意眼下的实现方式,大到流程的实现,小到界面的布局,都是属于这类。碰到这样的情况是难以避免的,主要是事先沟通的不够充分和客户随着项目的进展,慢慢想清楚了问题,改变了曾经的思路。这时候,假设须要改而且你的战略是容许这样的情况的,那么注意以下几点:
- 确保曾经的文档,就是记载着曾经的结论的东西,客户是否签过字,假设没有,赶紧把你的工作停下来,赶快再和客户自己确认一下你的方案,然后让他签字,避免以后说话没有凭据;
- 和客户坐下来,探讨他改动的根本目的是什么,是不是有相同能达到相同目的、可是对你来说有代价更小的选择?
- (项目初期的工作)明白更改流程,通常是客户指定一人签字(否则客户每一个领导都有权力来插一杠子,你就废了),以正式项目文件的方式提交给你,然后,你做评估分析,分析对成本、进度的影响,在你的领导允许后,出对应意见书,主要是要说明更改设计的原因和指出由此带来的不确定后果(这个东西先写出来,后面假设真的发生了,至少不是你的错)。然后再让客户在上面签字。见过医院给病人做手术曾经让家人签的免责条款吗?对,就学习那个,让大家都意识到不论什么的更改都有成本和代价。
12. 系统开发告一段落后,就进入客户培训、系统验收阶段,这个阶段,我通常会注意下面几个问题:
一、给客户做培训前,多注意一些表面功夫。非常多程序猿觉得,系统的逻辑核心是否正确是关键,至于界面怎样,界面上的用词是否准确,那是无关紧要的问题,并且培训的时候也是信手拈来,想到哪里说到哪里,以下听讲的人不知所云,云山雾罩,培训效果自然能够想象。我的体会是,给客户做培训的版本号,假设你在做多次測试以后仍然不能确定逻辑是否合乎要求,那么,你至少要在界面上多花一点功夫。注意每一个界面的布局、用词、链接的正确性等等,总之不要让客户看到一些他不该看到的东西。文档方面,准备至少两个文档:用户手冊和培训手冊。这两个文档的内容非常多都是一致的,可是角度全然不同。用户手冊往往是站在系统设计者的角度,依照自己的思路,分模块解说系统的操作和功能;而培训手冊,一定要站在客户业务人员的角度,依据每一个角色面对不同业务的办理,怎样通过使用本系统的一系列功能来实现目标。所以,第一次培训曾经,系统界面是否完整正确、培训文档是否完备都是非常关键的因素,第一炮打不响,以后就麻烦非常多
作为项目经理,事实上脑子里就是几样东西:做哪些事情、做到什么程度、怎么交货、手上的资源以及各个事情的优先级。所谓多快好省那是人类的梦想,这四个方面都是相互矛盾的,属于典型的又要马儿跑,又要马儿不吃草的类型。考虑问题的轻重缓急方面,往往是把快放在第一位,各方领导都会给你最后期限,所以保进度是第一位的;省是第二位的,企业的根本目的是盈利,假设收入不能添加的话,至少费用要控制住;好是第三位的,没办法,谁都想精益求精,可是,没有强大的资源保障,质量仅仅好先牺牲了;最后是多,客户的要求源源不断,怎样减少客户的期望值,让他们从理想回到现实也是项目经理的分内工作。
验收前,除了做好文档工作,就可以交付成果以外,多花时间搞清楚客户的做事情流程是非常重要的事情,这些在前面已经有所提及,这里就不再多说。
我对验收最大的体会就是举证问题。即千万不要让客户这么想:你必须有证据证明你的系统是没问题的。这样你就没戏了,微软那么多天才,做了XP还天天打补丁,要你的程序没问题,既不可能,你也没办法拿出证据。你要让客户明确,所谓验收,就是我依照測试文档的測试用例跑一遍,结果和预期结果一致就应该算通过了,并且还容许有一些小错误留在验收后改正,他能够对測试用例提意见。所以,验收前两方要确认測试计划和測试用例。假设他觉得系统不符合要求,那么他应该举证,证明这个系统和最初设计相背离的。所以,參考法律概念,千万不要举证倒置。另外,觉得系统完美了才干验收的想法也是错误的,软件开发合同里一定要注明验收以后维护期的费用问题,否则,客户操心一旦验收就得不到你们的支持,自然不配合验收,那么,你这个项目经理就非常难交功课了。
最后,我想谈谈怎样评价项目经理的绩效的问题,我觉得,项目经理有下面几个档次:
*最差的项目经理:项目过程中总是出现意外,然后自己又解决不了,结果成为烈士;
*二流的项目经理:项目也常常出现意外,可是他一马当先,奋勇向前,攻克了一个又一个问题,最后,勉强算把项目结束了,获得了领导的一致好评;
*一流的项目经理:平时非常少见他做详细的事情,整天找人聊天,然后就是写报告、做计划,最后项目顺利结束,整个过程平淡无奇; 项目管理培训
项目管理究竟是一门科学还是一门艺术呢?所谓科学就是经过重复论证,输入和输出有必定规律的东西,种瓜得瓜;而艺术就是思想火花的闪耀,主要靠灵感。项目管理这个东西,据一个前辈说,在国外是科学,80%是有规律可循的;在国内是艺术,主要靠个人魅力、感染能力等东西。看明确了PMBOK,学会了一些做事情的方式,仅仅是搞懂了那个20%的科学的东西,还有80%的空间,属于见仁见智的领域了。所以,加强非常多方面的个人能力,如练就出色沟通能力、提升自己的个人魅力对于项目经理来说是多么重要啊,不管是对内还是对外。作为一个一流的专业人士,在顺利让客户签字的同一时候,怎样让自己的领导知道你的价值,这也是体现自己能力的一种途径。
转载请标明出处 http://blog.csdn.net/shimiso
欢饮有识之士增加我们的技术交流群:173711587