1. 缘起:一次彻底的复盘失败,逼我拆出"rea"这套三段式
如果你有过这样的经历,应该能立刻共情:接手一个任务,花了一周查资料、看竞品、收藏了一堆网页,感觉准备工作做足了,结果真正动手时才发现,自己收藏的那些东西根本没法直接用。然后硬着头皮赶工,最后项目草草收尾。等到下一个项目开始,又重复一遍同样的循环——查资料、收藏、动手、赶工、遗忘。
我这边某个模拟项目的复盘会就是这样翻车的。当时我把项目从开始到结束所有邮件、会议记录、代码提交日志摊在桌面上,试图总结"这次哪里做得好、哪里做得不好"。结果发现两个尴尬的事实:第一,我根本说不清这个项目真正是从哪个节点开始"做对了"的;第二,大量所谓的调研过程,本质上只是缓解焦虑的"资料囤积癖",和最终方案没有任何关系。
这次失败让我意识到,问题不在于执行力,而在于整个工作流缺少一个结构化的推进框架。后来我把手头所有工作重新梳理,逐渐摸索出一套内部代号叫"rea"的三段式工作法。这里的"rea"是我自己定义的缩写:Research(调研拆解)、Execute(执行落地)、Analyze(复盘沉淀)。它不是那种花哨的时间管理理论,而是三个状态转换的过滤器——每个阶段都有明确的入口、动作和出口,做完才能进入下一阶段。
这篇文章就把这套方法的完整逻辑、实际使用的模板、一个虚构项目的真实推进记录,以及我跑了一年多之后踩过的坑和调整过的规则,一次性摊开来讲。
2. REA三个阶段的判定标准:不是流程,是过滤器
很多人一听"调研-执行-复盘"就觉得是老生常谈。但我真正想分享的不是这三个词本身,而是我在每个阶段内部设置的"完成判定标准"。没有这些标准,"REA"就只是几个字母贴在墙上的标语。
2.1 Research阶段:产出"可执行问题清单",而不是一篇笔记
Research阶段最常见的错误,是把"调研"等同于"大量阅读"。我在前几轮的尝试中发现,只要笔记里攒够了二三十个网页链接,人就会产生一种虚假的"我已经懂了"的安全感。但实际上,收藏夹里的资料有一半以上是重复的、过时的,或者根本与当前问题无关。
后来我把Research阶段的出口,从"整理一份资料笔记"改成"产出一份可执行的问题清单"。这份清单必须满足三个硬性条件:
- 每个问题都是明确的、可被回答的,而不是"如何提升用户体验"这种大而无当的开放式命题
- 每个问题旁边标注了可能的回答来源,包括已有资料、需要实测验证的假设、需要咨询的人
- 清单末尾列出"本次暂不回答、主动放弃的问题",防止中途被无关信息拐跑
为什么必须这样改?因为"可执行的问题清单"本质上把调研从信息收集变成了问题拆解。这里有一个我反复用的判断标准:如果在Research阶段结束时,你闭上眼睛能把这几个问题平铺在脑子里,而且能说出每个问题的答案该以什么形式呈现(一段代码、一张对比表,还是一个数值范围),那才算合格。如果只是"感觉资料够了",那不合格,继续拆。
2.2 Execute阶段:用"最小闭环"定义执行完成,而不是全部完成
Execute阶段是我踩坑最惨的一段。最初我的想法很朴素:既然调研做完了,那就按问题清单逐项实现,全部做完才算执行完毕。结果往往做到第四五个问题时,前面做的东西被推翻,于是回头返工。
REA真正改变我的,是把Execute阶段的出口定义为"最小闭环跑通"。什么是最小闭环?就是无论项目大小,先实现一条最核心的路径,让整个流程能从头走到尾,哪怕功能简陋、界面难看、数据是假的。这一步跑通了,才允许回头补细节。
举个例子。某个数据处理类的模拟项目,我最初列了十几个功能点:数据清洗、特征选择、模型训练、结果可视化、自动报告生成等等。按REA的逻辑,我不会从数据清洗开始一步步往后做,而是先搭一个最简管道:一条三行的脚本,把读数据、塞进现成模型、输出一个预测结果这三步串起来。整个过程可能不到半小时。但这半小时验证了一个关键假设:手头这份数据的格式是否完整、是否有缺失值无法通过现有接口读取、模型输出结果是否在合理区间。
这种做法的底层逻辑是:功能点之间存在依赖关系,很多后续功能依赖前面功能的假设。如果先做假设链路尾部的工作,一旦假设不成立,全部推倒重来。而最小闭环,是用最小成本验证核心假设链上最危险的那几个环节。
2.3 Analyze阶段:只分析偏差,不分析成绩
Analyze阶段是REA里我调整最多的。最初我把复盘做成"这次项目亮点总结",写了三条成绩、五条不足。但写到后面发现没多大用处——成绩部分看着开心,不足部分写的都是"沟通不够充分""时间预估不准"这种陈词滥调,既没有量化数据支撑,也没有指向下一步行动。
后来我把Analyze阶段的出口改成一个叫"偏差清单"的东西。核心逻辑只有一句话:把实际情况和你在Research阶段和Execute阶段所做的判断逐一对账,只记录偏差,不记录成绩。
偏差包括三类:
- 判断偏差:我当初预测这个方案能用,实际不能用;我估算了三小时工作量,实际花了八小时
- 环境偏差:外部条件变化导致原有计划失效
- 执行偏差:明知道该做的动作没做,或做了不该做的动作
每次复盘只整理偏差,然后从偏差里挑选一条,写成下个项目的Research问题。这样它就形成了一个闭环:Analyze的输出,直接成为下一次Project的Research输入。
3. 搭建REA的最小工具组合:不搞复杂系统也能稳定运转
我不太喜欢为了管理方法去安装一堆新工具。工具越多,维护工具本身就成了一个新的负担。REA跑起来之后,我实际用的工具组合非常朴素:一本支持Markdown的笔记软件、一个表格工具,外加一个跑脚本的终端。就这三样。
3.1 单张卡片的完整生命周期:从Research到Analyze的主记录
REA里最基本的单元是一张"项目卡片"。每个项目,无论大小,都对应一张卡片。卡片上有几个固定字段,我不断迭代之后保留如下格式:
| 字段 | 说明 |
|---|---|
| 项目代号 | 简短可检索的代号,比如 r202509-01 |
| 启动时间 / 关闭时间 | 记录真实耗时,用于校准时间预估 |
| R阶段问题清单 | 列出尚未回答的问题,回答后划线 |
| E阶段闭环记录 | 记录尝试了哪些最小闭环,结果如何 |
| A阶段偏差清单 | 逐条记录实际与预期的偏差 |
| 下一项目输入 | 从偏差里挑出的一个可迁移问题 |
这卡片全部放在一个文件夹里,按年月分组,文件名就是项目代号。好处是:它既是执行记录,也是一份可以翻回去查的证据库。我在复盘的时候不是靠记忆,而是从卡片里翻当初写了什么判断、做了哪个操作。
3.2 节奏控制:日检查、周盘点、月度归档
REA不是每天都要把所有阶段走一遍,那样会把节奏拖死。实际跑下来,我设置了三个时间检查点:
每天收工前做一次五分钟的"阶段状态检查",确认今天做的事属于哪个阶段、是否产生了阶段出口物。这个动作的价值不在于管理,而在于防止阶段之间的无意识跳跃。很多人上午还在调研,下午就写代码,晚上又回去查资料,一天下来四五个阶段切换,什么也没完成。
每周末做一次"下一周启停决定"。具体做法是:检查所有处于Research阶段的项目,如果问题清单已经收敛,就安排下周进入Execute;如果问题清单还在膨胀,就必须做出取舍——是继续投入,还是主动关闭。
每个月末做一次归档。所有已关闭的项目卡片统一封存,并在卡片上补一行"这个项目最重要的一个教训"。归档的意义是让有效信息集中沉淀,避免散落在各处。
3.3 可直接复制的REA记录单模板
下面是我实际在用的一个简化模板,去掉了一些项目内部字段,通用性更强:
# REA卡片 - 项目代号:[填写] ## R 调研拆解 启动时的原始需求:一句话 问题清单: - [ ] Q1: [问题描述](来源:[已有资料/待验证/待咨询]) - [ ] Q2: ... 主动放弃的问题:... ## E 执行落地 最小闭环链路:[核心路径描述] 尝试记录: - [时间] 尝试方案A -> 结果:失败,原因是... - [时间] 尝试方案B -> 结果:跑通 后续补全项:... ## A 复盘沉淀 偏差清单: - 类型:判断偏差/环境偏差/执行偏差,内容:[描述],影响:[描述] 下一项目输入:...这个模板我从投入使用起就没怎么改过,因为它足够薄,不会给人造成"又要填一堆表格"的心理负担。
4. 一个模拟项目的完整REA实录:从模糊想法到可复用SOP
为了让你能直观看到REA是怎么落地的,我拿一个完全虚构、但结构非常典型的小项目作为例子。这个项目不一定是你所在领域的项目,但它的推进路径具有可迁移性。
4.1 项目起点:一句话需求背后的四个未知
某天我(或者是身边的某位开发者朋友)接到了一个任务:把团队内散落在各处的工作日志、任务记录和数据报表汇总成一个可查询的存档库。简单来说,就是要做一个"团队知识存档"的小工具。
这个需求的原始描述只有一句话:让我们随时随地能找到过去做过的某个功能或某个决定。
听到这句话,大多数人会开始直接找工具,比如用某个现成文档系统建目录、设权限。但用REA的方式,第一步不是选工具,而是先把这句话背后未知的东西全部拆出来。
拆完发现至少存在四个未知:一是"记录"的来源格式五花八门,有文档、有表格、有即时消息截图,要统一吗?二是"查询"是人工翻找还是全文检索,还是需要结构化筛选;三是"可查询"的时效性要求,是要实时同步还是定期归档;四是"存档库"的规模上限,是几十份文档还是几千份。这四个未知任何一个不搞清楚,后面都会返工。
4.2 Research阶段实录:把问题拆成7个子问题
基于上面的四类未知,我在项目卡片的R阶段写下了7个子问题:
- 目前实际的记录格式有多少种,占比如何?
- 用户最常用的检索方式是什么(按关键词、按时间、按项目名)?
- 每年新增记录量的上限大概是多少?
- 是否有权限隔离的需求(谁能看哪类记录)?
- 现有记录是否在某个平台上有集中入口?
- 归档后查询的平均响应时间在什么范围内可接受?
- 后期是否需要与现有任务系统打通?
这些问题里,Q1、Q3、Q5可以通过快速抽样统计回答,Q2需要问几个实际使用者,Q4和Q7需要决策层拍板,Q6则留到Execute阶段实测验证。
完成清单后的判断是:可以进入Execute,但不需要一次性全部回答完。因为Q6和Q7依赖最终方案的具体形态,前置回答反而是浪费。
4.3 Execute阶段实录:三次失败和一次跑通的记录
按REA的规则,Execute阶段首先建立最小闭环。我的做法是:把"读取一份现有记录 -> 清洗切分 -> 存入本地索引 -> 通过简单查询接口返回结果"这条链路先跑通。
第一次尝试:直接写脚本扫描历史记录目录,生成一个全文索引。结果失败,原因是历史记录里存在大量重复文件和临时文件,直接扫描导致索引爆炸。
第二次尝试:加入基于文件类型和文件名规则的去重过滤。这次索引大小可控了,但查询结果出现乱码,原因是早期部分记录不是标准编码。
第三次尝试:在脚本里增加编码检测和转换逻辑。索引构建成功,查询结果正常,但是构建耗时太长,百万行记录的规模跑了将近九分钟。
第四次尝试:把索引构建改为增量更新,首次全量后只处理新增文件。这次跑通了,后续增量构建耗时降到秒级。
这段记录放在执行卡片上,看起来非常朴素,但它隐含了两层信息:每一行都是一次假设验证——第一次假设"文件都是有效记录"被推翻,第二次假设"文件名能代表内容"部分成立,第三次假设"编码是统一的"被推翻,第四次假设"每次都要全量构建"被推翻。
如果当初不看这几条,直接按"每天全量重建索引"的方案上线,后面的问题就是每天九分钟的空窗期,用户查不到新记录。这就是最小闭环的价值。
4.4 Analyze阶段实录:偏差清单与SOP化改造
执行完最小闭环后,继续补完了其余功能,比如权限控制、查询界面优化、定期任务调度。项目正式关闭之后,Analyze阶段整理出的偏差清单如下:
- 判断偏差:预估历史记录总量为几百份,实际抽样统计后发现超过四千份,导致首轮方案对规模估计不足
- 判断偏差:认为编码问题在历史数据中不会大量出现,实际约有15%的旧文件存在编码不规范问题
- 执行偏差:最初跳过编码检查直接做索引,属于"偷懒性省略",反而浪费了第一次尝试的时间
- 环境偏差:期间记录平台调整过一次目录结构,导致增量同步逻辑需要额外适配
这些偏差中,最有迁移价值的是"偷懒性省略"这一条。它反映出一个很普遍的倾向:执行时总想跳过看起来"不重要"的边界情况,结果边界情况恰恰是重头戏。这个教训被写进了下一项目卡片的Research问题里:在动手前主动盘点所有输入数据的异常形态。
5. 跑了一年REA之后,我踩过的坑和调整过的规则
REA这套方法听起来简单,实际操作起来有不少会被"默认忽略"的细节。这些细节不写出来,别人照搬容易走样。以下是我踩过最深的三个坑以及对应的规则修正。
5.1 坑一:Research过度,变成了"永远在调研"
有段时间我特别享受Research阶段的"拆问题"过程:逻辑清晰、有掌控感、还不用承担执行失败的后果。结果好几个项目在问题清单里躺了两三周,每次打开都觉得"还有一个问题没弄明白",迟迟不进入Execute。
表面原因是完美主义,实际原因是:我把Research阶段当成了一种避免失败的安全区。只要还在调研,就不会面临"方案跑不通"的打击。为了解决这个问题,我在规则里加了一条硬性限制:Research阶段最多占用项目整体计划工期的30%。超过这个比例,无论问题清单是否完整,都必须把未回答的问题显式标记为"风险项"并进入Execute。
5.2 坑二:Execute阶段做了Analyze的活,互相越权
另一个高频问题,是执行到一半忍不住开始"复盘",比如"我说过这种方法不行吧""当初就该选另一个方案"。反思本身没毛病,但在Execute阶段做复盘,容易产生两种副作用:一是当时信息不足,做出来的结论大概率是情绪化的;二是复盘占用了执行时间,让闭环更慢。
因此我把规则改成:除非出现足以推翻最小闭环核心假设的意外,否则Execute阶段禁止做正式的偏差记录。确实要注意的事项随手记在卡片"备注"里,不需要成文。
5.3 坑三:阶段之间没有守门,REA又退化成普通清单
我早期用REA时有一个严重误用:同时推进多个项目,每个项目卡片都在半途。看起来每天都很忙,但没有任何一个项目的阶段出口物是齐的。
为了让阶段边界真正可检查,我给每个阶段设了一个"守门条件":
- Research守门:问题清单是否已经从"宽泛好奇"收敛到"具体可答",且每项旁边都有下一步动作
- Execute守门:最小闭环是否已经跑通,跑通后是否把结果回填到卡片
- Analyze守门:偏差清单是否有至少一条可以被下个项目直接使用
只要某个项目的守门条件不满足,就视为项目处于"不健康状态",需要在周盘点时做出处理。
6. 按角色裁剪REA:个人、小团队、内容创作者各自怎么改
REA并不是只能用在软件开发场景里。我把它迁移到过个人知识管理、小团队协作和内容生产三个场景,每次都需要做一些裁剪。
6.1 个人知识管理版:只处理"值得做的事"
个人知识管理场景下,最大的问题是记录的东西过多,而真正被回顾和使用的极少。用REA时,我不会给每本书、每篇文章都建立完整的R阶段问题清单。那样成本太高。
我的裁剪规则是:只有"准备据此产出内容或方案"的资料才走完整REA,其他资料最多做一条索引。这样能够保证REA的投入产出比,而不是为了方法论而方法论。
6.2 小团队协作版:把REA变成共享看板的三列
在小团队场景下,REA本质上是把项目分为三条泳道的看板:调研区、执行区、复盘区。团队协作里最容易出现的问题是阶段状态不透明:你以为别人还在调研,别人已经写代码了。
我的做法是把卡片模板稍作调整,增加一个"当前阶段"字段,并把三张卡片(R/E/A)作为共享表的三列。每天同步一次状态变更。这里不需要额外的项目管理软件,一个共享电子表格就够用。
6.3 内容创作版:用REA生产可复用的选题库
内容创作者面对的是一个持续更新选题和素材库的问题。REA同样可以改造使用:Research阶段产出选题的"可回答的问题清单";Execute阶段产出初稿,这里闭环就是"完成一篇能发布的内容";Analyze阶段整理数据表现偏差,比如点击率的判断与实际数据的偏差、受众兴趣点的迁移。
有个很明显的效果:一旦把选题当成一个REA项目来处理,"灵感枯竭"的感觉会大幅减少,因为提出问题比等待灵感可靠得多。
7. 一些最后的补充说明
REA不是银弹。它的意义更多在于把无意识的忙乱变成有节奏的推进。结合我个人这一年多运行下来的体感,想再补充几个提醒。
不要低估"主动放弃问题"这一步的难度。在Research阶段写下"这个问题本次不回答"需要一定的魄力,因为人的本能是觉得"万一后面用得上呢"。但事实是,大多数中途跑偏的项目,都源于没有明确放弃某些问题,导致执行时被旧问题分心。
REA记录的价值是长期叠加的。只跑一个项目看不出什么,但积累到十几个项目之后,卡片的Analyze部分会形成一个非常宝贵的"判断校准数据库"。你会在复盘时发现:我对时间周期的预估误差往往超过30%,我相信"简单就好"的地方通常会被后续需求打脸。这些规律会慢慢沉淀为一个可靠的预判模型。
如果你也想试试,建议从最小的场景入手:挑一个手头需要两周内完成的小任务,按文中的卡片模板走一遍REA。不要一开始就试图管理所有项目,先把一个流程跑顺,再慢慢加量。这种方式体感最舒服,也不会因为方法论太重而半途放弃。