、用户的积极参与
尽管用户参与整个项目的重要性说起来容易,但要确保用户参与的主动性和有效性确是相当的困难,开发团队的技术实力与用户的商业需求之间往往存在矛盾,在这个大环境下,用户常常抱怨的可能是:没有讨论他们关心的问题;没有报告进度;没有说明变更等等。在这种情况下,项目经理必须有效的控制交流畅通,否则容易造成用户对项目开发团队的不信任。需求管理方面的文献都暗示,用户交流的质量将最终决定项目中用户参与的实效,这是对的,但在实际情况中,许多项目经理不希望用户控制过多,但是至少还是需要确保用户可以:
了解项目的范围;
了解项目的目标;
了解项目的日程;
与项目团队保持信任的关系;
与项目团队一起深入理解并认同系统功能需求。
2、行政人员的支持
一个项目往往涉及各个部门甚至是多个子公司的合作,在此情况下,可能项目经理的行政职位已经不足以协调所有的项目必须资源了,此时需要一位行政人员的支持,他对各个部门有着行政管理职权,负责协调各个部门之间的资源分配。行政人员需要关注项目的进展动态,耐心倾听项目经理的难处与需求,并给以支持。
3、精明能干经验丰富的项目经理
项目管理在项目中扮演重要的角色,如果得以有效的执行,则可以在项目团队与用户之间建立彼此信任。因此,项目经理不仅要做好一个经理,还必须具有领导气质,有能力激励员工,同时还要做一个好听众。有经验的项目经理能够及早意识到危险信号,并准备好迎接挑战。如果项目发起人制定的目标过渡乐观或不可实现,项目经理必须有足够的能力和勇气对这些目标提出质疑。太多的项目经理在项目发起人的压力下屈服让步,结果到最后后悔莫及。
4、胜任且敬业的员工
团队中的人员必须拥有必要的技术能力,能够完成分配给他们的任务,项目不是一个慈善团体,也不是一个训练基地,因此要尽量获取所需的最佳人选。此外,每个员工都是一个普通的人,那些可以胜任且有敬业精神的个人能够在项目中一直保持良好的工作状态是不切实际的,因此培训、个人发展机会、奖金、升职以及工资评定都是激励的方法,明智的领导者决不会吝惜使用这些方法的。
5、明确的商业目标和需求
明确的商业目标和需求是项目完成的标准,每个人都知道在做什么,要做到什么程度,才可以满足这个目标,当然也包括用户。开发团队与用户必须有达成一致的需求,当然在开发过程中,用户或开发团队都有可能提出需求变更请求,这很正常。但是必须通报影响分析,如果双方都可以介绍需求变更所产生的影响,那么可以按照变更流程进行变更。总之在项目的任何阶段都应该有一个非常明确的功能需求列表,这个列表示供求双方达成一致的,开发的目标就是满足这些需求,切勿添加任何需求之外的功能。
6、合理的计划
合理的计划是项目成功的一半。首先,合理的计划必须包含合理的资源分配,一般来说,对于设备能有80%可用,而对于开发人员来说50-80%可用,也就是说任何设备或人员不可能100%投身于某个项目。对于架构师、DBA、硬件设备管理员等技术核心角色的项目使用率更低,能有20-40%就很不错了。切不可在计划中假设这些资源可以100%属于某个项目。其次,合理的计划还必须考虑风险并为风险设定应急方案,风险预测得能力依赖于经验,在计划阶段要尽量组织有相关业务经验的人员预测各种风险,同时为每个风险制定应急方案。一旦风险变为现实,不至于严重影响大局。最后,计划制定出来以后,还要实时跟踪,在必要时作出修改,不能让计划放到那里,计划是计划,实际是实际。脱离实际的计划等于没有计划。
7、小里程碑
如果项目周期比较长,一定要制定小里程碑。项目一旦开始,项目经理和开发团队就容易投入的具体的工作当中,从而忽略了整体的进度。此时,如果有小里程碑,它可以提醒项目经理或ProjectLeader当前正在做什么,与当前目标还有多远。让项目一步一个脚印踏实的走下去,不至于到后期突然发现每个模块还都没做好,搓手不及。