为什么软件开发周期总是预估的2~3倍

说到软件开发,我们知道软件生命周期由软件定义、软件开发和运行维三个时期组成,每个时期又进一步划分成若干个阶段。总体为问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护,这八个阶段。在软件开发开始之前,需要对软件开发周期进行预估,这是一个综合分析的过程,其中的工作包括了很多细节问题需要处理,比如:预估的准确性标准是什么、选择什么样的预估方法和工具、预估应遵守的原则和态度、预估人员的选择等。其中任何一个环节没有做到位,周期预估时间与实际时间就会产生较大差异。

对于开发周期总是超出预估时间,我认为有以下原因:

1、开发人员的经验不足,经历过的软件开发项目次数少,对软件开发过程的各种细节,时间分配等认识不够。

2、开发人员的估算过于乐观,估算不全面,只考虑到编码的时间,忽略了每个程序员的编码效率,还有需求分析、开会讨论、验证、工作中的突发事件等等。就像从旧金山出发,徒步旅行到洛杉矶那个例子一样,只看到地图上的距离,没想到实际路程的艰难。在各个阶段,应该预留一些处理突发事件的机动时间,提高开发过程中的容错率。

3、没有弹性配置开发各个阶段的计划时间。如需求分析必须在两周内完成,时间不够加班完成,但时间充足还有剩余时间,应该提前进入下一阶段,而不是提前完成了任务就可以去干别的事情。应将多余的时间分配给后面的项目。

4、开发人员的数量没有规定好。开发人员并不是人多,开发效率就会高,恰恰相反,人数越多,效率越低;

5、没有灵活的调整开发周期。软件项目常常会出现各种各样的变更,最好的办法只能是面对变化,在每次变化后对项目进行重新估算并进行相应的工作调整。

对待未知的事物,一般人总是习惯于主观臆断,自认为它应该是这样的,把处理事情的过程想的过于理想化,而忽略了现实的不可预测性,这样会可能导致我们的计划和现实出现巨大的偏差。归根结底还是对事物的认识不够,未知才是最可怕的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值