我的团队目前正在进行重大改写的"bug修复和抛光"阶段.我们仍然有大量的错误要修复,计划在几个里程碑.我们被要求提出估算,以确定修复每个里程碑错误所需的工程量.
对于之前的里程碑,我们遵循以下流程:
这是相当准确的(我们已经在我们之前的三个里程碑中得到了很多点),但它相当耗时.
我们被要求估计即将到来的里程碑的工程时间,但要求不要使用上述过程,因为它太耗费时间.相反,作为团队的技术主管,我被要求提供不太确定的估计值,以及确定性间隔(即1个月,加上或减去一周).
我的主要估计经验是上面描述的方法的一些变化(从自由职业的背景多年).我发现当我在大型任务中"从臀部射击"时,我倾向于离开.我怀疑在估计代码中我不太了解的代码区域需要多长时间时会更糟糕.
您有哪些提示,技巧或技巧可以成功快速估算,而不会将细分任务分解成细粒度的任务并进行估算?
不可选择的事情:
估计的最佳提示:收集很多.
听起来你已经是估算主题的专家了,你知道可能的局限性.如果不评估完成任务需要做什么,就无法估算任务!
评估的时间量与估计的准确性成正比.当时间评估如此准确以至于您已经解决了任务时,这些事情就会趋同,在那一刻,您确切地知道需要多长时间.
嗯,对不起,这可能不是你想听到的答案......但这只是我的想法.
第1步意味着你永远不会错过截止日期.
第2步是将问题转回给那些要求您估算而不花时间估算的人.
编辑...
抱歉,以上内容并没有真正回答你的问题.
利益相关者希望根据每项任务的时间和成本来确定工作的优先顺序,并且可能会询问您希望在下一个截止日期之前能够完成哪些最高优先级更改.
我花费最少时间的技术是使用三次我的印象,我认为这需要多长时间才能完成.
你正在寻找比这更长的东西,但不像你以前的优秀估计那么长.
您仍然需要查看每个错误,即使只是猜测它是否容易,平均或棘手,或1,2,4,8,16或32小时工作.
如果您在代码库中产生一些代码复杂度指标(例如,圈复杂度),并且对于每个任务,请尝试更新该代码库的两个或三个部分,然后根据假设进行估计.较复杂的代码部分将比更复杂的部分更快地更改.您可以根据先前的一些估计得出一些启发式算法,用于每个错误修复,估计所需的时间和可变性.