技术资讯

秦皇岛软件开发公司如何对软件开发项目进度管理?

TIME:2018-08-15

随着计算机技术的发展,软件开发技术也日益成熟,软件开发项目及从业人员也日益增多。由于没有一个标准划分,管理上有很多问题不容易解决。文章对影响软件开发进度的主要因素进行分析,阐明了进度管理的重要性,并对具体的项目开发进度管理方法进行了探讨。

软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。因此,怎样对软件项目进行有效的管理是急需研究的课题,国内外专家学者也展开了相关的研究。

软件开发

现代软件工程为核心,系统分析了项目管理领域中软件项目存在的问题,提出在理想和现实之间选择平衡点的建议和方法。林锐[2]编写的《IT企业项目管理:问题、方法和工具》一书为IT企业提供了专业性很强、行之有效的项目管理方法和相应的工具,解决了大多数IT企业的软硬件开发项目管理混乱、质量低下、进度延误、费用超支等问题。哈罗德?科兹纳[4]在《项目管理:计划、进度和控制的系统方法》一书中讨论了时间管理、冲突管理等问题,分析了影响项目成功的因素。石慧[4]运用动态规划的思想和网络计划的方法,利用马尔可夫链模型进行软件项目进度预测,对软件开发项目中的计划和控制应用进行研究,构建了一个并行的IT项目进度马尔可夫链预测模型。

由于缺乏相关的法规政策,软件项目开发的进度很大程度上取决于程序员自身的专业技能和职业道德水平。由于没有一个标准划分,管理上有很多问题不容易解决。本文对影响软件开发进度的主要因素进行分析,阐明了进度管理的重要性,并对具体的项目开发进度管理方法进行了探讨。

1 影响软件开发项目进度的主要因素

软件项目在开发过程中,有很多影响其进度的因素,内因、外因、主观、客观因素均有,情况比较复杂。为顺利管理软件开发项目进度,首先要对其中主要影响进度的因素有所了解。

1.1 80-20原则,未按原计划执行进度

80-20原则用在经济学中是指百分之八十的价值是来自20%的因子,其余的20%的价值则来自80%的因子。在计算机软件开发领域,我们可以这么理解:80%的项目工作可以在20%的时间内完成,而剩余的20%的项目工作需要80%的时间。

一般来讲,这剩余的两成工作属于比较难的技术关键部分,通常出现在后期。由于软件开发过程的不确定性,在任何技术关键点上都可能遇到难题,这与开发人员本身的分析、设计、编程风格有关,难以预测。在实际过程中,完全无法预测在什么时候会遇到(甚至可能在最后一步)能导致全盘重建的问题,因此原计划进度一般会调整。

1.2 预算、质量要求等的变更及适应性调整不及时

除了对项目本身的工作量估算不合理之外,设计人员的理解也可能造成问题。如开发人员理解的情况与实际情况有偏差,在没有充分沟通并确认时开展项目,过程中又会变更,在验收阶段可能才发现“审题错误”,造成资源浪费,同时与之相关横向、纵向项目的进度也会受影响,易产生“软件危机”。此外,其他问题如设备、人力不符合要求或调整,都会影响实际进度。

1.3 前期可行性分析不充分

由于项目参与人员的经验或素质原因,在项目开始前的准备不足,对项目状态信息收集的不足,没能好好把握项目的内容,容易造成对项目的了解不符合实际情况,加上高估自身工作能力,这就会对进度造成影响。如果没有充分的理解和准备,项目整体就会受到很大的影响,对项目本身的低估其实是对自身的一种高估,这样会使得预期的进度在实际进展过程中不仅很难实现,而且容易对工作人员的士气形成打击。

1.4 其他因素

假设、约束、风险等条件考虑“不周”造成项目进度计划中未考虑一些不可预见的事件发生。例如软件开发项目还会因为项目资源特别是人力资源缺失(如人员生病、离职、开发人员临时有其他救急任务)等原因,对项目进度控制造成影响致命影响。即项目及时完成是基于环境不变、任务不变、资源不变动等假设。软件开发主要是靠程序员来进行,软件体现出程序员的不同风格,因此程序员本身的主观性也会造成影响。在进度安排的时候应当适当配置应急预案,预留空余。

2 软件开发项目进度管理的目的

