跳到主要内容
阅微漫记
返回

如何把年度计划,改成可以持续迭代的「敏捷开发」模式

以前每到年底,我都会有一种很熟悉的感觉。

该做年度总结了。

然后开始回顾这一年做了什么,哪些事情完成了,哪些没有完成。

接下来,再认真写一份明年的计划。

工作。

学习。

家庭。

身体。

副业。

个人成长。

最好每一个领域都写得清清楚楚。

甚至会给自己安排到月份。

一月份做什么。

二月份做什么。

三月份做什么。

看起来非常完整。

那一刻,我通常会产生一种错觉:

明年的生活,好像已经被我设计好了。

但真正到了第二个月,计划就开始变形。

工作突然来了新的事情。

家庭出现新的安排。

原本想学的东西没有学。

原本准备做的项目推迟了。

某个计划做到一半,突然发现自己根本不想做了。

到了年中,再打开年初那份计划。

经常会发现:

里面很多东西,已经和现实没有关系了。

以前我会觉得:

“是我执行力不够。”

后来我开始怀疑:

也许问题不是我没有执行好年度计划,而是我用了一种不适合人生的计划方式。

程序员应该很容易理解这种问题。

你很少会在一月份把整个项目未来十二个月的所有代码全部写完,然后规定自己接下来一年不能改变。

因为你知道:

需求会变化。

用户会变化。

技术会变化。

环境会变化。

甚至你自己对产品的理解也会变化。

所以软件开发后来逐渐形成了一套更适合不确定环境的方式:

敏捷开发。

这让我重新思考了一件事情:

人生的年度计划,

是不是也可以敏捷一点?


我们真正需要的,可能不是“年度计划”,而是“年度方向”

传统年度计划有一个很大的问题:

它很容易把“目标”和“路径”混在一起。

比如:

今年我要做一个副业。

于是开始写:

第一季度学习。

第二季度做产品。

第三季度推广。

第四季度变现。

看起来非常完整。

但这里其实隐藏了一个很大的假设:

我在年初就已经知道正确的路径。

可是现实往往不是这样。

尤其是人生里的事情。

我可能知道自己想增加收入。

但不知道具体应该通过什么方式。

我可能知道自己想做内容。

但不知道什么内容真正适合自己。

我可能知道自己想拥有第二增长曲线。

但不知道最终会长成什么样。

这时候,如果我硬要在年初把路线规划完整,最后很容易出现一种情况:

为了完成计划,而继续执行一个已经被现实证明不合适的方案。

所以现在我越来越倾向于:

年度计划不要写得太细。

年度只回答一个问题:

这一年,我准备把人生系统往哪个方向移动?

至于具体怎么走。

留给后面的迭代。


年度计划,其实更像产品 Roadmap

软件项目里有一个很重要的概念:

Roadmap。

它不会告诉开发团队:

“2027年3月17日下午2点,必须完成某一个具体功能。”

它更多是在描述:

我们未来一段时间准备解决什么问题。

希望产品往什么方向发展。

哪些能力需要逐渐建立。

这其实更适合人生。

比如我现在比较关心的事情:

职业的稳定性。

第二增长曲线。

个人影响力。

家庭。

个人能力积累。

这些可以成为我的年度方向。

但具体怎么实现?

可以变化。

甚至应该变化。

因为我真正需要的是:

方向稳定,路径可变。

而不是:

路径固定,现实必须配合。


然后,把一年拆成一个个 Sprint

如果一年只有一个计划周期,很容易出现一个问题:

年初特别有动力。

年底突然发现:

“怎么一年又过去了?”

中间发生了什么,很少有人认真检查。

所以我更喜欢把一年拆成多个短周期。

比如:

一年 → 季度 → 月度 → 两周。

这就很像敏捷开发里的 Sprint。

但这里有一个非常重要的区别:

Sprint不是把年度任务机械切成12份。

而是:

每一个周期,都重新决定下一步最值得做什么。

比如我今年希望建立自己的第二增长曲线。

第一个 Sprint,我可能只是验证:

有没有一个真正愿意持续输出的内容方向。

第二个 Sprint,可能发现:

内容方向没问题,但生产成本太高。

于是下一轮优化的就不是“多写文章”。

而是:

如何降低内容生产成本。

