因此,您有一个团队规模不断变化的项目,而您的老板希望您准确估计需要多长时间?只要记住准确和精确之间的区别,您就可以做到这一点。您的精度很大程度上取决于项目的数量以及每个项目的粒度(分解)程度;你拥有的项目越多,大数定律就越适合你,平均高估和低估。
你的准确性是信心的函数。请注意,估计值不是单点值,它们是具有一定百分比置信度的数字的范围。例如,正确的估计不会是“2 周”,而是“2 周的 50% 置信度,4 周的 80% 置信度”。
如果我被分配了一项令人羡慕的任务,即为像原始帖子中那样任意管理的项目提供完成估计,我会尝试根据分配的最少人员数量来确定一个范围(例如,“ 48 到 66 周,给 2 名开发人员 [50% 到 80% 的信心]”),以及与分配的平均人数相关的范围(例如,“5 名开发人员的 25 到 45 周 [50% 到 80% 的信心]”) , 并使用平均数字中的低数字和最小数字的高数字(例如,“从 2 到 5 名开发人员 [50% 到 80% 的信心] 的任何地方给出 25 到 66 周”),即使那样我' d 在上面加上免责声明(“加上 10% 的因上下文切换而损失的时间”)。
更好的是,我会准确解释为什么这种安排是礼貌的、次优的,以及为什么多任务处理是通往地狱之路的主要路标。
正如其他人所建议的那样,将工作流程从基于迭代更改为基于流程(看板)可能是一个很好的策略。使用看板,您可以通过更改待办事项中项目的优先级来处理不断变化的项目优先级;一旦一个项目被团队抓住了,它通常就完成了(贯穿整个工作流程,利益相关者不允许通过乱搞正在进行的工作来扰乱团队)。我已经将看板用于持续的工程项目,并且效果很好。关于它如何帮助估计,连续流的关键是尝试让每个工作项的大小大致相同(1x、2x、3x,而不是 10x、20x、100x)。您应该通过跟踪流程状态更改的日期来跟踪项目在工作流中的移动,例如,队列 1/15、设计 1/22、开发 1/24、测试 2/4、集成 2/7 等,然后定期生成累积流程图,以评估一段时间内的状态持续时间。考虑到您知道每个项目的大小以及通过项目工作流的时间,计算项目应该花费多长时间是留给读者的一项微不足道的计算练习。(更有趣的问题是如何发现约束......然后如何移除它们。提示:在状态中寻找很长时间,因为工作堆积在约束面前。)