
干了十多年开发我写过的阶段性开发总结没有一百份也有七八十份了被领导打回来重写的次数两只手数不过来。刚开始那几年我总把它当成期末作业——把这段时间干过的活按时间顺序列一遍截图一贴以为就完事了。结果汇报会上被问三句话就卡壳这功能到底上没上生产延期的那两周卡在哪下个阶段你还缺几个人后来我才慢慢明白这东西根本不是写给自己的回忆录而是一份给别人做判断用的材料写得对不对直接决定你下一阶段能不能拿到资源、能不能少背锅。这篇文章我想聊的就是怎么把一份阶段性开发总结写得既真实又好看。所谓真实是数据能对得上、结论经得起追问所谓好看是让不懂代码的人也能在三分钟内抓住重点。不管你是刚接手第一个模块的新人还是带十几个人的技术负责人只要你需要定期向上或向外同步进度这套方法都能直接用。我会把我自己一直在用的骨架、统计脚本、常见坑都摊开讲能抄的地方你直接抄别客气。1. 落笔之前先定坐标这份总结到底给谁看写总结最容易犯的错是没搞清楚读者是谁就开始码字。我见过太多人把一份同时要给业务方和给技术委员会看的文档写成了一锅粥前面在讲秒杀接口的限流算法后面突然跳到本季度营收贡献待评估。读者看到第三段就关了。所以动笔之前先花五分钟列一下这份文档会有几个人看、他们各自关心什么。1.1 三类读者的关注点差异根据我的经验阶段性开发总结的读者基本就三类他们关心的东西差别非常大读者最关心最反感期望的阅读时长业务方/产品功能能不能用、什么时候能用、有没有影响线上大段技术术语、没有结论3 分钟技术负责人/架构组技术决策是否合理、欠了多少债、有什么风险只报喜不报忧10 分钟管理层/项目办进度、人力、成本、风险、下阶段要什么没有量化、无法比较5 分钟看明白这张表你的文档结构其实就定了开头一段放结论和结论支撑的关键数据让三类人都能在这里拿到自己要的东西中间分层展开技术细节放靠后业务语言放靠前末尾放下阶段诉求尤其要写给管理层看。注意很多团队会把总结文档直接扔进群里让大家自己看。这种情况下前 200 个字的分量被放大了十倍。如果开头没有结论基本等于没写。1.2 总结的定位是决策材料不是流水账我早期最典型的问题就是写流水账3月1日完成登录模块开发3月3日修复了一个空指针3月5日联调……这种写法的问题是读者的注意力会被大量同等权重的信息淹没最后什么也记不住。正确的做法是结论先行证据在后。比如把登录模块开发完成换成登录模块已上线灰度覆盖 5% 用户登录成功率 99.6%未达 99.9% 目标原因是短信通道偶发超时已排期下阶段处理。后面这句话里有结论、有数据、有缺口、有下一步读者一眼就能判断这事要不要跟进。再看一个对比。同样是修复了很多 bug流水账写法是本阶段共修复缺陷 47 个而决策导向的写法是本阶段修复缺陷 47 个其中 12 个为线上逃逸缺陷集中在支付回调链路的幂等处理上根因是回调重试策略缺乏幂等键设计已补充设计文档并列入下阶段重构。后者才是别人真正想看的因为它指向了动作。1.3 多久写一次、花多长时间写完频率这件事没有标准答案但有几个触发点我建议你一定要写里程碑达成或失败时比如支付链路改造这个大目标完成或明确延期。迭代周期结束时如果你们跑双周迭代那就是每两周一次形式上可以很轻一页纸就够。月度、季度节点这种偏汇报性质需要更完整的量化。发生重大变更时需求大改、核心人员变动、线上重大故障之后。至于写一份要花多久我的经验是如果平时有素材积累一份完整总结 2 到 4 小时能搞定如果没有积累光是找数据就得花两天。所以真正的功夫在平时这一点下一节会展开讲。2. 阶段怎么切、料怎么攒写之前的准备工作很多人写总结痛苦的根源不是不会写而是没料可写。等到要交付的前一天才开始翻聊天记录、翻邮件、翻需求管理系统一边翻一边骂自己为什么平时不记。我踩过这个坑之后养成了一个习惯总结不是我写出来的而是我攒出来的。写作只是最后把这些材料按顺序摆好。2.1 阶段边界划分的三种常见切法先解决阶段这个词。一次开发总结覆盖的时间范围通常有三种切法第一种是按里程碑切。比如订单中心重构这件事从立项到灰度上线到全量天然就是一个阶段。这种切法最适合讲清楚一个完整的技术故事也最容易统计投入产出。缺点是里程碑之间可能有大段空档期或者多个里程碑并行写起来容易乱。第二种是按固定周期切比如双周、月度、季度。这种切法适合汇报节奏固定的团队好处是横向可比——这个月的数据和上个月能放在一起看趋势。坏处是它经常在功能做到一半的时候切断导致未完成的条目特别多需要额外解释。第三种是按模块或者按主题切。比如这段时间主要在做支付那不管跨了几个迭代都归到支付专题里讲。这种切法在大型项目里很常见尤其是当团队是按业务域划分的时候。我的建议是以固定周期为主干以里程碑和专题为子章节。这样既保证了汇报节奏稳定又能把重要的事情讲透。具体切的时候还有一个细节要注意阶段起止日期要写到日并且和你的数据统计口径对齐。我见过有人总结写本月但数据统计用的是上月 26 日到本月 25 日结果数字对不上被人抓着问了半天。2.2 平时就要维护的四本台账这是本文我最想说的一点。想要总结写得快你必须维护下面这四类记录而且最好是自动化的、可检索的需求变更台账谁在什么时候提了什么变更、影响哪些模块、评估工时多少、最终接受还是拒绝。这个台账是解释为什么计划变了的唯一依据。缺陷台账除了常规的缺陷管理系统我建议额外记录一条这个缺陷是测试阶段发现还是线上环境逃逸。这两者的权重完全不同逃逸缺陷才是真正需要复盘的。技术决策记录也就是常说的 ADRArchitecture Decision Record。每次做重要技术选型时用一段话记清楚背景、备选方案、结论和理由。写总结时直接摘录省时省力还能体现你的思考深度。风险登记册把识别到的风险记下来包括概率、影响、缓解措施、责任人。总结里的风险章节直接从这里面挑不用现想。提示这四个台账不需要什么高级工具一个共享表格就能起步。关键是当天记不要隔夜更不要等到月底。我自己的习惯是每天下班前花三分钟补一句一年下来几乎没有过写总结没素材的情况。2.3 数据口径统一别让两个数字打架这是非常容易被忽略的一点。同一份文档里如果出现完成需求 32 个和需求完成率 80%两个数字但总需求数又写着 45 个读者会立刻怀疑整份文档的可信度。32/45 是 71%不是 80%这种低级矛盾会毁掉你所有的说服力。解决办法是在文档里显式定义口径。我一般会在总结开头或者附录加一个小节说明几个关键定义需求完成的口径是开发完成、测试通过还是已上线我们团队统一为已上线生产且验证通过。工时的口径是纯开发工时还是包含会议、评审、联调我们统一为包含联调与评审不含日常站会。人力的口径是人力数还是人天一个人投入一半时间算 0.5 人还是 10 人天缺陷的口径包含哪些严重级别一般只统计中等及以上轻微的建议不纳入。把这些写在文档里看起来啰嗦但实际上是把被追问提前消灭了。我用这招之后汇报会上关于你这个数字怎么算的的问题至少少了一半。3. 一份能落地的总结骨架说完了准备进入正题。下面这套骨架是我迭代了很多版之后固定下来的适用于绝大多数场景。你可以根据汇报对象裁剪但顺序建议不要动因为它符合人接收信息的习惯先结论再事实再问题最后诉求。3.1 开头先给结论目标达成度对照表总结的第一屏我强烈建议放一张目标达成度对照表。它的作用是把读者最想知道的问题一次性回答完说好的事情做成了几件阶段目标计划完成时间实际状态达成度差异说明支付渠道接入 A第 4 周已上线100%无订单查询性能优化至 200ms第 6 周已上线100%超出预期实测 140ms对账系统重构第 8 周开发完成待测试70%上游数据源接口延期消息推送去重第 8 周未启动0%资源被对账重构占用这张表的好处是它逼你诚实。你没法只写做成的三件把没做的那件藏起来。而且差异说明这一列实际上就是你和读者之间最重要的一次沟通——为什么没做完是外部依赖还是内部排期读者一看就知道。写这张表时有个技巧达成度要用可验证的状态描述而不是百分比拍脑袋。比如开发完成待测试比70%更准确因为 70% 这个数字本身没法验证。如果一定要给百分比就在旁边注明它的定义。3.2 交付清单把功能写成可验证的条目目标达成度是给管理层看的交付清单是给业务方和技术方看的。这里的原则是每一条都要可验证。什么算可验证就是读者拿着这条描述能自己去系统里点一下确认。反面例子优化了用户体验。正面例子订单列表页加载耗时从 2.3s 降至 0.6sP95已上线全量用户。再比如反面例子重构了支付模块正面例子是支付模块拆分为三个独立服务回调幂等键已落地线上重试导致的重复扣款问题从每周 3 起降至 0 起。我看到很多总结喜欢写完成 XX 功能开发这条其实没有信息量因为开发完成不等于能用。建议改成三段式做了什么 达到什么效果 当前状态灰度/全量/待验证。另外交付清单里我建议单独列一类非功能性产出。比如文档沉淀、监控告警补齐、CI 流水线提速、内部工具。这些东西业务方看不见但对技术团队价值很大不写出来就白干了。我曾经吃过一次亏一个季度里花了不少时间做构建提速把流水线从 18 分钟压到 6 分钟结果总结里没写季度评优时被说没看到产出。3.3 质量与效率数据把很努力变成有数字这一节是技术负责人的主场。我常用的指标不多但每个都要能算清楚来源指标计算方式数据的意义需求交付准时率准时交付需求数 ÷ 当期总需求数衡量排期能力低于 70% 说明估算或需求管理有问题线上逃逸缺陷数上线后用户或监控发现的缺陷数衡量质量底线是最该被盯的数字缺陷平均修复时长缺陷修复总耗时 ÷ 缺陷数衡量响应速度注意按严重级别分组看需求变更率变更需求数 ÷ 原始需求数衡量需求稳定性超过 30% 要单独说明原因平均构建时长流水线总时长 ÷ 构建次数衡量研发效率间接影响迭代速度这些数字我建议连续统计多个阶段看趋势而不是看单点。单看一个月准时率 68% 可能很难看但如果上个月是 55%、上上个月是 48%那就是在持续改善这个叙事力度完全不一样。注意千万不要为了好看去修饰数据。我见过有人在逃逸缺陷上只统计严重级别把大量的中等级别排除掉短期看着漂亮一旦被人翻出来信任成本高得多。数据可以有口径但不能有选择性地隐藏。3.4 问题、风险与技术债这一节最见功力大部分总结会把这一节写得很敷衍比如存在一些技术债后续安排优化。这句话等于没说。我认为这一节才是真正区分一份总结水平高低的地方因为它体现的是你有没有在想下一步。写法上我建议分三块第一块是本阶段暴露的问题要写根因不写现象。比如联调阶段反复返工是现象根因是接口契约变更未走评审流程前端按旧文档开发了两天。写了根因才能提改进措施。第二块是尚存的风险要写概率、影响和缓解措施。比如上游对账系统的数据源接口预计下阶段提供若延期将影响对账重构上线缓解方案是先做本地数据适配层把依赖降到只影响最终联调。第三块是技术债清单我习惯按影响面 × 修复成本排优先级用表格列出来技术债影响面修复成本建议优先级支付回调缺少幂等键高涉及资金中约 5 人天P0立即处理日志格式不统一中排障效率低约 2 人天P1下阶段老版本依赖未升级低暂无实际影响高约 15 人天P2排期观察这种列法的好处是管理层一看就知道你不是在乱抱怨而是在做有序的规划要资源也更有底气。3.5 下阶段计划与资源诉求这一节要具体要有时间要有对人力的判断。我一般的写法是先列目标再逐条说明需要的支持。目标部分建议控制在 3 到 5 条太多了没人记得住。每条写清楚要达到的状态和判断标准。资源诉求部分直接了当说自己缺什么缺人、缺测试环境、缺上游配合、缺决策。不要含蓄含蓄的结果就是下个阶段继续缺。我印象很深的一次我在总结里写了希望上游团队能在两周内提供接口文档措辞很客气。结果两周后接口文档还是没来项目顺延。第二次我改成对账重构依赖上游接口文档目前阻塞 6 人天若 4 月 10 日前无法提供本项目需延期至 5 月中旬并抄送了两边负责人。三天后文档就来了。同样的诉求写法不同效果差很多。4. 数据从哪来自动化统计脚本实操前面说了很多指标接下来讲讲这些数字怎么来。靠人工数是不现实的也不准。我一般用两套自动化手段一套从代码仓库里挖开发节奏一套从需求与缺陷系统里导出统计。4.1 从提交历史里读出开发节奏Git 的历史里藏着很多信息提交频率、每天活跃时段、哪些目录改动最频繁。我常用的命令是这样先导出指定时间段内的提交记录git log --since2024-01-01 --until2024-03-31 \ --prettyformat:%ad|%an|%s --dateshort commits.txt导出来之后用 awk 快速看两个东西一是每天的提交数二是每个人的提交数。# 按日期统计提交数看开发节奏有没有明显断档 awk -F| {print $1} commits.txt | sort | uniq -c | sort -k2 # 按作者统计提交数注意这只反映活跃度不反映贡献度 awk -F| {print $2} commits.txt | sort | uniq -c | sort -rn这里有个很关键的注意事项提交数从来都不等于工作量更不等于贡献。有人习惯频繁小步提交有人习惯攒一个大提交还有大量代码是结对或评审中产生的。我在总结里从来不会直接把提交数当成绩效指标写进去只会用它来判断开发节奏是否连续。比如某段时间提交数突然断崖式下降往往对应着卡在某个外部依赖上这正好可以作为延期原因的一个数据佐证。如果想要更细的视角可以统计改动最频繁的文件这个能帮你发现热点模块git log --since2024-01-01 --name-only --prettyformat: \ | grep -v ^$ | sort | uniq -c | sort -rn | head -20输出里排在前面的文件通常就是这段时间最不稳定、最需要重构的地方。这个结论放到总结的技术债一节里说服力很强因为它不是你的主观判断而是数据说话。4.2 用脚本统计需求与缺陷需求和缺陷通常存在表格或管理系统里导出 CSV 后用一段简单的脚本就能算清楚。下面这段是我自己常用的模板逻辑很直白import csv from collections import defaultdict from datetime import datetime # 假设导出的 CSV 列包含id, type, severity, created, resolved, status, escaped rows [] with open(issues.csv, encodingutf-8-sig) as f: for row in csv.DictReader(f): rows.append(row) total_req 0 done_on_time 0 escaped_bugs 0 fix_hours [] for r in rows: if r[type] requirement: total_req 1 if r[status] delivered and r[created] r[resolved]: done_on_time 1 elif r[type] bug: if r[escaped] yes: escaped_bugs 1 if r[resolved] and r[created]: d1 datetime.fromisoformat(r[created]) d2 datetime.fromisoformat(r[resolved]) fix_hours.append((d2 - d1).total_seconds() / 3600) on_time_rate done_on_time / total_req if total_req else 0 avg_fix sum(fix_hours) / len(fix_hours) if fix_hours else 0 print(f需求总数: {total_req}, 准时交付率: {on_time_rate:.1%}) print(f线上逃逸缺陷: {escaped_bugs}) print(f缺陷平均修复时长: {avg_fix:.1f} 小时)这段脚本没什么高明的地方但它解决了一个大问题让你的数字可复算。别人质疑的时候你可以把脚本和原始数据一起给出去沟通成本直接归零。我强烈建议把脚本存到仓库里每次总结都跑一遍形成固定流程。提示统计时务必把需求和缺陷分开处理不要混在一个分母里。很多团队算交付率时把缺陷单也算作交付项数字当然好看但这个指标已经没有意义了。4.3 指标口径与常见误区对照为了让数字站得住我把容易出错的地方整理成一张表写总结前扫一眼指标计算方式常见误区准时交付率准时交付数 ÷ 总需求数把取消的需求也算进分母导致比率虚低逃逸缺陷率线上发现缺陷数 ÷ 总缺陷数只统计严重级别忽略中等级别平均修复时长修复耗时总和 ÷ 缺陷数不分组统计被个别长尾缺陷拉高均值建议用中位数需求变更率变更需求数 ÷ 原始需求数把补充说明也算作变更口径过松人均产出交付需求数 ÷ 人数忽略需求大小差异大小需求权重相同会失真这几条坑我都亲自踩过。尤其第一条取消的需求应该单独列出来而不是悄悄放进分母里让准时率显得很低。有一次我们团队取消了一个已被业务砍掉的大需求结果准时率从 85% 掉到 62%我去解释了半天才说清楚。后来我把口径改成取消需求不计入分母同时单列取消数量问题就消失了。5. 表格、图表与排版让非技术读者也能看懂数据和文字都准备好了还得考虑呈现。这一点上我吃过不少教训最典型的一次是我把一份十几页全是文字和表格的总结发给业务方对方回了一句我看不太懂你能给我讲一遍吗。从那以后我给自己定了规矩每一节至少有一张图或者一张表每张图都要有结论标题。5.1 三种图的取舍总结里用得最多的其实就三种图各有各的适用场景趋势图适合看指标随时间的变化比如准时交付率、逃逸缺陷数、构建时长。它的价值在于展示方向让人看到是在变好还是变坏。用的时候注意横轴要是连续的时间点别拿几个不相关的周期硬拼在一起。燃尽图或者累计流图适合展示一个具体项目的推进过程尤其是做敏捷的团队。它的价值在于暴露什么时候开始卡住配合前面讲的提交数断档能很自然地解释延期原因。占比图适合展示构成比如缺陷按模块的分布、工时按类型的分布。它的价值在于帮你聚焦重点一眼看出哪个模块问题最多。至于那些花哨的图我的建议是能不用就不用。3D 饼图、带阴影的柱状图这类东西除了降低可读性没有任何作用。配色上保持克制两种到三种颜色足够同一张图里不同颜色的含义要一致别在趋势图里红色代表上升到了占比图里红色又代表下降。5.2 排版上的几个细节排版是很多人忽略的地方但它直接影响阅读体验。我总结了几个自己一直在用的规则第一每张表格和图的上面必须有一句话结论。比如不要写图 1缺陷分布而要写图 1缺陷集中在支付与对账两个模块合计占比 64%建议下阶段优先重构。这句话让读者即使不看图也能拿到信息。第二数字统一保留位数。百分比保留一位小数时长统一用小时或统一用天不要一份文档里一会儿写3 天一会儿写72 小时。第三加粗只用来标记结论和关键数字不要整段加粗。我见过一份文档几乎每句话都加粗效果等于没加粗。第四把最重要的一页放在最前面。如果文档超过十页我习惯做一个摘要页一页里放目标达成表、关键指标和下阶段诉求让没时间的人只看这一页也能拿到核心信息。注意不要为了排版去美化数据。我见过有人为了让趋势图好看把纵轴的起点从 0 改成 60视觉上改善明显但稍微细心的人一眼就能看出来。这种操作短期可能蒙混过关长期是自毁信誉。图表要诚实纵轴该从 0 开始就从 0 开始。6. 常见坑与排查写完被追问的那些地方一份总结写完之后真正的考验是汇报现场。我把自己被追问过的问题、见过的翻车场景整理了一下基本都集中在这几类。提前想清楚怎么答比事后补救容易得多。6.1 高频问题速查表被追问的问题通常暴露的缺陷提前准备的方式这个数字怎么算出来的口径没写清楚文档附口径说明和数据来源为什么这个需求延期了差异说明太笼统用外部依赖、资源冲突、需求变更三类归因附证据下阶段能不能提前计划没有依赖分析每个目标列出关键依赖和最早可完成时间这些问题为什么现在才说风险登记册没同步风险一旦识别就同步不要攒到总结才说技术债什么时候还债没有优先级按影响面和成本排序给出明确排期缺的资源我凭什么给你诉求没有说清后果把诉求和业务影响挂钩说清不给的后果这张表我建议你在每次汇报前扫一遍尤其是前三条几乎场场都会被问到。6.2 被追问时的三个应对原则第一不确定的事情不要硬答。被问到你不清楚的数据时最差的做法是凭印象给一个数字。我见过有人随口说大概两周吧结果两周后没完成被翻出来打脸。正确的做法是这个数据我需要核实一下会后半小时内给你准确值。承认不确定不影响你的专业度乱给数字才影响。第二回答延期问题时要给根因不要给情绪。比如上游没给我们数据和上游接口延迟 12 天交付导致联调窗口从 8 天压缩到 2 天我们已经通过本地 Mock 提前完成 70% 的联调这两句话都在说同一件事但第二句让人看到你在积极补救。汇报的本质是让别人相信你还能把事情做成而不是让别人同情你有多难。第三把追问变成要资源的契机。被问到下阶段能不能提前的时候如果客观上确实做不到就顺势说清楚需要什么条件才能提前。比如如果测试环境能在 4 月 5 日前扩容到位联调可以提前 3 天开始整体能提前一周。这比单纯说做不到有用得多。6.3 我自己踩过的三个坑第一个坑是报喜不报忧。刚工作那两年我总觉得总结里写问题会显得自己能力不行于是尽量把不足的地方轻描淡写。结果是有一次一个被我说成小问题的隐患在下个季度直接导致了线上故障。会后领导跟我说的一句话我记到现在我不怕有问题我怕的是我不知道有问题。从那以后我在总结里对风险的描述反而写得最细。第二个坑是把所有细节都塞进去。有一次我写了一份二十多页的总结把每个接口的改动都列上了。结果业务方看了三页就放弃了最重要的结论根本没被看到。后来我学乖了总结是索引不是全集。细节放到附录或者单独的链接里正文只放结论和关键数据。第三个坑是复用上个阶段的模板不动脑子。有一次我复制了上一期的文档结构结果里面还留着待补充的占位符和上个阶段的数据直接发了出去。虽然马上撤回重发但已经有人看到了。从那以后我养成了一个习惯发送前必须从头到尾读一遍重点检查数字、日期和占位符。这个检查只要三分钟能避免非常尴尬的事故。7. 可直接套用的模板与长期习惯讲了这么多最后给一份可以直接抄的模板以及几条让它变成长期习惯的建议。7.1 一份 Markdown 版总结模板我平时写的总结基本都是这个结构你复制过去改一改就能用## 阶段基本信息 - 覆盖周期2024-01-01 ~ 2024-03-31 - 参与人员张三、李四、王五合计 2.5 人力 - 数据口径需求完成指已上线并验证通过缺陷含中等级别及以上 ## 一、结论摘要 | 阶段目标 | 计划时间 | 实际状态 | 达成度 | 差异说明 | | --- | --- | --- | --- | --- | | ... | ... | ... | ... | ... | 关键指标准时交付率 82%线上逃逸缺陷 4 起平均修复时长 6.2 小时 ## 二、交付清单 1. 支付渠道 A 接入已上线全量成功率 99.7% 2. 订单列表性能优化P95 从 2.3s 降至 0.6s 3. 非功能性产出CI 构建时长从 18 分钟降至 6 分钟 ## 三、质量与效率数据 附指标表与趋势说明 ## 四、问题与根因 1. 联调返工 3 次根因是接口契约变更未走评审 ## 五、风险与技术债 附风险表与技术债优先级表 ## 六、下阶段计划 1. 目标一对账系统重构上线依赖上游接口预计 4 月 10 日到位 2. 资源诉求测试环境扩容否则计划顺延两周 ## 附录 - 数据来源与统计脚本仓库路径 - 详细需求列表与缺陷列表链接这个模板我用了很久最大的好处是结构固定写起来快读者也熟悉。每次只要填内容就行不用重新组织篇章。7.2 让它变成团队资产而不是个人负担如果总结只靠一个人写那它永远是个负担。我的做法是把这件事拆成三个长期机制一是素材当天记。前面说的四个台账谁参与谁记录不要依赖某个人汇总。我们团队的做法是在需求管理系统里建了一个阶段记录的标签任何变更、决策、风险都打上这个标签写总结时直接筛选。二是脚本进仓库。统计脚本和数据口径说明放进代码仓库作为团队资产维护。新人接手时不用重新摸索直接跑脚本就有数据。三是总结后复盘一次。我习惯在每次汇报之后花十分钟想想哪些问题没答好然后把这些补充到下一份总结里。比如第一次被问技术债什么时候还第二次我就会主动在文档里给出排期。这个循环做上三四个周期你的总结基本就无懈可击了。最后分享一个我自己的小习惯我会把每份总结里被追问最多的三个问题记在一个便签上贴在显示器边上。写下一份的时候先看一眼很多问题自然就提前解决了。这个办法听起来很土但对我这种记性一般的人来说比任何方法论都管用。