我想知道是否有人知道一种方法或任何能够估计不可预见任务长度的方法。
很多时候我必须离开一些任务并参加其他许多人,我已经阅读了context switching,但我的问题是我不能,因为我不知道,如何估计长度不可预见的任务。这是可能的 ?
答案 0 :(得分:2)
关键是历史数据。
如果您记录完成给定类型或大小的任务所需的时间(包括中断),而不是将来的任务,您只需要确定新任务的类型/大小,并应用历史数据来计算这个任务通常需要多长时间。由于您记录的数据包括各种中断等,因此对未来的估计也将考虑这些因素。
示例:假设这是您必须对网页进行文本更新的最近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进行FTP,然后在那里进行rsync等等。再次,这将显示在历史数据中。
答案 1 :(得分:1)
我倾向于在工作时间内给出估计值,这样如果我从任务中解脱出来,那么我可以指出我所做的事情,以及多长时间。
我倾向于使用这种方法: http://www.joelonsoftware.com/articles/fog0000000245.html
这样,一旦我从不可预见的任务中恢复过来,主管可以看到还剩下多少工作。
答案 2 :(得分:1)
务实的程序员建议明智地选择你的计量单位,以给自己留有余地。
所以,不要说“120天”说“4个月”(或“半年”)。
另外,如果您有未知数,向您的客户提前陈述这一事实并将其保持在循环中,则不会受到伤害。
答案 3 :(得分:0)
直到你意识到某个任务被忽略了,因为根据定义你无法知道你缺少什么,所以不太可能。
答案 4 :(得分:0)
首先,你无法估计大型项目中每项小任务的长度。按关键性对您的任务进行分类,并仅估算对您的项目至关重要的任务的时间。
下一步将是在关键任务同时进行的不太重要的任务中分配空闲时间。 Gantt charts会很好地达到这个目的。
答案 5 :(得分:0)
如果你有一直无法预料的任务,那么你可以考虑你的工作时间,并添加缓冲区来确定结束日期(而不是项目的工作量,因为不可预见的任务听起来好像是关联的。其他的项目)。有研究显示平均值。程序员在指定项目上的效率高达60%,因此30%-40%的缓冲可能看起来很高(或者可能没有),但这将是一个很好的起点。