软件开发一般包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护等阶段。而实际从事软件开发工作时,软件规模、种类、开发环境以及开发时使用的技术方法等因素,都会影响阶段的划分。软件开发的每个阶段所耗费的时间也有极大的不确定性,从而导致最终完成开发所用时间波动性极大。以《西游记》举例,唐僧是甲方,四个徒弟是开发人员,甲方提出“西天取经”的要求,四个徒弟进行了耗时预测,总路程为十万八千里,54000公里,人类平均步行速度5.3公里/小时,白龙马速度记为30公里/每小时,记每天睡觉8小时,吃饭4小时,午休1小时,路上休息1小时,每天有10小时行进时间,记路途中有1/2的山路,无法骑马,则每天人行5小时,骑马5小时,一天可前进176.5公里。则约306天即可到达,然而实际耗时却高达14年,5110天,约为预估时间的16.7倍。
由此例可知,预估时间不能太过理想,软件开发过程中突发状况太多,甲方突然改要求、添要求导致开发进程不断延期,开发人员遇上技术障碍,程序出现各类漏洞,调试耗时增加,团队人员突发离职……等等问题,每一项都会极大拖延开发进度。
为什么软件开发周期总是预估的2~3倍?
最新推荐文章于 2024-07-10 21:05:55 发布