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

转载:https://www.sohu.com/a/132411358_355123
作者用诙谐生动的语言,展示了一段充满未知与意外的旅途。揭示了计划永远赶不上变化的道理。

软件开发周期预估:
软件开发周期预估就是根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间做的预测。
软件开发周期预估在软件开发中也是较为困难的工序之一,因为软件开发所涉及的因素不仅多而且异常复杂。软件开发是一项非常复杂的工程,不仅包含需求分析、设计、编码、测试、实施、维护等不同的过程,还涉及到开发工具、开发人员、项目管理、风险等众多因素,不同因素会对周期预估产生不同的影响。
当低估项目周期时,会造成人力低估、成本预算低估、日程过短,最终人力资源耗尽,成本超出预算,为完成项目不得不赶工,影响项目质量。而项目周期估计过长,也会带来成本估计过高,人力资源利用不充分效率低下的后果。所以,过长过短的预估周期都是不好的,周期预估就是后续开发工作的基础,它完成质量的好坏所带来的影响会贯穿整个项目,由此可见开发周期正确估算的重要性。

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

猜你喜欢

转载自blog.csdn.net/weixin_45402023/article/details/109266692