没有准确的进度估算,再有效的进度计划也无从谈起
软件估算的特征:
1. 要承认,软件估算是困难的
2. 随着项目进行,估算才逐渐变精确。
如何估算? 估算的关键步骤是估算功能点,然后累加后得出人月数,最后轻松得出进度
在估算的不准确性上和客户要求的准确性上取得平衡
1. 与其拍胸脯给出准确估计,不如给出一个范围:[估计值*乐观系数, 估计值*悲观系数]。如果客户一定要你给个精确数字,你要告诉他你也不知道,但要跟他说“一旦我知道了,我立即告诉你”
2. 如何向客户解释估算难的问题?可以用“盖房子”来比喻。刚开始接触时建筑公司并不知道客户的房子要确切地盖成什么样,等图纸出来以后才能给一个相对靠谱的评估;但即使到了这个阶段,一些细致末节如门窗、地砖的规格也仍然还没确定,这时的估算仍然不够精确。但好的一面是,随着项目的进展,估算会越来越准确。
3. 管理好客户的预期,让他们一开始就接受“估算是会被修正的”,发生修正并不等于进度被拖延了、项目出了问题。不过,估算的修正要显得有序,并且要可视化。
准确估算的技巧:
1.在没有估算之前,不要跟别人说“大概要一周”
2.花时间进行估算,必要时把“估算”活动本身当作一个项目规划好
3.参考以往项目的数据
4.让开发人员,尤其是本项目的开发人员来参与估算
5.Review
6.把功能分得足够细再估算
7.不要忽略小任务
8.使用估算工具
9.使用多种估算技术,然后比较结果,这样或许会让你发现一些遗漏
附:常见的修正时机和估计值的系数