因此,你有一个不断变化的团队规模的项目,你的老板希望你准确估计它需要多长时间?你可以做到这一点,只要你记住准确和精确的区别。您的精确度将主要取决于物品的数量以及每个物品的粒度(分解)如何;越多的项目你有更多的大数定律为你工作,平均超出和低估。
您的准确性是置信度的函数。请注意,估算值不是单点值,而是包含置信度百分比的范围。例如,适当的估计不会是“2周”,即“2周50%的置信度,4周80%的置信度”。
如果我是被赋予不值得羡慕的任务的人,他提供了一个项目的完成度估计,这个任务与原始文章中的任意管理一样,我会尝试根据分配的最小人数(例如,“给予2名开发人员48至66周[50%至80%自信]”)和与所分配的平均人数相关的范围(例如,“5个开发人员25至45周[50%至80%自信]“),并使用平均数字中的低位数字和最小数字中的高位数字(例如,”从2到5名开发人员[50%到80%自信]给予25到66周“),以及即使如此,我也会对此做出免责声明(“由于上下文切换导致的损失时间加上10%”)。
更好的是,我会解释为什么这种安排是礼貌的,次优的,以及为什么多任务是Hell项目的主要路标。
正如其他人所建议的,将工作流程从基于迭代的改为基于流程(看板)可能是一个很好的策略。使用看板,您可以通过更改积压项目中的项目优先级来处理更改项目优先级;一旦项目被团队抓住,一般会完成(在工作流程中一直流动,不允许利益相关者通过拧入正在进行的工作来破坏团队)。我使用Kanban进行持续工程项目,效果非常好。考虑到它对估计有什么帮助,持续流动的关键是尝试让每个工作项目的大小大致相同(1x,2x,3x,而不是10x,20x,100x)。您应跟踪过程状态更改的日期,例如队列1/15,设计1/22,开发1/24,测试2/4,集成2/7等,然后生成通过工作流跟踪项目移动一个累积的流程图定期评估随时间推移的状态持续时间。考虑到你知道每个项目的大小和通过项目工作流程的时间,计算项目应该花费多长时间是一个留给读者的微不足道的计算练习。(更有趣的问题是如何发现约束......然后如何去除它们......提示:在状态中查找很长时间,因为工作堆积在约束之前。)
...社区wiki ... – joshcomley 2009-10-30 14:42:10
不,不是社区wiki。在这种情况下,这个问题将有一个适用于wic和他的团队的答案。 – 2009-10-30 14:42:50
我投票结束这个问题作为题外话,因为它不是关于编程 – 2017-10-20 09:40:31