0、前 言
作者在《企业信息系统项目管理的问题点和对策》一文中对企业软件开发项目的问题点进行了总结。企业的信息系统项目管理一般容易犯的错误如下:
* 人力资源管理中的弱矩阵型,导致不能有效地进行时间管理、质量管理和沟通管理。
* 在综合管理方面缺少综合变更控制管理。
* 范围管理不够精细,增大了时间管理和质量管理的难度,并且造成了不断的范围管理变更。
* 缺少对风险和约束的分析,导致许多项目不停的延期。
* 许多企业信息系统项目的目标是尽可能少花钱,而不是获取最大的投资回报。
笔者认为造成以上问题点的根本原因在于企业机构是弱矩阵型,导致在软件开发中权责不清,项目经理往往只是领导挂名,导致项目推进过程决策缓慢,出现问题得不到有效的解决。企业软件项目开发一般情况下存在着三方:用户部门、IT部门和开发商。如何协调三方的关系是必须首先明确的问题,其次三方在权责明确的情况下如何快速有效地推进项目也是需要解决的问题。本文将对如何解决以上两个问题进行探讨,在第一部分将探讨软件项目三方在项目的各个不同阶段的责任,在第二部分将探讨如何利用关键链技术有效地推进项目。
1、项目关系三方的定位
为了明确用户部门、IT部门和开发商在软件开发项目中的定位,需要首先对三方的特点进行说明。

在企业软件项目的开发过程中,用户部门、IT部门和开发商有时会形成以下的三角关系,如图1所示。在软件项目开发用户需求阶段,用户部门不但同IT部门保持着经常的交流和沟通,并且也同开发商保持着较多的接触和沟通。这将会导致在整个项目开发的过程中,用户部门对开发商的影响加大,在有些情况下,用户部门可能会跨国IT部门而直接让供应商按其意图进行开发和修改。在上表中,已经对各关系方的优势和不足进行了分析,因此图1中用户部门和开发商具有较强的耦合是不利于项目的推进的。因为用户部门和开发商的交流存在着以下的不足:(1)语言不通——业务语言和IT语言(当然不排除许多开发商的优秀系统分析人员可以很快了解业务并且能够较好地分析用户需求)。(2)双方对于企业IT的现状和规划了解不是非常清楚。(3)双方交流所得的结果还需要和IT部门进行沟通,加大了沟通成本。(4)IT部门的优势没有得到充分的发挥。

因此弱化用户部门和开发商的耦合有助于项目的有效推进,如图2所示。但是笔者在这里需要强调这对IT部门项目人员的要求较高,需要具有较强的系统分析能力。对于一些IT部门较弱的公司而言,完全由IT部门来完成用户需求分析是很困难的,这时必须要有开发商的帮助,但是希望记住一点:在用户需求分析阶段需要由IT人员来主导,甚至再退一步,IT人员必须全程跟踪用户需求的分析。因为这个阶段是项目的基础阶段,对于IT部门而言也是最有价值的阶段。一个企业的IT部门只有加强在用户需求分析的能力才能够真正提高规划能力和项目管理能力,才能够真正让企业的信息化帮助企业的价值链高效快速地运转。

对于企业的软件开发项目而言,一般可以分为需求规划(包括需求分析)、招投标、系统设计、系统开发(包含单元测试)、系统测试、用户测试、系统部署、系统运行。笔者认为IT实力较强的企业应该在需求规划阶段投入较多的人力和资源,能够深入挖掘用户需求,简化用户需求,为用户考虑未来系统发展并将这些发展纳入到系统的统一规划中去,而这些是一般的开发商无法完成的工作。系统的规划阶段和体系架构设计阶段最好也由IT部门主导完成,至于详细设计和编码阶段那就要看企业的具体IT政策了,一般而言交给开发商完成即可——因为这里是他们的强项了。图3给出了笔者认为在软件项目不同阶段关系方对系统不同的责任。

对于如图3所示的企业软件项目而言,已经明确了项目的过程和每一个过程的负责关系放,从图中可以看出IT部门从需求分析开始一直到系统设计阶段IT科一直起着主导作用。在介绍关键链技术之前还需要再次强调一点,由于传统企业的弱矩阵型组织机构的存在,因此软件项目的PM最好有两位,一位来自于IT部门主要负责技术和项目推进管理,另一位来自于用户部门主要负责用户部门资源的协调和保障,两位PM共同完成传统意义上PM的职责。