(四)人月神话
人月是在估计进度安排中经常使用的工作量单位之一。例如:一项软件项目的总工期是4个月,需要的人员是8人,则该项目的工作量:4×8=32(人月)。在项目发生进度滞后时,项目经理常常会试图通过分配更多的人到项目团队中来解决问题。但是人员和时间的可替代性需要两个前提:首先任务是可以分解的;其次负责任务的人员之间不需要交流、培训。当任务由于次序上的限制不能分解时,人手的添加对进度没有任何帮助。
在任务需要交流的情况下,假设团队中由n个人员需要一对一的交流,那么交流的信道数量将变成n(n-1)/2。这时3个人的交流工作量是2个人的3倍,4个人的交流工作量是2个人的6倍。对于存在于IT项目中的交流,还包括不定期的多人讨论和例行会议,这时情况会变得更糟。
关于培训,每个成员新进入到一个IT项目团队时都需要对该项目的主旨、技术、目标和团队内部的工作条例等进行领会和掌握。这种培训不能分解,而且需要至少一名老员工对他们进行业务指导和培训。因此,这部分增加的工作量随人员的数量呈线性变化。
由于软件开发本质上是一项系统工程,其中各个任务之间的关联性和复杂性需要较大工作量的沟通、交流。如果添加人手,在新成员需要培训的情况下,任务分解所节省下来的时间将不能补偿新成员加入所导致的沟通、培训所耗费的时间。另外,任务的分解也可能使一部分已经完成的工作发生丢失,同时分解后需要进行的系统测试工作量也会增加,因此,添加人手可能会导致进一步的进度拖延(如图1所示)。在项目任务相关程度和复杂程度高的情况下,项目经理在处理进度滞后时,可以考虑在现有团队内部进行任务的重新调整和分配,而不应该盲目使用补充人力的方法。
(五) 用户需求发生变更
在IT项目的实施过程中,用户或利益相关者的需求非预期地发生变化和增长,从而造成项目范围蔓延也是导致项目进度滞后的关键因素之一。这种情况的发生可能是前期没有严格地对项目范围进行界定,分析调研人员没有正确地领会用户意图或是没有成功地引导用户配合做好需求分析,以至于产生项目需求方与项目实施方在项目界定上的不一致。另外,用户自身原因造成的需求变更也是常见因素。这种非预期情况可以通过加强实施方与需求方的沟通,改善系统启动阶段和系统分析阶段的工作绩效,同时以合同的形式对项目范围进行严格定义,明确权责,重视和加强合同管理,免除因为用户自身原因造成的需求变更给项目实施方带来的损失风险。
综上所述,盲目的乐观主义、不成熟的项目计划、缺乏对系统测试的重视程度、对于人员和时间两者可替代性的误解以及非预期的用户需求变更是导致IT项目进度滞后的五大关键因素。除此之外,当然还有其他诸多因素会影响项目进度,比如企业重组和管理人员的调整。排除这些客观不可控因素的制约,IT项目经理在项目管理的整个过程中,应该以严谨的态度进行项目计划的制定和充分考虑可能影响项目进度的主客观因素及造成的后果,加强对项目执行过程中关键环节的监控,提升风险规避意识,提高项目管理能力和项目管理技术。另外,企业应该加强在职培训的投资,力求培养高素质的项目经理和有效的项目团队,使团队能够在合理预期、合理成本的范围内完成项目任务,更好地为企业带来行业声誉与效益。