Scrum敏捷开发对个人任务管理的启示
这段时间参与开源社区,合作模式使用的是 Scrum,敏捷开发的一种。我这几年一直在尝试做任务管理,但断断续续的效果不好。惊奇地发现 Scrum 可以迁移到个人的任务管理上。
什么是 Scrum
我对 Scrum 的理解
Scrum 的优点
- 迭代快,带来的响应速度快(对新需求的响应)
- 快速验证。第一次是最小可行化产品,每次 Sprint 都是增量迭代,结果都是可发布的产品。
- 快速调整。
我之前的任务管理方式
最开始我也尝试着用大多数人使用的日程管理模板,什么日计划、周计划、月计划、年计划,DDL是什么时候,有哪些 TAG,每个任务的花费时间是多少,等等。
这种任务管理看似很宏大,实际上也很宏大,似乎能囊括一生。
但是,用不起来。使用成本太高。
用不起来,就等于没有。
所以我做了一套简化版的 Notion 任务管理工具,它只用来短期日程管理,我觉得能把今天和明天都安排好就不错了。它的核心是这样的:
- 一张总表,todo list。
- 每个任务有一些标签,如「今日」、「明日」,重要性、紧急性。
- 多个视图,每个视图设置了一定的筛选规则,例如只显示重要程度为5的任务。视图会根据总表的标签和属性自动渲染。
使用方式是这样的:
- 有了新的 todo 的时候,直接加到总表里,打上相应的标签。
- 每天晚上,需要做完带有「今日」标签的任务,并把带有「明日」标签的任务改为「今日」标签。
- 白天的时候,只看某几个视图,比如「今日」视图、「重要」视图。
详细介绍:一个基于Notion的短期日程管理
上文写于几个月前了,在使用的过程中,我又精简了一些不必要的字段,争取让它更简单,能坚持用下来。
Scrum 如何帮助任务管理
总结之前的任务管理方式
之前的任务管理方式,最大的优点在于精简(虽然视图规则做起来很复杂,但用起来都是全自动的,很简单),以及聚焦于短期。
所以最大的缺点也是,当任务特别多的时候,就显得吃力,因为缺乏中期的规划。
Scrum 与个人任务管理的关系
下面是 Scrum 概念与任务管理概念的对应: 事项概念:
- Product Backlog 即 Todo list。
- Sprint Backlog 即每个小阶段要做的事情,例如下一星期要做的事情。
- Burn-Down Chart,即每个 Sprint 的进度,可以用 Notion 的公式来做。 会议概念:
- Sprint Planning Meeting,在每个阶段开始前,规划这阶段要做的事情。
- Daily Stand-Up Meeting,每日站会,对应每日总结。对于团队来说,每日站会安排在早上,对于个人而言,我觉得安排 Daily Nightly Stand-Up Meeting 比较合适。
- Sprint Review Meeting,可以是阶段性复盘,也可省去。 角色映射:
- Product Owner,Scrum Master,研发团队:全是自己哈哈哈!
使用 Scrum 进行个人任务管理的流程
- 日常任务全部收集到 Product Backlog 里。
- 每周开始的时候,决定这周要做的事情,并且把这些事情放到 Sprint Backlog 里。
- 完成 Sprint Backlog 里的事情。
虽然看起来和普通的任务管理差不多,但这确实帮到了我。主要有两点:
- 带来了中期管理的解决方式,并且能完美融入我目前的任务管理方案。
- 带来了规范化的工作流。我是程序员,喜欢明确的语义,它准确地告诉了我为什么做,有哪些步骤,怎么做。这有助于我落实与坚持下去。
如何优化 Scrum 个人任务管理
Scrum 是用于团队敏捷开发的,针对于个人,我想出了一些优化的方式。
短期任务
加个标签「短期」,比如「今日」、「明日」。可以帮助我们更好地聚焦到今天和明天的事情。
并且专门建个「Recent」视图,根据标签自动渲染。
项目分类
Scrum 一般针对一个团队的一个项目。
而个人,有非常多的「项目」:生活、工作、学习等等。
如果每个项目一个面板,会很麻烦,我是这么处理多项目的:
只使用一个面板,使用标签区分项目。 每个任务都会有个项目标签。
- 在展示整个 Sprint 所有事项的时候,按照项目标签进行分类展示。还可以对项目设置优先级,比如「个人成长」的项目排在前面,暗示自己优先做。
- 在展示近期任务(今天、明天、固定日程)的时候,按任务完成状态显示(Todo、In Progress、Done)。每个状态内,根据项目标签进行排序。
时间安排
我不喜欢给任务打上固定的时间标签,也不喜欢提前安排几点到几点干什么,一是麻烦,二是很难照搬很累。我觉得适合我的方式是,告诉自己今天要做这么多事情,然后看哪件事顺眼就先做哪件。
但是有一类事情,时间是固定的,例如例会。
任务状态目前有这几种:Todo、In Progress、Done。
所以我又加了一类 Schedule,表示该任务是到点了就要做的。
任务状态的调整
Scrum 有个任务状态是 Blocked,表示任务目前被阻塞。
我调整成了 Follow Up,表示需要持续跟进,它不但代表任务可能被阻塞,也代表了有些不需要现在做,但需要持续跟进的任务。
Next Sprint
很多时候,当前 Sprint 只能做一部分任务,但有些任务又需要近期做,可以放到 Next Sprint 里,等下次 Sprint Planning 的时候就可以马上归入到下一期 Sprint 中。
有时候做着做着,发现当前 Sprint 的任务做不完了,又不紧急,也可以提前放到 Next Sprint 中。
但是不要,明日复明日,明日何其多哈哈哈。
每日总结
建个 Notion 的总结 Database,再创建个 Template。可以用来回顾今天的工作、计划明天的任务、写些感想。
今日任务完成情况与明日任务规划,可以用 @页面 的形式来直接引用。
目前方案的缺点
缺少目标管理,或许可以用 OKR 来做。
听不懂?
确实,我承认我写地很抽象。
我其实已经在用这套方案了,等我下篇博客!