影响软件开发的因素有哪些?

来自:米么信息
时间:2020-09-16 15:59:18
分享:
米么信息 米么信息 米么信息
在软件开发当中,为了能够有效地进行项目进度控制,需要在影响进度的因素分析之前及时采取必要的应对措施,以此来尽量减少进度计划与实际进度之间的偏差,从而实现项目主动的控制。在软件开发涉及到的项目中,有许多因素会对进度产生影响,如人为、技术、开发费用、环境等因素。

软件开发当中,为了能够有效地进行项目进度控制,需要在影响进度的因素分析之前及时采取必要的应对措施,以此来尽量减少进度计划与实际进度之间的偏差,从而实现项目主动的控制。在软件开发涉及到的项目中,有许多因素会对进度产生影响,如人为、技术、开发费用、环境等因素。


 

对于软件开发项目来说,人为因素是最主要的,而技术因素最终也是人为因素。在软件开发项目的进度中,经常会出现这样的情况:

 

1、80-20原则以及过于乐观的进度控制

在软件开发中,80-20原则体现在:80%的项目工作可以在20%的时间内完成,剩下的20%则需要80%的时间才能完成。

 

这80%的项目工作不一定是在项目前期,可能分布在项目的各个阶段,其于20%左右的项目工作大部分在后期。因此,软件开发进入代码阶段后,给人进展迅速的感觉,项目经理、项目团队成员、用户、上层领导人过于乐观的估计。而且一些领导者看到软件交付给用户后,就一石激起千层浪“总算交差了”,同时也可能撤走一些被认为是不必要的人力资源。但是,许多时候,这是针对用户不合理的交货期要求而采取的最后措施,其结果就是延迟了后期的工作,同时如果软件不够成熟,也会对用户造成不良影响。

 

2、范围、质量因素对软件开发进度的影响  

软件开发这个项目会比其他任何建设项目变化更为频繁,可能是因为软件程序是一个“看不见的”、“容易修改的”东西。用户想什么时候改就什么时候改,导致需求扩散。项目经理有时候不知道怎么拒绝,又因为说“我可以”的心理因素,一般会答应修改。随着时间的增加,这样的需求集少成多,也会逐渐影响软件开发项目进度。   

 

如果软件开发中的某项工作表面上在进行中达到了目标,但检查后质量达不到要求,就需要通过返工的方式增加人力资源和时间的投入,实际上是延误了软件开发进度。无论是横向还是纵向来看,有些任务的质量会影响到整个项目的进度,而之前一些任务的质量会影响到后面一些任务的质量。

 

3、资源、预算变更这些因素对软件开发进度的影响   

资源,最重要的是人力资源。有的时候,有的人不到位,或者在多个项目的情况下,有的人中间被其他项目吸引,或者有多个项目,或者无法从其他项目中自拔。还有一个很重要的资源,就是信息资源,比如一些国家标准、行业标准,用户可能无法提供,但需要收集或购买。如果它们不能按时提供,需求分析、设计或编码的工作就会受到影响。开发设备或软件等其他资源如果不能到达,也会影响进度。实际上,预算是一种资源,预算的变化会影响到某些资源的变化,从而影响到软件开发进度。

 

4、低估了软件开发项目实现的条件   

从技术难度、协调复杂性和环境因素等方面来看,低估了软件开发项目实现的条件。

首先,低估了技术难度。有时候,企业中的高级项目经理,软件开发项目团队成员都会低估项目技术难度。对技术难度的低估实际上也就是对人的能力的高估,认为或希望项目能按照既定的乐观计划顺利进行,但实际上并非如此。软件项目的高科技特性本身就说明它的实施会有很大的技术难度,除了需要高科技人才外,还需要考虑科研攻关和项目试验来解决某些绩效问题。

 

其次,低估了协调的复杂性,也低估了多个项目团队参与项目时协调工作的困难。软件开发项目团队成员强调个人智慧和个性,给项目工作的协调带来了更多的复杂性。当一个大型项目由多个子项目组成时,不仅会增加它们之间充分沟通的难度,还会增加项目协调和进度控制的难度。

 

此外,企业的高级项目管理人员和项目经理往往低估了环境因素,这些环境因素包括:用户环境,行业环境,组织环境,社会环境,经济环境。低估这些条件既有主观原因,也有客观原因。对软件开发项目环境认识不足,导致准备不足。

 

5、收集软件开发项目的状态信息   

由于项目经理的经验或质量原因,项目状态信息收集没有很好的把握,及时性、准确性和完整性相对较差。造成这种现象还有其他原因。有些项目组成员对自己的工作不屑一顾,不想让别人知道自己工作中的缺点,比如软件程序的编写,可能会先编写一些表面的东西,已有的接口,看上去像是完成了任务,实际上只是一个“原型系统”或演示系统。使领导者产生更加乐观的情绪。若项目经理或管理团队未及时进行检查以发现问题,则会严重影响项目进度。

 

当然,如果出现这种需要时刻注意的氛围,管理者应该从管理的观点出发,从制度的观点出发,进行改善,让大家实事求是地进行交流。

 

6、执行计划的严格程度   

没有将计划作为软件开发项目过程的基础,把计划放在了一边,随意去做。

例如,对于软件开发项目小组的内部或外部沟通,有必要清楚计划中的人员、周期、模式和方法,但在实际项目过程中,沟通可能不是及时的或完整的所有项目利益攸关方。

 

以上便是米么信息对软件开发过程中,影响软件开发的一些因素总结,只有将这些因素合理的运用,才会在软件开发项目中尽可能的控制项目进度。

米么信息 米么信息 米么信息
分享文章至