在此期间,我们展开了对项目的迭代历估计。
任务历时估计
任务历时轨迹定义了项目中的任务(活动)、任务之间的关系,估计了需要的资源,就需要估计任务的历时,即花费的时间。
任务历时估计是估计任务的持续时间,它是项目计划的基础工作,直接关系整个项目所需的总时间。任务历时估计太长或太短对整个项目都是不利的。项目历时估计首先是对项目中的任务(活动)进行时间估计,然后确定项目的历时估计。任务(活动)时间估计指预计完成各任务(活动)所需时间长短,在项目团队中熟悉该任务(活动)特性的个人和小组,可对活动所需时间做出估计。估计完成某活动所需时间长短要考虑该活动“持续”所需时间。例如,如果软件系统设计需要2~4工作日,到底需要多少工作日取决于活动的开始日期是哪一天,周末是否算工作日,以及参加设计的人数等。绝大多数的计算机排序软件会自动处理这类问题。整个项目所需时间也可以运用这些工具和方法加以估算,它是作为制订项目进度计划的一个结果。
一般地,在历时估计的时候,还应该考虑如下信息:
- 实际的工作时间:例如,一周工作几天,一天工作几个小时等;正常工作时间,要充分考虑正常的工作时间,去掉节假日等。
- 项目的人员规模:一般规划项目时,应该按照人员完成时间来考虑,如多少人月、多少人天等,同时要考虑资源需求、资源质量和历史资料等。资源数量的多少也决定活动的历时估计,大多数活动所需时间由相关资源的数量所决定。例如,两人一起工作完成某设计活动只需一半的时间(相对一个人单独工作所需时间),然而每日只能用半天进行工作的人通常至少需要两倍的时间完成某活动(相对一个人能整天工作的所需时间)。大多数活动所需时间与人和材料的能力(质量)有关。
- 生产率:根据人员的技能考虑完成软件项目的生产率,如LOC/天等。
- 有效工作时间:在正常的工作时间内,去掉聊天、打电话、去卫生间、抽烟、休息等时间后的有效工作时间。
- 连续工作时间:不被打断的持续工作时间。
- 人员级别:不同的人员,级别不同,生产率不同,成本也不同的。对于同一活动,假设两个人均能仝日进行工作,一个高级工程师所需时间少于初级工程师所需时间。资源质量也影响活动的估计,有关各类活动所需时间的历史资料是有用的。
- 历史项目:与这个项目有关的先前项目结果的记录,可以帮助项目进行时间估计。
在项目计划编制过程中,由于开发人员需要休息、吃饭、开会等,可能不会将所有的时间放在项目开发工作上,而且这还不考虑开发人员的工作效率是否保持在一恒定水平上。其实,一天8小时工时制并不是花在项目上的时间就是8小时。在实际开发中,开发员工的时间利用率能够达到80%就已经很好了。
历时估计应该是有效工作时间加上额外的时间( elapsed time)或者称为安全时间(satyime),历时估计的输出是各个活动的时间估计,即关于完成一个活动需多少时间的数量估计。
1.定额估算法
2.经验导出模型
3.PERT方法