软件开发项目管理 和用户需求变动如何矛盾解决?

软件开发项目管理与传统软件开发项目管理相比有着明显的区别。这是由于软件开发项目的需求更加复杂、多变,很多需求在最初阶段不明确、不清楚。随着软件开发项目开发的不断深入,用户的需求会不断修改和增加,软件开发项目的进度计划和费用预算也不可避免地需要修改和调整。因此,在软件开发项目中加强进度和费用管理显得尤其重要。

从软件开发项目的角度来看,最终的目标是根据客户需求定制产品或服务;软件开发项目受到时间和成本等资源限制,一个成功的软件开发项目实施应该要在规定的时间和预算内完成,时间和成本是软件开发项目实施的两个约束条件;软件开发项目实施要按照规格说明的要求,一个软件开发项目的实施应该严格按照用户或发起人的需求,明确软件开发项目的任务和范围,范围是软件开发项目实施的第三个约束条件。

软件开发项目管理是指在指定时间内用最少的费用开发可接受的系统管理过程,内容包括确定范围、计划、软件开发人员安排、组织、指导和控制。软件开发项目经理要根据软件开发项目实施的范围、时间、成本、质量等目标,合理进行资源配置,有效协调各个活动的开展,以满足用户的需求和其他利益相关者的期望。

软件开发项目进度滞后指的是软件开发项目没有在规定的工期内完成符合规格说明和质量标准的产品或服务。软件开发项目进度滞后是软件开发项目执行中的常见问题。软件开发项目经理在处理软件开发项目进度滞后上通常采取的办法是,添加人力物力等资源,增加成本;或是砍掉某些步骤草草结束,等交付后再慢慢解决出现的各种问题。显然这两种办法都不是理想和明智的。如果能够找到导致软件开发项目进度滞后的关键因素,防范于未然,将最大限度的减少滞后发生的可能性或者将损失减少到最小程度。分析造成软件开发项目滞后的原因主要有两种,一是软件开发项目经理对于软件开发项目的实施计划没有准确定义;二是在软件开发项目执行过程中发生偏差或软件开发项目范围发生变更。

软件开发项目计划是用来协调其它具体计划,以指导软件开发项目执行和控制的文件。一个成功的软件开发项目应该从制定正确的软件开发项目计划开始。软件开发项目计划的主要内容包括:明确软件开发项目交付物、定义工作包、估算工期、制定工作包的进度计划、资源有效性的管理、成本预算、整合进度计划和预算、定义关键绩效指示器或里程碑、明确关键成功因素。但是从目前的行业趋势来看,大部分软件开发项目经理是从程序员转型而来,很多人没有接受过该职业的正规培训和教育。在制定软件开发项目计划时,过多地依赖以往工作经验或直觉,缺乏数据支持,采用非阶段化方法,对系统开发原理认识不够,不能有效利用软件开发项目管理软件辅助进行软件开发项目计划的制定。估算软件开发项目工期作为软件开发项目计划中的一个重要环节,不仅会影响其他计划环节定义上的正确性和精确性,同时也会受到其他环节定义的影响。例如在工作包的优先秩序上,安排不合理使执行过程中的变更导致工期延误。

在软件开发项目的实施过程中,用户或利益相关者的需求非预期地发生变化和增长,从而造成软件开发项目范围蔓延也是导致软件开发项目进度滞后的关键因素之一。这种情况的发生可能是前期没有严格地对软件开发项目范围进行界定,分析调研软件开发人员没有正确地领会用户意图或是没有成功地引导用户配合做好需求分析,以至于产生软件开发项目需求方与软件开发项目实施方在软件开发项目界定上的不一致。另外,用户自身原因造成的需求变更也是常见因素。这种非预期情况可以通过加强实施方与需求方的沟通,改善系统启动阶段和系统分析阶段的工作绩效,同时以合同的形式对软件开发项目范围进行严格定义,明确权责,重视和加强合同管理,免除因为用户自身原因造成的需求变更给软件开发项目实施方带来的损失风险。
 
盲目的乐观主义、不成熟的软件开发项目计划、缺乏对系统测试的重视程度、对于软件开发人员和时间两者可替代性的误解以及非预期的用户需求变更是导致软件开发项目进度滞后的五大关键因素。除此之外,当然还有其他诸多因素会影响软件开发项目进度,比如企业重组和管理软件开发人员的调整。排除这些客观不可控因素的制约,软件开发项目经理在软件开发项目管理的整个过程中,应该以严谨的态度进行软件开发项目计划的制定和充分考虑可能影响软件开发项目进度的主客观因素及造成的后果,加强对软件开发项目执行过程中关键环节的监控,提升风险规避意识,提高软件开发项目管理能力和软件开发项目管理技术。另外,企业应该加强在职培训的投资,力求培养高素质的软件开发项目经理和有效的软件开发项目团队,使团队能够在合理预期、合理成本的范围内完成软件开发项目任务,更好地为企业带来行业声誉与效益。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301