一个曾经与我一起工作过的经验丰富的项目经理声称,他拿到程序员的时间估算以后,先将它乘以π,然后转化下一个时间数量级后,才能得到真正的值。1 天转化成3.14周。他过去因为程序员不擅长估算时间而吃尽了苦头。我创建了一个用来翻译程序员时间估算的表格,来尽量缩小估算错误。

时间估算时困难的。每一个程序员都有一个现实的估计区间。低于这个区间的估计意味着(构件,测试,检查代码的)时间开销被低估了。超过这个区间的估计意味着这个任务太大而很难预估。
对于初级开发者来说,这个区间甚至都不存在。他们忽略(构件,测试,检查代码的)时间开销,同时困难的任务他们却又无法预估。我想说一个有经验的开 发者应该在0.5至24小时将事情做完。超过24小时,就需要细分。这项工作应该在开发者的头脑中完成,然后总和到60小时。但是即使是有一些有经验的开 发者也需要有利用管理时间块来思考。
同样重要的是明白:编程经验不等同于估算经验。一个不被包含在估算流程中的开发者将不会擅长估算。同样,如果实际的时间花费不被测量和用于与估算比较,那么将没有反馈来学习。
最后,每个程序员都应该具备估算的技能。为磨练这个技能,接手每个任务时,先决定你要做什么。然后在开始之前估算任务所需时间。最后测量实际花费时 间,并与估算相比较。同样比较你实际完成的与计划完成的。这样你将会既提高你对一个任务包含细节的理解,同样也提高了你的估算技能。
引用来自“影子明”的评论
我遇到一个典型的“阎”s b 这个问题巨简单!估计你5分钟搞定!
你当我是神呀!啥问题都不知道!你就知道我几分钟搞定! 要不你上!
引用来自“仰望星空”的评论
引用来自“影子明”的评论
我遇到一个典型的“阎”s b 这个问题巨简单!估计你5分钟搞定!
你当我是神呀!啥问题都不知道!你就知道我几分钟搞定! 要不你上!
基本上不可能是陪你一起熬夜的老上级.
引用来自“shuwei.wei”的评论
开发估算时间时大多是从开发角度上去考虑的,看到问题、第一反应是“问题不大,一会儿就搞定了”,环境上、流程上、协调上花费的时间没考虑进去,结果就悲催了
引用来自“棋有此理”的评论
如果是独立解决问题,那么个人要是有意识提高效率的话,很容易!关键是多人合作,你等他,他等你.最耗心神,也最影响工作效率,也最影像编程的心情!本来很容易点事,拖了好长时间!唉!无奈!还有就是每个人都有自己的想法,合作起来要是没有个强制的规范,超级别扭!
引用来自“Jerry524”的评论
引用来自“hookybaby”的评论
最讨厌那种给别人活还说简单几下就搞定的人
引用来自“看能不能改个名”的评论
遇见更多的情况是, 这个东西不难,需要1天吧。 回答:恩,一天可以。
那个功能你能处理。2天能做出来吧。 回答:2天。回答:能做出来。
还有这个。这个是小问题。顺手都改一下就好。 回答:这个不行。这个...
好吧,这个也需要1天... 回答:一天真不够。还有...还有...
那好,这个先不要了。...
最后 一共也只需要3天吧。本周结束应该可以了吧。 回答: 本周不行啊。 之前那个......
之前那个先不管了。 回答: 之前那个不处理。这些都干不了....
那现在运行的系统不是好好的么。 为什么今天说的 ......
现实就是这个。 不是估计时间短。而是,估计时间远远没有变化的快。 事情永远在没有一个阶段性结束的时候。就搀杂了更多的变数。 之前的一切都会被毁灭。 也就是为什么需要 git 而不是svn 了。 分支太多了。
那个功能你能处理。2天能做出来吧。 回答:2天。回答:能做出来。
还有这个。这个是小问题。顺手都改一下就好。 回答:这个不行。这个...
好吧,这个也需要1天... 回答:一天真不够。还有...还有...
那好,这个先不要了。...
最后 一共也只需要3天吧。本周结束应该可以了吧。 回答: 本周不行啊。 之前那个......
之前那个先不管了。 回答: 之前那个不处理。这些都干不了....
那现在运行的系统不是好好的么。 为什么今天说的 ......
现实就是这个。 不是估计时间短。而是,估计时间远远没有变化的快。 事情永远在没有一个阶段性结束的时候。就搀杂了更多的变数。 之前的一切都会被毁灭。 也就是为什么需要 git 而不是svn 了。 分支太多了。
同感
引用来自“hookybaby”的评论
最讨厌那种给别人活还说简单几下就搞定的人
引用来自“看能不能改个名”的评论
遇见更多的情况是, 这个东西不难,需要1天吧。 回答:恩,一天可以。
那个功能你能处理。2天能做出来吧。 回答:2天。回答:能做出来。
还有这个。这个是小问题。顺手都改一下就好。 回答:这个不行。这个...
好吧,这个也需要1天... 回答:一天真不够。还有...还有...
那好,这个先不要了。...
最后 一共也只需要3天吧。本周结束应该可以了吧。 回答: 本周不行啊。 之前那个......
之前那个先不管了。 回答: 之前那个不处理。这些都干不了....
那现在运行的系统不是好好的么。 为什么今天说的 ......
现实就是这个。 不是估计时间短。而是,估计时间远远没有变化的快。 事情永远在没有一个阶段性结束的时候。就搀杂了更多的变数。 之前的一切都会被毁灭。 也就是为什么需要 git 而不是svn 了。 分支太多了。
那个功能你能处理。2天能做出来吧。 回答:2天。回答:能做出来。
还有这个。这个是小问题。顺手都改一下就好。 回答:这个不行。这个...
好吧,这个也需要1天... 回答:一天真不够。还有...还有...
那好,这个先不要了。...
最后 一共也只需要3天吧。本周结束应该可以了吧。 回答: 本周不行啊。 之前那个......
之前那个先不管了。 回答: 之前那个不处理。这些都干不了....
那现在运行的系统不是好好的么。 为什么今天说的 ......
现实就是这个。 不是估计时间短。而是,估计时间远远没有变化的快。 事情永远在没有一个阶段性结束的时候。就搀杂了更多的变数。 之前的一切都会被毁灭。 也就是为什么需要 git 而不是svn 了。 分支太多了。
引用来自“chrisg”的评论
还有另外一个造成误差的地方是 估算的是工作时间而不是上班的时间。每天8小时上班,能真正想工作一两个钟头,就是很不错的员工了。其它的六七个小时,网聊一下,买点东西,看看小说,打打电话,跟同事聊聊天 也就过去了。
引用来自“影子明”的评论
我遇到一个典型的“阎”s b 这个问题巨简单!估计你5分钟搞定!
你当我是神呀!啥问题都不知道!你就知道我几分钟搞定! 要不你上!
你当我是神呀!啥问题都不知道!你就知道我几分钟搞定! 要不你上!