拿到程序员的时间估算以后,先将它乘以π,然后转化下一个时间数量级后,才能得到真正的值。1天转化成3.14周。
估算时间 | 程序员所想象的 | 程序员所忘记的 | 实际时间 |
---|---|---|---|
30秒 | 只需要做一个很小的代码改动。我准确地知道怎么改,在哪里改。花费30秒敲键盘即可。 | 启动计算机,开发环境和获取正确源码的时间。用于构件,测试,检查和文档修复的时间。 | 1小时 |
5分钟 | 小事一桩,我只要上谷歌查一下语法就可以修复它了。 | 很少有一次就能找到完全正确的信息。即使找到,在它能工作前,也需要做一些调整。外加构件,测试等等时间。 | 2小时 |
1 小时 | 我知道怎么做,但是写这些代码需要花费一些时间。 | 面对未来可能发生的问题,1小时稍纵即逝。有些东西总是会出错。 | 2小时 |
4小时 | 需要写一些代码,但是我粗略地知道步骤。我知道标准框架中的Wizzabanga模块可以做到,不过我得查看文档,了解它的准确地调用方式。 | 这个大概是唯一现实的估算。它为意外的错误留下了足够大的余地,而这个任务也小到足以把握。 | 4小时 |
8 小时 | 我先要把Balunga类重构成2个,然后为Wizzabanga模块加一个调用,最后为GUI加一些字段。 | 总会有许多系统的不同部分依赖着Balunga类。大概有40个不同的文件需要修改。为GUI新加的字段,同样也需要加到数据库中。8小时太长,无法完全把握。总会有比程序员估算时更多的步骤出现。 | 12-16小时 |
2 天 | 真的有一大堆代码要写。我需要往数据库里加一些新table,显示table的GUI,还有读写table的代码逻辑。 | 对于大多数开发者来说,两天的工作量已经大到难以估算了。肯定会有什么东西被遗漏掉。不仅仅是一些小事情,而是整个一大块主要功能会被遗忘在估算中。 | 5 天 |
1 周 | 哎哟,这真是一项艰巨的任务。虽然我还没有思路,但我不能说我不知道。一周应该够了,我希望,我真心希望,但是我不能要求更多了,否则他们会认为我不够称职。 | 这个任务已经大到超过大多数程序员的理解了。它应该被发回给架构师,帮忙将它划分成更小的部分,然后提供一些解决问题的方向。架构师可能会发现一种更简单的方法来完成它,或者发现其实有更多超乎想象的工作。。。 | 2-20 天 |
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《程序员评估开发时间》
发表评论