zzxworld

我的 GTD 工具演变之路

GTD,英文全称为 Get Things Done,中文意思就是把事儿搞定。它是一套围绕收集,整理,执行等方面,阐述如何高效完成事情的方法。简单来说,这是一套教人做事的理论。围绕这套理论也衍生出了很多相关的思想和工具,不过今天我并不打算介绍这些方法和工具,因为网上能搜到很多相关的文章来了解它们。我只是想给各位朋友们分享一下自己在折腾这些方法,或是工具时的过程和想法。

从 Todo 开始

我接触 GTD 这个概念是在成为程序员之后。在此之前,我并没有觉得自己需要这方面的思想或工具。其原因无非是做的事情过于单一,每天要做的事情当天就能完成,这仅凭人脑就足以处理。

开始了程序员的职业后,要处理的事情也变得复杂起来。正在开发中的程序功能还没完成,准备要开发的功能就已经提上了日程。还有日常时不时会冒出的程序 Bug……。各种事儿不断涌来,像是要往一个 32MB 的内存中放 1GB 的文件。这显然超出了我大脑的处理能力。面对这种情况,「把安排的每件事儿都完成」这个看起来再正常不过的事情,就显得不再那么理所当然。要么因为忙 A 忽视了 B,要么就是忘了……。

我最初的解决方案是笔记本加笔,把要做的事情都一行行记下来,完成了就画一道线。这个方案简单方便,也很可靠,有效缓解了我总在担心忘记了什么事的焦虑感。但也不完美,对于有些事情,可能需要拆分成多个子任务后分步骤来执行。纸和笔显然没办法在两行字中间再挤出合适的空间来。再加上有些事情我希望能有到时提醒功能,所以我开始寻求专门的软件解决方案。从这时开始,我接触到了 Todo 软件。

Todo 翻译过来是待办清单,或是备忘录。现在随便一款智能手机都已经内置了这样的软件。使用起来很简单,把要做的事情录进去,做完后点下完成就好。从形式上来看,笔记本加笔其实也类似于一个 Todo 工具,只是不能做到像软件那样随意添加和编辑,以及定时提醒功能。对于我这种写字不仅慢,还很难看的人来说,也更愿意使用软件的 Todo 工具。

Todo 不等于 GTD,它只是其中的一部分。换种说法来讲,也就是 Todo 可以保证你不会忘记要做的事情,但并不能保证你能完成它们。Todo 治好了我的「健忘症」,但副作用是让我成为了一名「拖延症」患者。为了尽快清空 Todo 上的待办事项,我开始了解其他能提升效率的思想和工具。这其中最值得一提的是「番茄工作法」和「四象限法则」。

番茄工作法和四象限法则

番茄工作法据说是因为基于厨房用的倒计时时钟而得名。拧一圈计时 25 分钟,到时就会通过声音提醒计时结束。这时就要放下手头的工作,休息 5 分钟,然后开始下一轮番茄钟计时。使用这个方法的前提是把手头要做的事情拆分成能在 25 分钟内完成,然后通过一轮又一轮的「番茄计时」,稳步完成并推进待完成的工作。

我尝试过一段时间的番茄工作法,总体而言,有些效果,但并没有那么理想。从结果来看,每天看着点完的那么多「番茄」会很有成就感,也觉得今天的工作状态很不错。但从过程来看,就很折磨人。每次开始前要记得点计时;任务需要拆分的恰到好处;随时要面对一些突发的干扰……,这对我来说都无法真正适应并接受这个工作方法,它让我感觉在事情之外又套了一层事情,多了一项「仪式」般的形式。但它提供的「拆分细化」的思想还是让我受益颇多,特别是在针对一些大的待办事项时。

至于「四象限法则」,则是帮我建立起了对事情处理过程中,应该提前考虑「轻重缓急」的处理思想。提前着眼于「重要」这个象限的事情,避免自己陷入「疲于应付不得不做」的泥沼中。

归于纯文本

从接触番茄工作法开始,我体验过很多不同的 GTD 软件,尝试来改善和提升自己的工作体验。其间针对自己的喜好还独自开发过自用工具。在使用这些软件时,总有一种不太顺畅的感觉。当时也说不明白到底哪里不对,直到看到一篇文章,讲的是国外一位牛人,几十年来只用 Windows 的记事本,以纯文本的方式来管理自己的待办事项。这启发我开始了一番新的尝试。

从 2009 年我尝试使用 Vim,这个文本编辑器就逐渐成了我手中最趁手的文本编辑工具。加上我每天的工作都离不开这个编辑器,如果能在这个编辑器中管理待办事项,显然是一件相当舒适自然,且不会影响到当前工作流程的方案。

Vim 本身有一个 Todo 扩展,我在体验后马上放弃了。在我看来,它虽然让我不用在 Vim 中完成代码编写后,还要切换到其他 Todo 软件中标记任务完成。但还是少不了需要按固定的步骤和方式操作事项。没有上面提到的那位牛人用纯文本管理时所应有的自由感。所以我也决定开始尝试纯文本。

我最初定义的纯文本格式很简单,就像如下这样:

[x] 完成评论功能。
[ ] 完成标签功能。

标记为 x 的就表示已完成。但问题是这并不直观,而且在拆分细化任务时,无法体现从属结构。于是我想到了 markdown。Vim 本身支持带颜色的高亮文本显示,搭配 Markdown 的纯文本语法,很好的达成了我的目的。于是我最终确定了如下格式:

> * 完成评论功能。
  + 完成标签功能。
    - 完成后台页面标签管理功能。
    - 完成前台标签汇总页面。
    - 完成前台标签文章列表页面。

使用 Markdown 的列表语法来表示每项任务,通过列表层次来直观的体现拆分事项。使用 > 符号来表示完成状态。搭配文本文件编辑的自由度,我找回了最初使用笔记本加笔来管理待办事项的自由感。这个格式在我的 Vim 中实际显示效果如下:

Screenshot.png

为了方便在终端窗口随时调出这个待办事项,我映射了一个 todo 命令:

todo='vi ~/Documents/zixing/todo/default.md'

这样使用起来就方便多了。根据需要我还可以使用 Markdown 的标题语法来对任务进行分组:

# 进行中
> * 完成评论功能。
  + 完成标签功能。

# 待处理
  ...

目前这套简单的组合工具我已经使用了快五年时间。在这段时间里,我没有想过要找其他的同类型软件来替代它。它使用起来极度方便,自由度和灵活性也非常高。就像使用 Vim 一样,我对它的操作也已经形成了肌肉记忆。所以在可预见的未来,我依然还会继续使用它。

但同样需要承认的是,它并不完美。比如没有定时提醒功能,所以我还是要依赖于系统提供的备忘录软件来作为补充。对于那些非重度终端环境使用者的朋友,它也不具备可借鉴的价值。总的来说,这只是适用于我的一套 GTD 方案。