再下一个 Sprint,可能发现:

阅读量还不错,但没有形成用户连接。

于是下一轮开始测试:

社群、邮件、产品或者其他承接方式。

这就是敏捷开发真正有价值的地方:

每一次迭代,都不是为了证明上一轮计划是正确的。

而是为了获得新的信息。


我以前最容易犯的一个错误:把计划当承诺

以前我制定计划的时候,会有一种心理:

既然我写下来了,就一定要完成。

于是计划慢慢变成了对自己的承诺。

问题是:

当现实发生变化以后,我明明已经知道原计划不合理了,却还是不愿意修改。

因为修改计划,会让我感觉:

“是不是我又失败了?”

于是出现一种很奇怪的状态。

计划已经失效。

但我还在努力维护它。

这和软件系统里的技术债很像。

一个设计当初可能是合理的。

但随着环境变化,它可能已经不适合了。

如果因为:

“这是当初设计好的。”

所以永远不允许修改。

最终维护成本只会越来越高。

所以现在我更愿意接受一个事实:

计划本来就应该允许失败。

甚至可以说:

一个不能被修改的计划,不是一个好计划。


敏捷不是“想做什么就做什么”

这里也很容易产生一个误解。

如果计划一直调整,那是不是意味着:

“我今天想学编程,明天想做自媒体,后天想创业,反正都可以调整?”

当然不是。

敏捷不是没有方向。

而是:

方向稳定,实验灵活。

比如:

我今年确定要建立第二增长曲线。

这是方向。

但具体是内容、产品、咨询、工具还是其他方式,可以验证。

我确定要提高个人影响力。

这是方向。

但具体通过公众号、小红书、视频、播客还是其他渠道,可以测试。

我确定要给未来增加选择权。

这是方向。

但具体积累什么能力,可以根据反馈调整。

所以真正需要锁定的,不是所有任务。

而是:

你这一年真正想解决的问题。


每一个 Sprint,都应该有一个最小目标

以前我的计划经常写得特别大。

比如:

“今年完成个人品牌建设。”

这句话其实几乎没有执行意义。

因为它太大。

什么叫完成?

不知道。

后来我开始尝试把它变成一个 Sprint 可以验证的东西。

比如:

这两周,完成4篇内容。

观察:

自己是否能够持续。

读者是否有反馈。

哪些主题更容易产生讨论。

生产一篇内容需要多少时间。

然后下一轮再决定。

这里有一个非常重要的变化:

我不再要求这一轮解决全年问题。

我只需要让这一轮比上一轮多获得一点信息。

这其实就是敏捷开发里的迭代思想。


计划里应该有一个“Backlog”

我现在越来越喜欢把那些“以后可能做”的事情单独放起来。

不要一想到什么,就立刻加入当前计划。

比如:

想学一个新技术。

想做一个新产品。

想开一个新的账号。

想读一批书。

想研究一个新的方向。

这些事情都可以进入 Backlog。

但:

进入 Backlog,不等于马上执行。

真正进入当前 Sprint 的事情,需要经过一次筛选。

问自己:

这件事情现在真的重要吗?

它是不是当前阶段最值得验证的问题?

如果不做,会产生什么影响?

如果做了,能够获得什么新的信息?

这样可以避免一个很常见的问题:

计划越来越长,注意力越来越碎。


我还需要一个“回顾会议”

敏捷开发里面有 Retrospective。

这个东西对人生特别有价值。

因为很多人会复盘结果,却不会复盘系统。

比如:

这个月没有完成阅读计划。

传统复盘可能会说:

“时间管理不好。”

“执行力不足。”

“拖延了。”

但如果用敏捷的方式,我会继续问:

这个 Sprint 为什么没有完成?

目标是不是太大?

是不是同时启动了太多事情?

是不是工作占用了预估之外的时间?

是不是这个目标本身已经失去意义?

是不是我根本不想做?

是不是反馈告诉我应该换方向?

这样一来:

复盘的对象,就从“我”变成了“系统”。

这也是我越来越喜欢工程思维的原因。

它不会第一时间骂系统。

它会先看:

哪里出了问题?

为什么?

什么假设错了?

下一轮怎么调整?


一个真正有用的年度计划,应该允许出现“删除”

以前我总觉得:

