时间管理、trello与omniFocus使用对比、异步式工作流

今天可能是我两月以来最轻松的一天。

上面这么说,可能有点夸张,但是却非常符合我今天的现状。因为就本质来说,事情甚至比昨天多,但是我的心态却和昨天是天差地别。

来说说我的具体情况吧,本身是偶尔会拖沓一下的人,但是大部分事情都会立马去做,并且加班加点也想要快点做完。但是却反而总有做不完的事情。

而因为公司组织结构的调整,一方面不熟悉,另一方面这两个月来事情也确实非常多。原本习惯性会用trello记录下平时想要做的代码优化、流程优化以及其他各种各样的事项,类似:

trello

以上只是其中的一小部分。随着事务的增多,trello面板上的事项越来越多,渐渐排满了面板。并且,就算区分了重要程度和紧急程度(比如列了重要且紧急、重要但不紧急、紧急但不重要、不紧急也不重要这四象限),也并没有什么卵用,该呈现的面板内容还是那么多。无法一目了然确定当前要做什么事,以及剩余哪些事是下一件要做的。

另一方面,在时间、人员配置、以及组员时间安排上,无法很好处理。归根结底也还是面板展示内容杂乱,无法快速区分事务。

trello在去年7月左右开始用,到现在也有一年多时间,从最初管理个人时间以及自己的每周每一项任务(周报不用愁)

trello

期间也玩过各式各样的花样。但是越到后面,使用trello管理团队的时间和任务,越发察觉到瓶颈。也因为人员职责没有细分这一点,使得始终人不能尽其用,比如说不知道他们在做什么,做到什么程度,甚至东西做完没有还是等到周会才知道(因为没有一个时间节点提醒去跟进)。

并且伴随最近的事情越发地多,没有合理分配任务,以及部分重要任务积压。有时候做着这件事,做着做着,想到另一件事情、或者另外几件事情;或者别人一个QQ,就整个思绪被打乱了。导致工作着工作着,突然就有点喘不过气来,心脏都难受,写不动代码。

这样的状态持续着也将近两个月了,也将近两个月几乎每天两三点睡。好不容易正常了点的生物钟又彻底乱了。健康丢失,第二天没精神,情绪反复不定,消极。

我觉得需要这样一个工具来试着解决我当前遇到的问题,网上一直看到将omniFocus奉为神坛。于是昨晚硬是抽出没有的三个小时,熟悉了下概念与使用、并将trello的事务迁移到omniFocus上。

然后,不确定是否心理作用。心里的恐惧感,在今天,几乎没再出现。

omnifocus

收件箱(inbox),用来记录日常任何事情任何想法,这与之前trello的使用类似,但是日常工作中(其实也就今天)不太会关心inbox中的内容,这样也就不会给我造成事情好多,我该做什么,我该怎么做的一连串错觉。

每天整理,从inbox中挑选事务,安排到项目、以及指定上下文(类似谁、哪个地方),并安排好开始时间和结束时间

这样,项目视图中,我就知道了自己在什么时间要做什么,并且,没有在时间排期内的不提醒,也就无需关心当前时间之外的事务(即使关心了也无暇去顾及)。我只需要关注上图中右侧的提醒里具体的项即可。甚至,如果这都看着乱,可以点击聚焦,只聚焦到一个项目的一件事情上。

上下文视图中,因为我设置了人员配置。他们在什么时间做什么也是一目了然,也就可以合理安排自己的时间和他们的时间。

此外,它还解决了我以下的几个实际问题:

  • 有时候记性差:一些小改动项别人说完就忘了,现在只要随手记到inbox中就好
  • 记性太好:做事,看到trello看板上那么多事情,没法集中注意力,精神恍惚想到其他事情上去。而omniFocus的几个筛选,可以只关心在做的、马上要做的事情,或者聚焦的单独一件事情。
  • 事情太少,没有规划:inbox中一堆事情每天都可以安排着去做。
  • 事情太多,做不完:主要是心理的慌张导致。在不紧急的事情之外,处理掉inbox中一些耗时少的简单事务,其他时间,关注自己当前的事情即可。
  • 事情多而主次不分:整理完后条理清晰,排期外的事情,急着需要完成,能交接则交接,无法交接则评估优先级重新排期。

另外,基于前端写JavaScript的异步编程、事件型驱动,其实也大致可以理出一份做事准则。

先参阅这篇文章:JavaScript 运行机制详解:再谈Event Loop

所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入“任务队列”(task queue)的任务,只有”任务队列”通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。

js代码是单线程的,顺序执行。当一个元素绑定了一个click事件,用户点击了这个元素,这个事件函数被放到任务队列中。当主线程空闲,异步任务就会结束等待状态,进入执行栈,开始执行。

这和我们的日常工作生活是否很类似?

但是有个不同点是,js的异步是先进先出,而日常工作生活却需要依据重要性、难易程度来重新编排执行顺序。当优先级非常高,甚至需要暂停手上的工作进行高优先级任务;当自己空闲时,实际需要评估下自己的时间,然后快速解决一些简单、但是比较重要的事务。

而至于在“任务队列”的,相对重要但是不至于需要暂停手上更重要的事务的任务,实际上并不应该被“主线程”(大脑)关心的。“主线程”(大脑)只需要负责处理事务就好了,处理完了,去“任务队列”取一件安排好的事情或者未安排的小事情来做,大脑的工作其实也应该是这样。

而现实中的“任务队列”,实际上应该是自己在 其他时间 安排好优先级的事务列表。

这又让我想起了函数式编程,每个函数只负责细微的处理;也让我想起了代码最小模块化细分(代码封装与细化及其他思考)。

感谢:

感谢omniFocus,带给我的轻松愉悦。现在我只要把每天的事务,脑子里的东西倒到里面就好了。每个晚上的我,会花很少的时间整理事务的顺序和事务的具体内容。每个白天的我,只要负责处理既定的事务,不必再纠结于我要做什么、还有多少事情要做、时间怎么安排这类问题。

事情还是那么多事情,而我那紧锁的眉头放下了。