Categories

Calendar

January 2012
M T W T F S S
« Dec   Feb »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

时间估计的难题

喜欢看书的同学,放假回家的时候都会带几本书呢?然后开学回学校的时候发现真正打开看了的又有多少本呢?反正我从前回家带的书总是看不完的,不止回家,甚至是去自习室或者图书馆,带的书也总是会超过我的处理能力——而且我还没次都是仔细计划过的。当然造成这样的原因有多方面的,比如多带几本书的话,在一本书看不下去的时候可以换一本;又比如也许是因为执行力不够没有能把计划实施(比如中途开小差去了什么的)。但是似乎有一个重要的原因在生活中其他地方也非常常见——就是我们对于时间或精力的估计上,似乎经常存在相当大的误差。

我想来想去,觉得大部分人进行估计的时候,由于无法预料和处理所有的细节,因此会将注意力集中在几个重要的因素上,然后忽略剩下的那些琐碎的细节。这是非常自然的方法,然而问题出在哪里呢?考虑哪些琐碎细节所占的时间,虽然它们单独都小到可以忽略的情况,但是各种各样的小细节加在一起如果总时间非常多呢?是不是就不成了?

比如,要写一个程序,主要的部分当然是在写代码部分喽,但是琐碎的部分呢?比如配置一下工程环境啊,做个 Makefile/automake/CMake 之类的啊,为编辑器选一个新的字体和配色方案来换一下心情啊,找个工具来高亮和清晰化编译器的编译错误啊,更新某个库到最新版本并解决一下相关的依赖关系带来的麻烦呀,去 reddit/twitter 之类的地方看看呀,去找一个“最适合 coding 的时候听的音乐专辑”之类的,等等等等。似乎根本就列不完,也没有办法事先想到所有的事,但是这些乱七八糟的事情加在一起就会悄悄地占去了想到“可观”的一大段时间,以至于最后计划中的任务可能只完成了一半。