计划就是不断增加事情。

今年我要:

学习这个。

完成那个。

建立这个。

坚持那个。

最后整个年度计划越来越庞大。

后来我发现:

成熟的计划系统,最重要的能力之一其实是删除。

如果某件事情已经不重要了。

删掉。

如果某个方向验证失败了。

暂停。

如果某个目标已经不再符合当前阶段。

重写。

如果一个习惯只是在消耗自己,却没有产生真正价值。

停止。

这不是半途而废。

这是迭代。

软件开发里,一个功能被删除,并不意味着产品失败。

它可能只是意味着:

我们获得了新的信息。


我现在会把年度计划拆成四层

如果让我重新设计自己的年度计划,我可能不会再写一张巨大的 Todo List。

而是分成四层。

第一层:年度方向

只回答:

今年最想解决什么问题?

比如:

建立第二增长曲线。

增加家庭和工作的稳定性。

提高个人影响力。

这些是方向。


第二层:季度主题

每三个月只解决一个相对明确的问题。

比如:

第一季度:找到能够长期输出的内容方向。

第二季度:建立稳定生产流程。

第三季度:验证商业化可能性。

第四季度:总结和重构。

当然,现实发生变化以后,季度主题也可以调整。


第三层:Sprint目标

每两周或者一个月,选择当前最值得验证的事情。

不是:

“完成全年目标的十二分之一。”

而是:

“这一轮,我最想获得什么信息?”


第四层:每日任务

最后才进入 Todo List。

也就是说:

任务应该是战略推导出来的,而不是任务堆积成战略。

这是一个非常重要的区别。


我越来越觉得,人生真正需要的是“反馈循环”

传统计划更像:

目标 → 计划 → 执行 → 年底检查。

敏捷模式更像:

目标 → 假设 → 小规模行动 → 获得反馈 → 调整 → 再行动。

它不是:

Plan once, execute forever。

而是:

Plan → Do → Review → Adjust → Repeat。

这可能更符合40岁之后的人生。

因为年轻的时候,我们可能拥有更多确定性。

觉得只要努力,就能够按照计划得到结果。

但到了后来,影响人生的变量越来越多。

行业变化。

家庭变化。

身体变化。

技术变化。

机会变化。

甚至你自己也会变化。

所以:

一个允许自己改变的计划系统,可能比一份看起来完美的年度计划更重要。


年度计划不是为了预测未来

这可能是我现在对计划最大的一个改变。

以前做计划,是想提前知道:

明年我要做什么。

现在做计划,更像是在告诉未来的自己:

我准备往哪里走。

至于具体怎么走。

到了那里再看。

这其实和软件开发很像。

我们并不是因为不知道未来,所以才迭代。

恰恰是因为知道未来不可能完全确定,所以才需要迭代。

人生也是一样。

我不可能在40岁的时候,把45岁的自己完整设计出来。

甚至明年的我,可能都会和今天的我不一样。

所以我现在不再要求自己:

“一定要把这一年规划得非常完整。”

我更希望:

每一次迭代,都比上一轮更接近真正想要的生活。


最后,我想给自己的年度计划加一个新的定义

以前我理解的年度计划是:

我要在一年里完成什么。

现在我更愿意把它理解成:

这一年,我准备验证什么,积累什么,改变什么。

完成当然重要。

但更重要的是:

有没有获得新的认知?

有没有形成新的能力?

有没有发现错误的方向?

有没有减少不必要的事情?

有没有让下一轮决策变得更容易?

如果有。

那么即使某些目标没有完成,

这一年也不是失败的。

因为人生不是一次性交付的软件项目。

它更像一个持续运行、持续产生新需求、持续受到外部环境影响的复杂系统。

我们没有办法一次把它设计完。

能做的,是不断观察。

不断反馈。

不断调整。

不断重构。

所以从今年开始,

我可能不会再问自己:

“我今年的计划完成了多少?”

我会更想问:

“这一年的几轮迭代之后,我是不是比年初更清楚自己要什么了?”

如果答案是肯定的。

那这套系统,

就在向前运行。

而我,也还在继续 Debug。


分享这篇文章:

上一篇
如何用「接口契约」的思路,管理好和家人的边界
下一篇
如何用日志思维,记录并复盘自己的每一次关键决策