从以上描述的两个场景可以看出:造成需求不确定的原因很多。它们包括但不限于:1、开发团队缺乏所开发项目的业务背景和行业经验,导致不能很好的理解客户的业务需求;2、由于客户方人员的素质良莠不齐,以至于有些人员不能完整、全面、系统、准确的阐述自身业务和对系统的需求,或者提出的需求难以通过IT技术加以实现,有些时候有些人甚至会从大方向上误导开发团队;3、客户方不熟悉软件项目开发方使用的工具、不理解项目需求分析人员提交的文档,难以通过交流消除双方在认识上的分歧,进而实现真实意图的准确表达;4、软件项目的开发和实施所伴随的企业流程重组(BPR),通常都会给客户方的内部组织和个人带来不同程度的冲击,如果项目开发和实施方不能妥善处理利益关系并有效化解潜在风险,则项目很可能开发失败,或者项目在开发完成后即遭到用户的抵制,项目成果也随即被客户否定。

  对应的解决方法是:

  1、如果项目开发方缺乏行业经验,一定要聘请业务专家、行业顾问等专业人士,通过业务培训和专业指导等方式,提高项目团队尤其是需求分析师对客户需求的把握能力;

  2、从不同层级的客户方人员那里获取不同层级的用户需求。要有针对性的对客户方人员进行软件项目的基本知识培训,让他们更好的了解软件项目开发的过程和步骤,以提高他们对开发高质量业务需求重要性的认识水平;

  3、通过建立直观易懂的业务需求模型,在某些时候可以通过快速开发工具搭建一个系统原型作为交流工具,分别与客户方的管理人员和操作人员进行深入交流和细致的需求探讨;

  4、BPR对客户方企业内部人员的影响进行细致的分析和仔细的评估,并分析结果与客户方高层管理者进行正式汇报和专题交流,充分利用客户方的管理层的力量消除BPR带来的业务需求风险和系统实施风险。

  二、项目经理要高度重视对项目外部干系人的管理

  在这里先要解释一下:什么是外部干系人。一个软件项目,其项目干系人包括若干本公司(项目开发方)的人员,如项目团队成员和公司内部的管理人员(由于项目组是临时组织,需要从公司内部各职能部门抽调人员。因此,寻求公司管理层和各职能部门的资源支持是非常重要的),他们可统称为这个项目的内部干系人。而外部干系人则是指能够影响本项目,或者本项目的工作成果会对他们的利益带来影响的客户方人员和其他关联方人员。

  虽然绝大多数项目管理书籍都在长篇累牍的介绍如何管理好项目组成员。但我的看法是:很多时候,对外部干系人管理的好坏往往是决定一个项目成败的关键。

  也许有人会问:项目组成员是完成开发项目的工作人员。难道对他们的管理不是重要的吗?当然重要。但在项目实践中,一个合格的项目经理会发现他对项目组成员的管理是相对简单的工作。理由有三:1、在国内,项目经理通常都是具有较强综合素质和拥有丰富工作经验的员工,在公司拥有较高的地位和影响力。他容易得到公司管理层的认同和各方面的资源支持,也容易在项目组树立威信。因此,只要能获得公司的坚定支持,从客观上讲,对项目组成员的管理不存在特别大的障碍;2、国内软件公司的项目经理绝大多数都是从普通员工中提拔的。他们往往具有多方面的技能,本身能胜任从编码到设计到需求分析等多方面的工作。如果个别项目组成员能力不够,项目经理往往能够通过自身的能力弥补项目组成员的不足;3、如果项目经理遇到项目组内部的管理问题,他可以很容易的从公司内部寻求到帮助和支持,并把风险控制在可控范围之内。

  而对项目外部干系人的管理大不一样了。首先,客户是我们的衣食父母。项目组从本质上讲是要服务于客户的。因此,项目经理与外部干系人打交道,往往处于相对弱势的地位。而在公司内部,项目经理则通常是处于相对强势的地位。这显然是一个本质的区别;其次,项目组成员的从业经验和业务背景往往与外部干系人的背景、经验和技能存在很多不同,往往构成了双方在相互信任、理解和沟通方面的若干障碍;第三,由于项目周期短,项目经理对客户方等重要外部干系人的了解始终有限。往往存在大量信息的不对称。信息的不对称又会在很大程度上影响项目经理的全局把握能力。

  那么,如何才能做好对项目外部干系人的管理呢?我认为关键是要做好以下三项工作。

  首先,要认真进行项目外部干系人的识别工作

  其次,要增进项目外部干系人对项目经理的信任和认同

  第三,加强项目沟通管理