加强软件开发项目进度管理是软件开发行业发展的必要手段,也是必经之路。项目进度控制和监督的目的是:增强项目进度的透明度,及时发现项目中存在的问题并改正,对项目进展加以督促等,保证项目按时完成。

合理的管理手段可以加强项目的监督控制,对项目进度完成情况有一个大致的了解和评估,一旦出现问题可以及时沟通交流;遇到有落后进度情况及时督促,对有理解偏差的情况及时发现、及时纠正等。

软件开发时实施进度控制是项目管理的关键。一般一个部门同时会接多个项目,并行处理过程易造成混乱。通常,一个项目会由多部门的课题组共同负责,分项目之间横向并列或纵向承启,分部越多就越容易受影响。因此各分项目的准时能确保项目实施进度,对项目进度的合理管理可以起到协调作用。进度控制是项目管理过程中一项最重要的监控内容,负责对项目周期的整体把握与控制。通过软件开发项目进度管理方法,对各个分项目的进度进行控制,保证每个分项目各自按照项目计划书中的预期进度安排完成各自的内容,对于其中出现的问题及时予以纠正,从而保证项目整体的顺利完成。

3 软件开发项目进度管理方法

3.1 对项目本身充分了解


       在制定项目计划书之前,首先应当对充分了解项目本身。项目进度控制的前提是有效地计划和充分掌握第一手信息,通过实际值与计划值进行比较,检查、分析、评价项目进度。对项目的充分了解是制定一个可行性分析报告的必要条件。除了了解项目相关技术内容、发展情况外,还应包括主要设备(工具软件)、项目参与者的情况,以合理分工、科学管理。

3.2 项目计划书与定期的进度报告

为了按期完成软件交付任务,目前软件开发单位陆续采取了很多控制进度的管理手段,其中最为广泛实用的就是项目计划书和定期的进度报告的提交。项目计划书和进度报告都是参考传统的工程项目管理方案,同时结合软件开发本身的特点进行的改进。作为项目进度控制的基准,项目计划书是项目的阶段成果完成情况的一个预期与管理依据。根据计划书中的时间安排,在项目的每个阶段点,项目负责人需要向相关管理人员(部门)书面提交阶段工作汇报与计划。在进度报告中,要有完成情况、存在问题、下一步安排等,实际上就是项目执行人员的对总结、分析、开发反思。

3.3 进度协调会

在软件开发项目中,一个项目通常由不同的项目团队合作完成,企业有专门的合同管理部门负责项目的分、转包、合同期与进度计划的协调。项目经理应该及时掌握这些情况,按计划进行计划进度与实际进度的动态比较,定期向客户提供可靠反馈。这通常是通过进度协调会来完成的,参与项目的每个团队负责人通过协调会了解相关方的进度、探讨问题,根据对方完成情况动态调整自己的进度。

3.4 阶段性审查与应急措施

软件开发项目进度管理过程需要从项目从准备到开始到进行到完成的各个不同阶段都采取不同的方法进行控制管理,全面把握项目进程。在准备阶段需要提供项目信息,同时确定项目研究进度;编制阶段计划和项目总进度计划;控制该计划的执行;而需求分析和设计阶段控制的任务是编制与用户的沟通计划、需求分析工作进度计划、设计工作进度计划,控制相关计划的执行等。最后,实施阶段进要求编制实施总进度计划并控制其执行;编制实施计划并控制其执行等。

在项目设计书中应当有关于应急预案的内容,这是我国现在工程管理、软件开发管理都比较容易忽略的一个内容,其本质是对项目过程中可能出现的干扰和影响的一个预测,对项目整体的合理把握。针对可能的问题,提出一定的解决方案,而在实际过程中,一旦出现问题,具体应当结合实际情况确定,避免产生相反的效果。

4 结束语

软件项目的开发与传统的工程项目具有很大的区别,软件本身具有无具体形态、缺乏标准等特点,开发过程不确定性大,主观因素影响对软件质量影响较大,因此进行项目进度管理探讨十分必要。本文通过总结进度管理上可能存在的问题,提出了可以采取的管理手段,希望能对实际工作有参考价值。

上一篇

秦皇岛时讯网络用微信小程序做H5游戏尝试

下一篇

秦皇岛网络公司对Web Service网络开发应用