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

1. 软件开发周期估算

定义如下:根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间做的预测。在这个定义中,“预测”两个字非常关键,它突出体现了估算的含义,同时也隐含表明了结果的不确定性。有效的软件开发周期估算在软件开发中是非常困难的工序之一,之所以说困难,是因为软件开发所涉及的因素不仅多而且异常复杂,即便是及其类似的软件项目也不能完全照搬,在估算的把握上有一定难度。估算也是软件开发中很重要的一个环节,如果低估项目周期会造成人力低估、成本预算低估、日程过短,最终人力资源耗尽,成本超出预算,为完成项目不得不赶工,影响项目质量,甚至导致项目失败。项目周期估计过长表面看来影响不大,但是实际上也会带来成本估计过高,人力资源利用不充分效率低下的后果。无论哪种情况对于项目经理控制整个项目都会带来很大影响,周期估算如同盖楼房中打地基,是后续工作的基础,它完成质量的好坏所带来的影响会贯穿整个项目,由此可见开发周期正确估算的重要性。

2.周期延迟的因素

(一)如果是自主开发 公司在前期对软件的定位、结构、UI、功能 都比较明确的情况下,一般都会比较顺利的完成,因为前期没有客户体验与需求调查分析 所以在试运营期间往往会暴露很多的问题,严重的情况不排除推倒重来,所以软件的开发周期就会相应的延长。
(二)还有一种比较常见的开发方式就是代开发 这种情况一般要看需求分析人员与客户的沟通是否到位,在工作中就遇到很多的客户对自己软件的功能与客户群都不了解,只是说明主要实现的功能方面,这时候公司的需求分析人员就需要扩展思路帮助客户提供意见与建议供客户参考,以免在开发过程中客户突然改变主意增加或者减少软件功能,这要在合同中明确指出,以免开发过程中照成扯皮情况滞后软件开发时间。总之 前期需求分析做的好软件开发周期内避免扯皮开发周期就会少的多。
具体可以分为一下几类:

1.构造软件框架时做的东西没有也无法全量覆盖 业务需求、技术难点 等,导致与实际落地产品 差距甚大。
2.需求理解有差异,用户表达的是这样的,而程序员的理解是这样的,且客户需求不定,增加需求,组织协调不畅。
3.项目经理没有处理好任务的时间分配。有的任务分配时间过长,浪费了时间,有的任务分配时间过短,没时间去完成。
4. 某些独立的任务一致性要求高,无法增添人员并行加速,因为有些任务对于思考的连贯性很强,如果强行加派人手,只会 频繁中断。
5. 开发人员对实现目标的可能出现的问题,估计不足,往往会低估问题的复杂程度。风险意识不足,没有意识到风险或者意识到风险响应错误不及时
6. 项目技术难度很大,花费的时间超过原先的估计。
7. 程序员大多是乐观的,乐观表现于假定一切运作是良好的,而事实经常相反。
8. 人力资源也会对估算影响,表现在技术水平、理解能力、沟通能力等几个方面,编程水平的高低、速度的快慢、能否适应团队、能否与各成员保持良好的沟通都会对开发进度产生影响, 软件开发周期估算前,应对开发人员的技术水平进行定级,然后依据项目组实际人员的水平做修正,这样可以减少对后期开发预估的误差。评价程序员的技术水平可以从编程熟练程度、编程速度、解决技术问题的能力几个因素考虑。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值