Project management 如何估计未预见任务的长度?

Project management 如何估计未预见任务的长度?,project-management,methodology,Project Management,Methodology,我想知道是否有人知道一种方法或任何能够估计不可预见任务长度的东西 很多时候,我不得不离开一些任务,参加许多其他的任务,我已经读到了关于这个问题的书,但我的问题是,我不能,因为我不知道,如何估计不可预见的任务的长度。有可能吗 除非你意识到某项任务被忽略了,因为你无法从定义上知道你遗漏了什么。除非你意识到某项任务被忽略了,因为你无法从定义上知道你遗漏了什么。我倾向于以工作时间为单位进行估算,因此如果我被取消了某项任务,然后我可以指出我已经做了什么,还有多久 但我倾向于使用这种方法: 这样,一旦我完

我想知道是否有人知道一种方法或任何能够估计不可预见任务长度的东西


很多时候,我不得不离开一些任务,参加许多其他的任务,我已经读到了关于这个问题的书,但我的问题是,我不能,因为我不知道,如何估计不可预见的任务的长度。有可能吗

除非你意识到某项任务被忽略了,因为你无法从定义上知道你遗漏了什么。

除非你意识到某项任务被忽略了,因为你无法从定义上知道你遗漏了什么。

我倾向于以工作时间为单位进行估算,因此如果我被取消了某项任务,然后我可以指出我已经做了什么,还有多久

但我倾向于使用这种方法:


这样,一旦我完成了不可预见的任务,主管就可以看到还有多少工作要做。

我倾向于以工作小时数为单位进行估算,这样,如果我完成了一项任务,那么我就可以指出我做了什么,还有多长时间

但我倾向于使用这种方法:


这样,一旦我完成了不可预见的任务,主管就可以看到还有多少工作要做。

首先,你无法估计大项目中每个小任务的长度。按关键性对任务进行分类,只估计对项目至关重要的任务的时间


下一步是在关键任务同时进行的非关键任务中分配空闲时间。首先,你无法估计大项目中每个小任务的长度。按关键性对任务进行分类,只估计对项目至关重要的任务的时间


下一步是在关键任务同时进行的非关键任务中分配空闲时间。实用的程序员建议明智地选择度量单位,给自己留出余地

因此,与其说“120天”,不如说“4个月”(或“半年”)


此外,如果你有未知的情况,事先向客户陈述这一事实,并让他们了解情况,也不会有什么坏处。

务实的程序员建议明智地选择度量单位,给自己留出余地

因此,与其说“120天”,不如说“4个月”(或“半年”)


此外,如果你有未知的情况,事先向客户说明这一事实,并让他们了解情况,也不会有什么坏处。

关键是历史数据

如果记录完成给定类型或大小的任务所需的时间(包括中断),而不是完成未来任务所需的时间,则只需确定新任务的类型/大小,并应用历史数据来计算此类任务通常需要的时间。由于您记录的数据包括各种中断等,因此对未来的估计也将考虑这些因素

示例:假设这是过去10次您必须对网页进行文本更新的数据:

time     note
10m
10m
1.5h     got pulled away to fix a production bug
10m
45m      server offline due to upgrade
10m
10m
4h       entire staff evacuated due to bomb scare
10m
10m
显然,实际更新只需10分钟。然而,在现实生活中,平均花费的时间约为45分钟。如果你明天要做5次更新,估计每次45分钟


这种方法还应该有助于将任务中不可预见的项目考虑在内——编写代码只需要10分钟,但部署代码需要15分钟,因为您必须将代码通过FTP传输到这里,然后再通过rsync传输到那里,等等。这同样会显示在历史数据中。

关键是历史数据

如果记录完成给定类型或大小的任务所需的时间(包括中断),而不是完成未来任务所需的时间,则只需确定新任务的类型/大小,并应用历史数据来计算此类任务通常需要的时间。由于您记录的数据包括各种中断等,因此对未来的估计也将考虑这些因素

示例:假设这是过去10次您必须对网页进行文本更新的数据:

time     note
10m
10m
1.5h     got pulled away to fix a production bug
10m
45m      server offline due to upgrade
10m
10m
4h       entire staff evacuated due to bomb scare
10m
10m
显然,实际更新只需10分钟。然而,在现实生活中,平均花费的时间约为45分钟。如果你明天要做5次更新,估计每次45分钟


这种方法还应该有助于将任务中不可预见的项目考虑在内——编写代码只需要10分钟,但部署代码需要15分钟,因为您必须将代码通过FTP发送到这里,然后再通过rsync发送到那里,等等。这同样会显示在历史数据中。

如果您一直有不可预见的任务,那么您可以进行est。您处理这些任务并将其添加为缓冲区以确定结束日期的大约时间(不是项目的工作量,因为不可预见的任务听起来好像与其他项目关联)。有研究表明,一个平均程序员在一个指定的项目上有60%的效率,所以30%-40%的缓冲可能看起来很高(也可能不是),但这将是一个很好的起点。

如果你一直有不可预见的任务,那么你可以尝试。您处理这些任务并将其添加为缓冲区以确定结束日期的大约时间(不是项目的工作量,因为不可预见的任务听起来好像与其他项目关联)。有研究表明,平均程序员在分配的项目上有60%的生产率,因此缓冲30%-40%似乎很高(也可能不是),但这将是一个很好的起点。

预测不可预测的未来?预见不可预见的事情?你在问什么?需要标记“认识论”@S.Lott-有一个Dilbert卡通,他应该在那里修复每个未知的bug。听起来很合适。:)不可预见的任务是否与手头的任务有关,只是你不得不做的事情,而你没有预料到,还是因为另一个项目而被迫放弃这个项目