为什么软件开发周期总是预估的2~3倍?
项目的开发周期,不尽然都是两倍多。主要是取决于项目主导者选择的项目开发模式以及项目规属划。一般的项目采用甲乙方(用户和开发、业务和开发等)沟通中的迭代开发。构造雏形在概要设计时做的东西没有也无法全量覆盖业务需求、技术难点等,导致与实际落地产品差距甚大。这个差距,就是周期的一种内耗。当然,再包含更多的项目扯皮等,预期会被更加拖延。
软件开发周期的预估是根据开发内容、开发工具、开发人员等多种因素综合考虑做出的对软件项目完成时间的预测。软件开发周期预估在软件开发中也是较为困难的工序之一,因为软件开发所涉及的因素不仅多而且异常复杂。软件开发是一项非常复杂的工程,不仅包含需求分析、设计、编码、测试、实施、维护等不同的过程,还涉及到开发工具、开发人员、项目管理、风险等众多因素,不同因素会对周期预估产生不同的影响。也正是因为这样,很多时候我们不能考虑的特别全面,经常会遗漏一些或大或小的细节,但往往就是这些细节让我们的开发周期越来越长,除了当初软件周期预估时忽略的细节造成了软件周期的延长。
很多时候突发因素也是造成软件开发周期延长的原因之一,俗话说得好,计划赶不上变化,因为我们对软件开发周期的预估往往是一种理想状态,是我们在一种比较顺利的情况下的一种预期,但是实际软件开发时往往不能如此的一帆风顺,经常会遇到各种各样的突发情况,比如一些问题当初没考虑到或者遇到一些技术难题不能突破,甚至是天灾人祸等不可抗力,这也就造成了我们实际的软件开发周期比预估的要长很多。