ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

少即是多:程序员、产品经理和项目经理的极简工作法

少即是多:程序员、产品经理和项目经理的极简工作法 去年年底我重读了一遍《少即是多北欧自由生活意见》。这本书买回来三年第一遍读完只记住了“双城生活”四个字觉得那离一个天天写代码、对需求、赶进度的互联网人太远了。今年再翻完全不是那么回事。在一个既要写接口又要排需求还要背进度的环境里这本书讲的其实根本不是北欧人的慢生活而是你我每天都在面对的优先级问题——什么该做什么不该做什么才是真正值得投入的事。这本书的作者本田直之在书里反复强调一个观点从物质中获得的幸福感是短暂的而从体验、时间、自我成长中获得的幸福感才是持久的。听起来像是鸡汤但如果你把“物质”换成“功能”“需求”“会议”“技术栈”把“体验”换成“用户价值”“核心目标”“代码质量”“个人时间”这套逻辑几乎可以直接套用到程序员、产品经理、项目经理的日常里。所以我特别想从这三个角色出发聊聊这本书到底能给我们这些做产品做技术的人带来什么。文章不打算写书评也不做读书笔记摘抄。我会把书里那些“北欧味”很重的概念翻译成我们每天开工就能用得上的决策方法和实操动作。你可能是后端、是前端、是产品新人也可能是带项目的负责人只要你的工作内容里存在“需求堆积”“多任务切换”“流程臃肿”“工具过剩”这些症状这篇内容就是写给你的。1. 这本书到底在讲什么从“双城生活”到“新幸福”1.1 三个关键词把我的观念撬动了第一个关键词是“双城生活”。书里说北欧人流行在都市有一套小公寓用于工作在乡下有一栋木屋用于生活每周来回切换。过去我觉得这建议不现实一线城市一套房都难还两套房但后来想明白了本田直之想讲的不是“买两套房”而是“让生活拥有两种节奏”。对应到互联网行业很多团队已经开始这么干了周一到周四在办公室集中协作周五全员远程或者一天里固定几个小时的深度编程时段不排任何会议其他时间用来沟通对接。这就是一种精神上的“双城”——把工作节奏和生活节奏分开而不是用加班把所有时间填满。第二个关键词是“新幸福”。书中列了十条“新幸福”的条件包括享受工作、有亲密的朋友和家人、稳定的经济来源、身心健康、拥有能激发创造力的兴趣爱好、拥有时间和自由、能选择适合自己的居住环境、具备有效的思维习惯、能放眼未来、感觉自己正在向目标迈进。有意思的是这十条里没有一条是“拥有更大房子”或“买更贵的车”。放在我们行业里翻译一下很多人追求“技术栈最全”“跳槽薪资最高”“App功能最多”但这些东西带来的满足感衰减极快。反而是“拥有一项别人替代不了的手艺”“每天有几个小时不被打扰的深度工作时间”“团队里人际关系简单干净”这些才真正决定你在这行能走多远。第三个关键词是“从加法到减法”。书里有个说法我印象很深日本和北欧都经历过物质过剩的时期但北欧人最先意识到东西越多打理东西的时间也越多人被物拖住了。互联网产品也是一样系统里每多一个功能就多一份维护成本、多一批用户疑惑、多一段测试用例团队里每多一个流程就多一次沟通损耗、多一层等待时间。做加法是本能做减法是能力。1.2 这本书的局限北欧经验不能照搬当然这本书不是万能的。北欧的高福利社会、极低的贫富差距、漫长的冬季塑造了那种“慢文化”直接搬到国内职场很容易变成“何不食肉糜”。你不可能在工作日报还没写完的时候跟领导说“我要降低满足阈值”。所以读这本书的正确姿势是不要照搬它的生活方式而是提取它的底层方法论。我把这本书的方法论总结成一句话**在所有选项里先去掉那些“不做什么也不会死”的部分把省下来的时间、精力、资源集中投给三件以内真正重要的事。**这个方法论放在代码重构、需求评审、项目排期、职业规划里全部成立。接下来的篇幅我就分别从程序员、产品经理、项目经理三个视角展开讲这套方法论怎么落地。2. 程序员视角少即是多的“代码人生”2.1 给技术栈做减法真正吃饭的手艺不超过三门程序员大概是这个世界上最容易陷入“技术栈军备竞赛”的群体。我见过不少简历写着“熟悉 Java、Go、Python、Vue、React、Flutter、Kubernetes、Docker……”数量多到让人怀疑一天有48小时。但一问深了每个技术都停留在“用过”的层面。这其实违反了“少即是多”最朴素的原则一个人的深度专注力是有限的你铺得越开每一层的厚度越薄。书里对应的观点是“只有一项技能的人反而更强”。本田直之说的不是“只会一项就够”而是“以一项核心技能为根再延伸出枝叶”。放在程序员身上我的建议是选定一门主语言作为安身立命之本把它的底层原理、常用框架、性能调优、排错思路吃透再花20%的精力去拓展第二个相关技能。比如你是Java后端那就先把JVM内存模型、并发编程、Spring的Bean生命周期这些东西彻底搞明白而不是今天看Go的教程明天收藏Rust的入门后天又去刷“大模型应用开发”的课。我见过一个后端同事三年时间把所有流行技术都“试”了一遍简历很好看但每次团队遇到线上OOM他永远是排查最慢的那个人。反而是另一个只精通Java、但把《深入理解Java虚拟机》翻烂了的同事几次性能优化都靠他救火。这就是深度碾压广度的典型场景。技术栈的“少”不是让你不学习新东西而是在学习新东西之前先确认旧的东西里有没有值得挖到根的部分。2.2 给代码做减法少写代码比多写代码难得多我看过一句话大意是“代码行数是负债不是资产”。第一次写某个功能可能只要50行后来加需求变成150行再加分支变成400行还带三层if嵌套。每次改代码的人都在原有逻辑上叠新的判断没人敢删因为不知道删了会影响哪些调用方。到最后一段业务逻辑复杂到没人愿意碰只能推倒重来。“少即是多”在代码层面的第一个实践是抽象与复用。但注意抽象不是越早越好。我早期的经验是先写一个具体实现跑通业务然后再看第二个类似需求长什么样当第三个出现时才考虑抽公共逻辑。太早抽象会造出“万能类”参数越加越多最后比不抽象还难维护。这就是“少做一步反而更快”的反直觉之处。第二个实践是删除代码要有仪式感。删代码不是不负责任恰恰是最负责任的行为。每次删掉一段不再使用的代码我习惯做两件事先查调用链确认没有入口再通过代码检索工具全局搜一遍关键字。确认无引用后删除并顺手看看有没有相关的测试用例需要一起清掉。这个过程听起来繁琐但一次完整的清理后续每次读代码都会省时间——这才是“少”的长远回报。第三个实践和“人工智能辅助编程”有关。最近行业里讨论很多不少团队引入AI辅助开发后生产率确实上来了但问题也随之而来AI生成的代码大量复制粘贴进仓库很多方法根本没人知道是干嘛的。代码量暴增维护难度飙升。这时候“少即是多”反而成了更稀缺的品质**AI帮你快速生成10个方案你依然要花力气判断哪个方案该留下、哪些代码不该进仓库。**AI是加速器不是判断器。2.3 副业、装备与数字杂物把“占有”换成“使用”书里有一个很尖锐的观点你拥有的东西其实也在拥有你。笔记本电脑、机械键盘、4K显示器、开发机、测试机、iPad、各种云服务订阅——这些东西真的是生产力吗还是只是“拥有了就感觉自己在成长”的错觉先说iPad这个话题。网上经常有人问“作为程序员iPad有什么用”。实话实说iPad在绝大多数程序员的日常里既不能替代电脑写代码也不能替代手机做即时通讯。但它确实可以做三件有价值的事看技术文档和PDF时不用开电脑、用手写笔画系统架构草图、在通勤时看视频课。核心不是“该不该买iPad”而是“你买了之后有没有真的用它做这些事”。如果买回来只是刷视频盖泡面那它就是书里说的“被物质拖住”。反向操作也成立——如果你没有iPad但每次画架构图都靠白板和手机拍照那完全没必要为了“仪式感”添一个设备。再说程序员副业。热词里经常出现“程序员副业图谱”好像不搞副业就不配叫程序员。但书里的“只有一项技能”提醒我副业不是越多越好而是从主业的长尾里长出来。你后端写得好可以接接口开发的私活你前端写得好可以做独立开发者的接单方你文档能力强可以录课和写技术专栏。每一条副业都和主技能共享同一根树干而不是你今天学剪辑、明天做电商、后天开网店。我见过搞了五个副业的人最后主业差点没保住五个副业加起来赚的还不如加班费多。这就是把“加法”用错了地方。数字杂物也是同样的道理。网盘里囤了几百个G的课程、浏览器收藏夹里塞满“程序员鱼皮推荐的学习路线”、GitHub上Star了一堆项目但从未打开过——这些都符合书里说的“物质过剩时代的新贫穷”。我给自己定过一个规矩收藏夹每周清理一次超过30天没打开过的课程直接删掉。一开始肉疼后来发现真正需要的东西当你需要时自然能找到那些删了也不心疼的本来就对你没有价值。3. 产品经理视角需求池里的断舍离3.1 需求攒得越多产品死得越快产品经理的日常工作本质上是和“加法思维”作斗争。业务方提一个需求用户反馈一个建议竞品出了一个新功能老板拍了一个新方向——全都堆进需求池池子越来越满。但需求池不是收藏夹它是一个资源分配决策入口。每个需求进入池子都意味着开发资源要被占用、产品复杂度要上升、测试范围要扩大。池子里堆需求就像衣柜里堆不穿的衣服你以为你在积累财富其实你在积累熵。书里教我的第一个方法是给需求池设置物理上限。衣柜如果只能挂50件衣服那每添一件新衣服就必须扔一件旧衣服。需求池同理同时进行的项目级需求不超过3个功能级需求在“待排期”状态下不超过20个。超出上限时新需求必须先顶掉旧需求而不是无限追加。这个规则逼着所有人做判断那个“三个月没动静的需求”是不是该删了那个“客户说要但其实不用也能活”的需求是不是可以直接拒掉?第二个方法是区分“want”和“need”。用户嘴上说要一个“导出Excel”的功能真实需求可能是“每周要手动统计数据太麻烦”而你的系统已经有“定时报表推送”的能力。那你要做的就不是新增导出功能而是引导用户使用已有能力。少即是多在这里非常具体功能入口越少用户学习成本越低每个新增按钮都在稀释其他按钮的注意力。3.2 接口对接与AIGC时代的“伪需求制造机”我特别想聊一下接口对接这个场景因为这是后端程序员和产品经理天天相爱相杀的地方。Java后端工程师最怕产品经理拿着一份接口文档过来里面躺着八个字段、三个状态位、两个冗余参数。产品经理说“这些字段以后都用得上”后端说“现在业务里根本用不到”。从“少即是多”的角度产品经理应该从一开始就想清楚这个接口的核心目的是什么支撑这个目的的最小字段集是什么比如一个用户列表接口业务方说需要返回用户ID、昵称、头像、手机号、邮箱、注册时间、最近登录时间、订单数量。但实际页面上只展示昵称、头像和注册时间。那这个接口就只需要返回三个字段其他字段全部不进接口文档。如果以后真有需求再扩展也不迟。接口扩展的成本远低于接口臃肿带来的长期维护成本。后端同学在评审时可以大胆问一句这个字段当前哪个页面在用如果没有页面引用就砍掉。这不是不配合这是负责。再往后看AIGC工具普及以后产品经理的“伪需求制造”能力被放大了。以前写需求要一个字一个字敲现在用AI一句话就能生成一份完整的需求文档、原型描述、甚至接口字段定义。速度上来了但很多被生成出来的需求根本没有真实用户场景。我看到过一份AI生成的需求文档功能描述、交互流程、埋点方案一应俱全唯独回答不了“这个功能解决谁在什么场景下的什么问题”。这就是典型的“工具提升了产出数量掩盖了判断缺失”。产品经理在AIGC时代的核心竞争力恰恰是“少即是多”里的这个“少”——你必须在AI生成的十个方案里敢于也只挑一个上线的。3.3 产品新人的第一课不是画图是舍弃现在各种产品经理培训机构都在教画原型、写PRD、做竞品分析但很少教“如何砍掉一个功能”。新人最容易犯的毛病是接到的每个需求都想做方案评审时谁提意见都接受结果需求越滚越大版本越拖越长最后哪个都没做好。我建议产品新人给自己立一条规矩**每个版本上线前主动删掉20%的功能再提测。**这个比例不一定精确但目的很明确——逼自己按用户价值和开发成本给所有功能排序砍掉排在最末位的那些。你会发现一个残酷的事实砍掉的那20%功能上线一周后几乎没人提起。用户没感知业务没投诉产品反而更流畅了。这就是“均值回归”在产品里的体现——大多数功能本来就是平庸的它们不是在解决问题而是在制造噪音。书里说“降低满足的阈值才能体会到小的喜悦”。产品经理如果把“满足”的对象从“功能数量”换成“用户问题的解决程度”很多纠结就不存在了。一个顺畅的核心流程胜过十个能用但别扭的次要功能。4. 项目经理视角流程和会议的双重减负4.1 会议减半把同步从会议室搬到文档里项目经理大概是全公司最爱开会的人因为我们天然背负着“信息同步”的责任。但绝大多数会议的信息密度低得可怕。周一的排期会20分钟的时间花在“我上周干了什么”上周五的复盘会半小时都在讨论细枝末节。书里讲北欧人“固定时间结束工作”是一种能力放在项目管理场景里就是“固定会议时长并严格限制议题范围”的能力。我实操过的一个有效动作是把周五的同步会取消改成异步周报。要求每个成员在共享文档里更新三件事本周完成、下周计划、需要他人协助的阻塞点。有阻塞的人自己约相关同事开15分钟小会没有阻塞的人连见面都不需要。一个10人团队每周省下至少50个人时而且信息反而更清晰——因为写文档之前每个人都必须自己梳理一遍。会议减半的第二个实操是“站立会限时15分钟”。很多团队的站会变成了汇报会每个人都把昨天的细节讲一遍。我的原则是**站会只回答三个问题——今天打算做什么、有什么卡住我的、需要谁在会后帮我。**不展开讨论所有延伸话题拉出去单独约。这符合书里“减去冗余、保留本质”的准则站会的本质是暴露风险不是汇报工作。4.2 任务看板的“WIP上限”同时只做三件事项目管理里有个概念来自精益生产叫做“WIP上限”Work In Progress在制品数量上限。这个概念和《少即是多》的底层逻辑惊人一致同时进行的任务越多单个任务的完成周期越长整体效率反而越低。我见过最典型的低效团队是这种状态看板上有十几个进行中的任务需求方催一下A就做一下A催一下B又切到B所有人都在救火但没有任何功能真正完成上线。后来我把看板的“进行中”列做了硬性限制——每个成员同时只允许有两个任务一个开发中、一个测试中超出的新任务一律进入“待排期”前面不空出来后面就不准动。刚推行时业务方意见很大觉得“明明有现成的人力为什么不做”。一个月后数据打脸需求平均完成周期从两周缩短到五天上线功能数反而多了。这和书中“从加法到减法”的论述完全互文你以为多做并行任务是在“提速”实际上每次切换都在支付“上下文切换税”。程序员从写代码的状态切到评审需求再切回写代码光重新进入状态的成本就有十几分钟。把并行数限制下来等于直接消灭了这种隐性消耗。4.3 风险管理的朴素化非必要不新增项目经理还有一个职业病就是风险焦虑。我们总想为所有可能的意外提前准备Plan B、Plan C于是项目计划里塞满了“预保留时间”“备选方案”“冗余资源”。但书里有个观点点醒了我你为未来做的很多准备未来根本不会用到而准备的本身已经消耗了现在的精力。我现在的做法是给风险分级P0级别的风险上线失败、核心成员离职、数据丢失必须做预案P1级别的风险第三方接口延迟、个别需求变更做简单的备选方案P2级别的小风险某个字体不兼容、某个页面加载慢不做预案遇到了再处理。很多项目经理习惯把所有风险都拉到一个级别每个人都绷着弦反而分散了对真正关键路径的投入。这就是把“少”用在刀刃上真正的风险管理不是消除所有风险而是把有限的注意力集中到极少数能决定项目生死的事情上。团队管理也一样。书里说“幸福来自愉悦与专注”项目经理与其给团队不断加激励、搞团建、发福利不如先做减法减掉不必要的过程文档、减掉重复的汇报、减掉形式化的评审。员工最需要的是专注干活不被打扰的时间。我发现当一个团队从每周五个会减到两个会成员主动加班的情况反而变少了——因为他们白天就能做完事不需要晚上来补白天的会议债。5. 落地时会踩的坑把“少”做成“更忙”5.1 问题一做了减法却被考核绑架很多人读完这类书心潮澎湃回公司就把需求砍了、会议减了结果季度绩效考核下来发现指标是“上线功能数”于是被打回原形。这个问题很现实。解决思路不是让你对抗考核体系而是用数据证明“少”带来了更好的结果。比如你砍掉了三个低频功能换来了核心流程的崩溃率下降50%这就是可以写进绩效报告的成绩。当你把“少即是多”翻译成指标语言——需求响应速度、缺陷密度、项目延期率、核心功能使用率——管理层是能看懂“减法”的价值的。怕的只是你砍了功能但没有建立度量体系做了好事却拿不出证据。5.2 问题二把“少即是多”理解成低标准我见过一些朋友把书里的“降低满足阈值”当成“差不多得了”的挡箭牌。需求只出简单方案代码能跑就行文档能不写就不写。这不是减法这是偷懒。“少即是多”从来不是降低标准而是提高对“重要”的判断标准对重要的事保持高标准对不重要的事干脆不碰。程序员如果砍掉代码评审、砍掉单元测试那不是在做减法是在给自己埋雷。正确的减法应该是不做“伪需求”的功能但核心流程必须做到极致不写“记录流水账”的日志但关键链路必须埋点完整。瘦身减的是脂肪不是骨头。5.3 问题三只有自己减其他人还在加个人做减法相对容易难的是团队协作里别人不配合。你取消了周五同步会隔壁组每周五还是拉你评审你砍了自己负责模块的两个字段新来的产品又给加回四个。这种时候单打独斗的“极简”根本维持不下去。我的经验是把减法规则公开化、书面化。在团队里立一个“需求承诺书”或“会议公约”新增需求必须附带业务价值评估会议时长默认25分钟超时需要重新预约接口字段默认最小集新增字段必须提供页面引用。规则不写在任何人脑子里而是写进团队协作文档里每次都拿出来对照。当“少即是多”变成团队契约而不是个人偏好推行的阻力才会真正减少。5.4 问题四极简主义变成另一种焦虑还有一个很隐蔽的坑有人把“极简”本身当成新的KPI卸载了所有社交App、注销了账号、删光了收藏夹结果没坚持一周反而因为“没做到极简”而更加焦虑。书里讲北欧人幸福核心是“拥有选择的自由”不是“消灭所有选项”。你保留几个常用的App、留着一些暂时没时间看的资料、允许自己每周有一晚上刷短视频都不违背“少即是多”的精神。关键在于你是有意识地选择留下它们而不是被它们裹挟。同样地项目中留一些冗余时间、代码里留一些注释、需求池里放几个“以后可能做”的想法都没有问题。少即是多的“少”不是数字上无限趋近于零而是让所有保留项都经过你的主动判断。主动选出来的“多”好过被动接受的“少”。6. 我的落地清单从读完到用起来如果这本书只让你记住一个动作我希望是“每周三问”这周最重要的一件事是什么哪些事情是可以不做、不回复、不参加的我在哪些事情上投入了资源但产出为零把这三个问题的答案写下来比读十篇读书笔记都管用。我自己读完这本书以后第一件事是给手机设了一个“每周日晚8点数字宵禁”到点手机自动进入勿扰模式只保留电话和短信能响第二件事是把需求池从一百多条清理到十六条每条都标注了业务价值和对接人第三件事是在团队里推行了“会议时间盒”所有例会默认不超过30分钟。三件事听起来都不大但持续了半年我对工作的掌控感明显回来了不再有“忙了一周但不知道忙了什么”的失控感。最后再分享一个小技巧每一季度结束给自己列一份“已删清单”。上面列的不是你这个季度做了多少事而是你砍掉了什么——砍掉了一个低价值功能、退掉了一个没用的群、删了一段没用的代码、拒绝了一个注定做不完的承诺。这份清单比“已完成清单”更能反映你的成长因为“学会不做”永远比“学会做”更难也更重要。这本书不是灵丹妙药它没法替你解决老板拍脑袋加需求、客户临时改方案、线上环境凌晨报警这些破事。但它提供了一个很稳定的参照系当你的工作清单长到看不完、会议多到没时间写代码、需求堆到没人敢删的时候停下来想一想我们现在做的这一堆事情里到底有几件真正值得做。想明白这个你就已经走在“少”的路上了。
返回列表