人们很可能像上星期那样安排这星期的时间。当然,随着工作的不同,也有很多例外的情况。
为了制定切实可行的计划,必须对所用的时间进行跟踪。如果问上周的时间是怎么利用的,一般人都认为很容易所出每项工作花了多少时间,但是当看到实际的数据时,很可能感到十分惊讶:花在编程上的时间比估计的少得多,花在消遣的时间比预期的多得多;乐意做的事情做的特别快,用的时间也似乎特别少,令人头疼的事情占用的时间似乎比实际花费的时间多得多。要搞清楚时间都用在什么地方,必须对时间进行跟踪,保留一份准确的记录。
为了检查时间估计和计划的准确性,必须把它们写成文档并在今后与实际情况进行比较。做计划是一种技能,学习制定好的计划,第一步就是要先做计划,然后把该计划写下来,以便今后与实际数据相比较。
为了制定出更准确的计划,需要知道以前的计划中存在哪些错误,哪些地方可以进行改进。当按照计划进行工作时,记录下所花费的时间。通过比较文档化的计划和实际的结果,就可以发现计划中存在哪些错误以及如何改进做计划的过程。制定准确计划的关键就??较,然后就会知道如何才能制定出更好的计划。
为了管理好时间,首先制定时间分配计划,然后按照计划去做。制作计划容易,但真正实施计划是困难的。特别开始的时候,按照计划进行工作可能比较困难,你可能会有很多借口,最常见的就是这份计划制作的不好。但只有按照计划去做,你才能知道它的优劣。
按照计划进行工作有三点好处:第一,了解计划存在哪些问题,有助于更好的计划下一个项目。第二,按照好的计划完成工作。这看起来不重要,但是事实上软件工程中的许多错误都是由于考虑不周、粗心大意或是不注意的小细节而造成的,按照好的计划工作是避免这些错误的最好途径。另一个更加微妙的好处就是它实际上在改变你的工作方式,有了计划就不用浪费时间去考虑下一步要干什么,它会帮助你把精力集中在所中的事情上,很少分心,从而提高了工作效率。 将主要活动分类。在开始分配时间时,你会发现大部分时间都用在相对很少的几个活动上。
记录每项主要活动所花费的时间。坚持记录时间需要很强的自我约束能力,要想进行精确的记录,必须记录下每件主要工作开始和结束的时间。除非你知道自己实际上用了多少时间,否则就不可能管理好使用时间的方式。
用标准的方法记录时间。必须使用标准的时间日志。因为需要采集的时间数据的数量增加得很快,如果不认真记录和存储这些数据,它们很可能丢失或变得混乱,这样很不利于查找或对它们进行解释。如果不打算对这些数据进行适当的整理、归纳,就根本不必要去收集数据。
以分钟为测量单位。工程是在完成任务中不间断工作的时间一般都少于1小时,因此以小时为单位对工作时间进行测量不能提供用以计划和管理工作所需要的详细数据,而用分钟跟踪时间容易得多。一旦决定进行时间跟踪,用分钟作为测量单位将比用小时更恰当。
处理中断时间。采用表2.1跟踪时间时,一个常见的问题就是中断。电话、聊天、偶尔的烦恼以及必要的休息打断的次数多得令人吃惊。中断的时间不是有效的工作时间,并且变化幅度很大,如果不对它进行测量,实际上就在时间记录中加入了一个随机数,也就很难使用时间数据来计划和管理时间了。事件日志中的数据能帮助你了解工作被打断的频率。多数中断不仅浪费时间,还会打断你的思路,导致效率降低和错误的产生,因此了解被打断的频率有助于提高工作的质量和效率。
将时间数据保存在合适的地方。记录时间花费情况值得推荐的方法就是用工程记事本来记录时间以及其他的事情。对一个软件专业人员,工程记事本用途很多,可以记录时间日志、程序设计方案以及运算结果,可以作为你所遵循正确的工程实施方案的凭证,可以记录下脑子里面一闪而过的想法。推荐的方法是从工程记事本的第一页开始向后记录主要活动及其所花费的时间,最后一页开始向前记录时间日志。记录主要活动及其所花费的时间,最后一页开始向前记录时间日志。
周活动总结表。通过采用时间日志收集时间数据后,你就能渐渐明白自己是如何支配时间的。但是时间日志中的数据过于详细,需要用一种更有用的表格来总结这些数据,周活动总结表能够很好的完成这个任务。当然我们关心的时间不会只有一周这么短,还需要一段时间内在各类任务上花费的平均时间、最大时间和最小时间。因此采用表2.2所示格式。周活动总结表中的数据可以帮助你了解时间都用在那些地方,还可以使用这些书对以后的几周进行计划。例如,有了这些数据就能判断出一个大的任务所需要的时间可能接近总结表中的最长时间,而一个简单的任务需要的时间可能接近最短时间。
记录时间的提示。随时准备好工程记事本;当偶尔忘了记录开始时间、结束事件或中断时间,凭记忆尽早作出估计;及时总结记录的时间数据。