1.为什么软件开发的周期总是预估的2-3倍?
(1)既然是预估时间,软件开发周期是没有方法明确计算出来的,所以开发周期长于预估时间是正常且合理的。
(2)软件开发过程中具有不确定性,人们无法预知开发过程中会出现何种问题,人们习惯于考虑理想状态,但现实总是比理想残酷。
(3)可能在软件开发时与需求方沟通不足,也可能程序员对用户需求理解有偏差,开发的软件不符合需求方要求,软件要进行修改。需求方可能不断增加需求,改变需求。
(4)时间分配可能不够合理。有一些环节可能分配时间过长,有一些则可能分配时间过短。
(5)可能在时间分配时没有考虑节假日等因素。
(6)可能在某个环节出现短板,资源调配不够合理,或者团队之间缺少交流,不够配合。
2.什是分而治之?
分而治之就是把原问题分解为几个类似原问题的子问题,解决完子问题,再把子问题的解合并在一起,就可以得到原问题的解。
一般包括三个过程:分解:将原问题分解成若干个子问题。解决:递归求解各自子问题,如果子问题足够小,直接求解。 合并:合并这些子问题的解,即可得到原问题的结果。
3.了解WBS。
WBS即工作分解结构,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目→任务→工作→日常活动。
WBS作用:
1.明确和准确说明项目的范围;
2.为各独立单元分派人员,规定这些人员的相应职责;
3.针对各独立单元,进行时间、费用和资源需要量的估算,提高时间、费用和资源估算的准确度;
4.为计划、成本、进度计划、质量、安全和费用控制奠定共同基础,确定项目进度测量和控制的基准;
5.将项目工作与项目的财务帐目联系起来;
6.便于划分和分派责任;
7.确定工作内容和工作顺序;
8.估算项目整体和全过程的费用。