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

        正所谓天有不测风云,既然是预估,就会有不准确,正好比天气预报,今天预报的晴天也可能突然转雨,明天预报的大雨也可能变为多云,更何况软件开发过程是一个漫长、繁杂的过程,其包括需求捕捉、需求分析、设计、实现和测试等步骤,人们不可能把每一个步骤都预测得毫无疏漏,因为这个开发的过程是活的,不是死的,需求是会有轻微变化的,而不是永远不变的。这里也正好诠释了一句话“人算不如天算”。

        以上仅是客观原因。此外,还有许多主观可能原因。比如:

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

2、需求理解有差异,用户表达的和程序员理解的不一样,出现偏差。课上老师展示的秋千漫画图就很好地解释了这一点。而且客户需求不定,增加需求,组织协调不畅。

3、预估开发周期的时候没有考虑到一些特殊情况,比如遇到法定节假日放假等。

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

5、也有可能团队中出现短板或者团队配合度不够。

        总之,对于未知的事件,一般人总是习惯于主观臆断,自认为它应该是这样的,把处理事情的过程想的过于理想化,而忽略了现实的不可预测性,这样会可能导致我们的计划和现实出现巨大的偏差。在我看来,人们的推测只能尽可能的向结果靠近,而不能完成趋同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值