我在《我的时间管理工具》与《我的笔记系统》中分享过我不断演进的时间管理工具与笔记系统。在使用这些系统多年后,始终有个困惑萦绕在我耳边,那就是:
单纯的记录时间、笔记和资金是一种碎片化的行为,容易导致过于追求细节而忘掉全局,让自己成为一个忙碌的战略懒人。
时间管理、记账、记笔记、学习、写作、阅读、交流这些行为都不是最终目的,它们只是一种实现个人长期目标的辅助方法,如果做这些事对长期目标毫无帮助,那没必要浪费时间去做。
虽然我做了大量的时间与资金开销记录,但我也很难评估这些开销对实现长期目标有何影响。这种困扰可以看作个人时间管理的哥德巴赫猜想:
我知道我的时间有一半都被浪费掉,但就是不知道哪一半。
想解决这个问题,就得简化问题的复杂度,这个问题其实等价于以下两个问题:
经过一段时间的思考,我有了以下的简单模型去解决这个问题。让我们先对问题进行建模。
如果把人看作一个 Machine,这个 Machine 有输入有输出。最初这个 Machine 只拥有时间维度,逐渐它拥有了技能维度,同时积累了金钱维度。如果把时间、技能与金钱看作它的输入端,那它输出端就是金钱、技能与影响力维度。其中金钱和技能在输入与输出间自循环,一般是正向的。我们的金钱和技能都会随着输入与输出的循环而提升,而影响力其实就是知识的变体,我们通过知识去影响别人,通过知识去建立权威与信誉度,最终发展出个人品牌。这个流程看起来非常像是一场 打怪升级的游戏。这些抽象的维度落地后就变为时间管理系统(目标、任务与时间)、财务管理系统(记账、投资与保险) 与知识体系(写作、笔记与个人品牌)。
想象这个场景:通过设定个人 OKR,把一个个 Key Result 拆解为一个个 TODO Task,用时间管理工具去追踪这些 Task 的时间开销,用财务管理去追踪这些 Task 的金钱开销,用知识管理去追踪这些 Task 的笔记,那我们是可以知道每个 Objective 的时间与资金开销,同时也能知道这个 Objective 的输出笔记产物有哪些,最终输出的影响力程度。通过不断优化输入与输出端,我们可以形成高效的学习能力,更好的适应外界的变化。如何优化?就需要记录输入与输出端各个维度的数据。通过记录底层维度数据来把控高层目标的实现。从时间与财务性价比的角度看一个个最终执行的任务,如果某个任务能更好的推动 OKR 目标的实现,那这个任务的投入就有价值。
理想的情况是,每个人拥有自己的输入与输出各维度的 Dashboard,这样就能从宏观视角看到自己每天做的事情的价值。我们可以量化每件事情的投入产出比,去优化自己的处理流程。
在对问题建模后,我现在的业务需求是:
下图是一个从个人愿景到 OKR ,之后从 OKR 生成每日待办任务,追踪任务相关时间、资金与笔记的流程图。
我的系统实现原则是尽可能用开源的工具组合实现我的需求。所以基本原则有以下几条:
如果直接选现成的方案,一定有人会提到这篇 《Organize Your Life In Plain Text!》。这篇超过 10 年历史的文章看起来如 Emacs 一样强大而久远。用 Emacs 做的确符合以上所有基本原则,问题在于我不是一个 Emacs 专家,我不想学数年 Emacs 后再开始解决这个问题。我的思路是花最多不过一周时间去用开源工具组合出一套解决我需求的方案出来。一周时间,我可能连 Emacs 快捷键都记不住。
当我看到这篇《Blog graph》 和 《Map of my personal data infrastructure 》时整个人都震惊了。作者全部自己动手做了一套类似的系统去管理他的人生。如果我有时间的话我一定会这么尝试去做,但是我没时间。
这套系统实现的关键在于需要有 Tag、TODO、笔记管理、记账等功能,记账可以用 Beancount 去做,只需要结合它的 Tag 功能就可以追逐相关 Tag 的开销。那么只需要选择一个具备 Tag 和 TODO 功能的开源笔记工具就行了。这么看来我们可选择的很有限了。
以最近大热的 Roam Research 为例,它开启了不少笔记工具的新特性:反向链接、右边栏、每日笔记及图数据库。最重要的其实是它的图数据库特性,因为当一个工具具备了数据库的查询能力时,结合插件特性我们可以做出非常多的应用场景。可惜的是它是一个商业软件且不开源( Notion 也因为这个原因被排除),所以我找到了一个具备它很多特性的开源软件 Logseq,Logseq 本身受很多笔记工具的启发,如 Roam Research、Tiddlywiki、Workflowy 与 Org Mode 。
在把玩了几天 Logseq 后我发现最强的就是它底层的 DataScript 内存图数据库,可以通过高级查询做很多自定义界面。这样就可以满足我们的很多需求了,比如生成每日待办任务,根据 OKR 生成的 Tag 来过滤和 OKR 相关的任务,统计相关任务的花费时间等。
目前 Logseq 还在开发插件系统,等插件系统上线后,很多难以实现的功能都可以通过插件来完成。当然我的需求还不需要插件系统的支持,光高级查询就可以满足。
当确定了笔记工具和记账工具后,我最终的方案如下:
各工具的职责如下:
最右侧有颜色的三个框就是我的愿景最关注的三个领域了,我的所有输出都会和这三个领域相关。
使用 Logseq 完成的最终效果如下图:
每天我都可以在 Logseq 系统首页看到以时间四象限划分法而划分的待办任务。具体如下:
底部的区块是和 OKR 相关的信息,让我可以快速了解到目前最重要的 Objective 有哪些。
当然这个系统远不止如此,更多的信息我会新开一篇文章来介绍如何用 Logseq 实现这些功能。也会写一篇文章介绍如何基于文本使用 Beancount 做复式记账。
文/Thoughtworks马大伟
原文链接:https://insights.thoughtworks.cn/life-management-based-on-open-source/