最近一直在用 Microsoft To Do 记录自己要做的事,但是用多了之后越发觉得不爽,于是有了这篇文章。
现状
目前我每天用 To Do 和公司内部 Jira 管理自己要做的事。
Microsoft To Do(微软待办)是一个典型的 Todo 列表软件:有一个完整的任务池可以随时添加任务,有多个任务列表,任务可以拆分为子任务/步骤(但不能进一步拆分),任务有完成状态、标签、星标、详情、截止时间、附件等常规属性。
比较创新的是 My Day / 我的一天功能:App 每天会从任务池中推荐一些用户可能想要完成的任务,用户可以选择添加进 My Day 中;每天开始时 My Day 列表都会被清空,没完成的任务回到任务池中,需要用户再次选择性地添加。推荐的任务一般是上一天的 My Day 列表中没完成的任务和最近添加到任务池中的任务。这样每天构建当日列表时既可以回顾上一天的完成情况,也可以规划今天要做的事。其他常见的 Todo 软件如滴答清单、Doit.im、Any.do 等都和微软待办大同小异。
Jira 已经是许多互联网公司的标配了,其主要的组成部分 Scrum 和 Kanban Board 都有对应的理论和实践体系,不再赘述。相比于 Todo 类软件,Jira 主要用于项目管理、产品开发、问题追踪,使用者往往是多人团队,有 Owner 进行任务分配、追踪和回顾。按照公司的组织架构对总体目标进行逐层拆解和细化,自然地分配到每一个人。
Jira 和 Todo 软件的区别是,Jira 作为项目管理工具,注重阶段成果(Milestone、Release),所以更重视时间的概念,比如 Sprint 的定期流转;个人 Todo 不强制,任务主要来自个人的长期目标和临时事件。
Scrum Board 的 Sprint 界面可以明确地看到自己本周的任务,其中 In Progress 的事是今天/立即要做的事。但是 Sprint 中的任务是提前制定的,无法顾及具体执行时的各种细节,所以可能需要在实践时自己对任务进行细化和记录,此时维护一个轻量的 Todo list 就可以很好地补充 Jira 工作流。
除了工作,生活中的事我也用 Todo 管理,想到什么都可以丢进去,必要时增加一些描述和期限,并借助 My Day 列表推进任务完成。以上就是我目前的任务管理工作流。
我的需求
时间久了发现微软待办的模型不符合我的各种需求,比如:
任务无法归档,只能删除
归档对应 Jira 里的 CLOSED 状态,即“这个任务暂时做不了/不需要做,目前不需要再关注了,丢在系统里日后再找回来”;而微软待办中的删除则是彻底丢了数据,所以没有一个“暂时不想看见某个任务”的操作。一个 workaround 是建立一个叫做已归档的 List,但还是不够优雅。
没有长期关注的任务
微软待办产品设计上强调今日而淡化长期目标。我理解设计者期望用户把目标拆分到任务的粒度再用 Todo 列表管理,但这也带来了额外的成本,比如需要把目标列在别的 list 甚至别的 app,每次规划 My Day 列表时手动从目标派生出任务。
Important 列表非常鸡肋
在产品设计聚焦于 My Day 列表后,用户大多数操作都只与 My Day 列表有关:每天早上从建议的任务中挑选任务构建列表,中途与 My Day 列表中的任务交互,晚上适当回顾。这导致 Important 列表虽然与 My Day 并列且交互便捷(任何任务都可以通过点击星标添加到 Important),但无法被用户关注。
那么为了理清我的需求到底是什么,先把我认为的“要做的事”分类,并决定分别如何管理。
提醒、备忘类
一般是生活琐事,如购买生活用品;或瞬时的任务,如会议前的提醒。这类活动我一般用微信/企业微信设定提醒,在适当的时候提醒并执行即可,不需要花费精力去关注。
今日任务
这是最重要的部分,每天需要反复检查。一般出现在任务管理 App 中最显眼的部分,期望当日完成。
计划
这是相较于今日任务而言更长期的任务,比如周、月、季度等,粒度较粗。虽然不会像今日任务那样每天频繁检查,但是需要被定期浏览,比如每天看一遍,保持关注,否则很难转化为实际行动。
这里举一个反例,自己曾经列了一份计算机专业课学习计划,包括每个 topic 对应的教材和名校课程 ID,并设为了手机锁屏壁纸,希望自己随时都能看到。但锁屏壁纸其实最容易被忽略,看到锁屏时往往是要立即解锁然后打开某个 App,而不会关注锁屏上的内容。最后这份清单在手机锁屏界面上躺了一年,并没有起到任何作用。
期望、目标
比计划更宽泛,一般是简单的短语,如“坚持健身”、“提升自己的技术”、“保持乐观”等,性质类似座右铭、格言等,需要时刻记着,常常想起,所以它反而比计划更需要被频繁看见。
想法
一些灵光一现但不成熟的点子,后面也许可以投入精力,但暂时只记下来。这些想法不需要作为“任务”被“管理“,可以记在 OneNote 之类的笔记软件里,和其他笔记一样定期整理。
通过上面的分类分析,最终决定把今日任务、计划以及期望放在任务管理软件中,确保足够的关注,驱动自己执行。
更适合我的方案
某一天突然想到,类似 Kanban 那样的分栏界面非常符合我的需求。但是,不同于 Kanban 用栏目标记状态,我打算用栏目区分性质,任务、计划和期望分别放在各自栏里。
任务分为今日任务和近期任务两栏,近期任务可以理解为明日任务,拆分粒度和今日任务一样,但不是今天做。今日任务应该放在左边,保证被最先看见;近期任务应该放在最不显眼的地方,比如最右边,因为它肯定会被做,所以不需要今天关注;每天早上把其中的任务拖到今日任务栏即可。
计划单独一栏,也可以把所有计划进一步按时间维度细分为周、月、季度和年度计划,但这样可能会挤占界面空间,毕竟我们希望确保近期计划和期望都能被显眼地看见。
期望和计划类似,单独一栏,时刻关注,甚至可以放在今日任务的左边一栏。
所以我们的界面应该长这个样子:
这里是以 Teambition 作为工具,但其实任意一个支持多栏布局和拖拽项目的 App 都适用,比如 Trello、Worktile 等。
如前所述,今日任务需要每天反复检查,每天把任务池中的部分任务拖入今日任务中。
对于计划和期望两栏,需要有一定的机制保证执行。对于计划,需要定期派生出任务并放入任务池或今日任务;对于期望,可以直接拖入今日任务栏,完成一定的量(锻炼半小时)后拖回期望一栏,从而可以长期关注并执行。
工具之外
当然,要想让这一套工作流生效,真正提高效率,更重要的还是在于人本身:是否能坚持对任务的关注和执行,是否能投入精力规划生活和工作,这些都是比工具更重要的事。就像代码一样,Lint、Sonar 等工具也许可以一定程度上保证代码的质量,但归根结底需要编写者本身重视代码设计、性能和风格。当然,要让每个人都对代码保持敬畏未免要求过高;Lint 工具什么的,有总比没有好。