待估算的内容:譬如规定时间或规定预算内该交付的特性,规定的特性该用多少预算和时间等,
项目规模:小型项目:5个技术人员的项目,最佳的估算方法时自底向上,也就时基于将要实际进行工作的个人提供的估算值来进行估算,大型项目:25个人以上的团队人员,项目持续6-12个月,多采用自顶向下的方法,基于数学和统计学,在项目中期,可以基于项目历史数据的自底向上的方法结合起来,提供更准确的估算.中型项目:大约包括5-25人,持续2-12个月.可以用大型项目的估算,也可以用小型项目的估算.
软件开发方式:开发方式主要有顺序可迭代,
开发阶段,早期,中期,后期.
估算的准确度取决于:方法本身,方法是否被应用到合适的估算问题中,项目所处的阶段.
在选择估算方法时,要考虑估算的对象,项目的规模,开发阶段,项目开发方式和需要的准确度.
首先计数,无法计数时使用计算,判断是最后的方法.
早期:需求,特性,用例,用户故事等
中期:变更请求,web页面,报告,对话框,显示屏幕,数据表等
后期:已编的代码行,类,报告的缺陷数,
与估算最密切相关的就是软件规模,需要找到有效体现规模的计数器,譬如需求,功能点等,
越早找到有效的计数对象,就越能提供长期的可预测性,
找到可以产生统计上有意义的均值的计数对象:找20个以上,统计上20个样本才有意义.
收集历史数据,由此计算出估算值,可以在项目后期对缺陷计数,或者通过web页面计数进行估算.
专家判断作为最后的手段.
校准用于把计数转换为估算值,即先计数再计算.下面三类的数据用来对估算进行校准:
行业数据,历史数据,项目数据(待估项目先前已经产生的数据)
使用历史数据进行估算不容易超支.
历史数据的使用可以初步考虑到可能对项目结果产生影响的开发组织因素,历史数据反映了这些因素,可以自动地根据它们进行估算的调整,
避免主观性和无根据的乐观.
规模:代码行或者其他软件交付后可以计数的对象
工作量:人月
时间:日历月
缺陷:按级别分类
可以使用代码行,功能点,用户故事,web页面,数据表等很多方式表现规模,在计算规模时要对代码行的计算保持一致,譬如在A项目中代码行的计算不包括空行和注释,那么在B项目中也应该这么计算.
保持计算工作量的计算方式一直,譬如不包括节假日,使用小时计算等等,
项目何时开始,项目何时结束,需要有个明确的定义.
收集数据用于估算的历史数据时,从少量数据开始,要保证真正了解正在收集的数据,并采用一致的方法来收集这些数据.
项目结束后尽早收集他的历史数据,在项目进行过程中周期性的收集历史数据,
将收集的数据转化为用户估算的模型:
每个开发人员平均每月完成的代码
3个人的团队每个日历月交付的用户故事
团队每X人时可以定义一个用例,
测试人员每x小时可以建立的测试用例
使用当前项目的数据可以为项目的剩余部分建立高度准确的估算.项目的迭代性越高,就可以越早的使用当前的项目数据.
如果没有历史数据,就使用行业数据,但是行业数据有很多的可变性,譬如生产率,团队等,
总结:如果你的项目没有收集这些项目数据,赶紧收集吧!!!!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22878014/viewspace-619895/ ,如需转载,请注明出处,否则将追究法律责任。