你的技术方案为什么总被否
上个月,一个技术朋友跟我吐槽。
他的团队花了两周设计了一套重构方案,要把跑了五年的单体应用拆成微服务。架构设计很扎实,领域划分清晰,接口定义规范,甚至连服务间通信方案都做了三版对比。
评审会上,他讲了45分钟,从领域驱动设计讲到CAP定理,从服务网格讲到可观测性。CTO听完,问了一个问题:"这个事做了之后,下个季度的大促能少出几次故障?"
他愣了一下,说:"理论上会改善。"
CTO说:"你们再想想。"
没有然后了。
这不是段子。我见过太多类似的场景,包括我自己。一个技术方案,技术上无懈可击,但就是过不了决策者那关。大部分技术Leader的第一反应是:他不懂技术。但如果你仔细复盘,问题往往不在技术本身。
决策者到底在听什么
技术方案被否,十有八九不是技术有问题,而是呈现方式和决策者真正关心的东西之间有错位。
技术Leader做方案评审,通常的逻辑是:先讲现状有什么问题,再讲对比了几种方案,最后讲为什么选这个。这个逻辑没毛病,但讲着讲着就容易变成技术展览——架构怎么拆、数据怎么迁移、性能数据有多好看。30分钟里25分钟在讲HOW,5分钟讲WHY,而且这个WHY还是技术视角的WHY。
但决策者在想的是另一组问题:这件事做了对业务有什么影响?要花多少人多少钱?风险有多大?有没有更便宜的方案?做了这个就不能做什么别的?
这两个清单几乎没有交集。
我有一个感受:技术人做方案,习惯性地从"技术正确性"出发。架构优雅、选型合理、性能达标——这些对我们来说是方案的及格线。但决策者的评估维度完全不同。他在想的是ROI、风险可控性、团队能力匹配度、机会成本。你在技术维度拿了满分,在他关心的维度可能不及格。
一个真实的对比
讲两个我了解到的场景。
场景A:一个技术Leader发现C端产品首页加载时间3.8秒,提了一个SSR改造方案。PPT写了40页,从渲染原理讲到hydration策略,从Lighthouse评分讲到Core Web Vitals。方案预估6周完成,能把首屏降到1.2秒。VP看完说:先放一放。
场景B:同一个团队,换了一个Leader来推同样的事。他PPT只写了8页。第一页:首页加载每慢1秒,转化率掉7%,我们目前3.8秒,行业基准1.5秒,意味着大约16%的转化率损失。第二页:按日均20万UV、客单价500块算,每天因为加载慢损失约160万交易额。第三页:方案概述,6周投入,两个前端一个后端,预期收益。
VP当周就批了。
两个方案的技术内容完全一样。区别在于,第二个Leader用了决策者的语言——钱。不是说技术人不该谈技术,而是你得先让对方听懂你在说什么。
"好方案"不等于"该通过的方案"
这是很多技术Leader不愿意承认的事。
我们评价一个技术方案"好",通常意味着:架构优雅、技术先进、性能极致、扩展性强。但决策者评价一个方案"好",意味着:投入产出比高、风险可控、团队能落地、不挤占更高优先级的事。
举个例子。一个团队提了用Rust重写核心模块的方案,性能预估提升10倍,内存占用降80%。技术层面完美。但决策者问了三个问题:团队有几个人会Rust?招人需要多久?如果这个人离职了谁来维护?
方案被否了。技术Leader觉得委屈——这可是技术上最优的方案。
但站在决策者的角度,他的评估函数里,"团队能维护"的权重远大于"性能最优"。一个没人能维护的高性能系统,不如一个大家都搞得定的够用系统。
这不是谁对谁错的问题。这是两个角色在用不同的评估函数给同一个方案打分。
四个实际有效的转变
意识到这个问题之后,我开始调整方案的呈现方式。几个转变比较有效。
第一,永远先讲结论,而且只讲结论。
前三分钟说清楚三件事:要花多少人多少时间,预期带来什么业务收益,最大的风险在哪。如果三分钟内说不清楚,说明方案还没想透。
决策者跟你自己不一样。他管着十几个项目,你只是其中之一。他的耐心窗口很小,如果你前三分钟没让他觉得值得听下去,后面的45分钟基本白费。
第二,用对方的语言。
不说"把同步调用改成异步消息队列,解耦服务依赖"。说"现在下单后的通知服务如果出问题,会把整个下单流程拖挂。改了之后,通知出问题不影响用户付款。"
技术细节对你是常识,对决策者是噪音。他需要听到的是:这个改变对业务意味着什么。
第三,主动暴露风险。
技术人的本能是把方案包装得尽可能完美,让决策者觉得万无一失。但决策者知道没有万无一失的事。你越不提风险,他越觉得你在回避。等到评审现场被问出来,场面就很被动。
反过来,如果你主动说"这个方案有两个风险点:一是数据迁移期间可能有短暂不一致,二是团队对新技术栈的熟练度需要两到三周爬坡。我们的应对方案是什么什么"——效果完全不一样。主动暴露风险不是在削弱方案,是在建立信任。它让决策者觉得你想得周全,而不是盲目乐观。
第四,给选项,不给答案。
技术人的思维习惯是找到最优解然后说服别人接受。但决策者不喜欢被"推",他更喜欢"选"。
我现在做方案一般给三个选项:A方案最便宜,两周搞定,解决60%的问题;B方案中间路线,四周,解决90%;C方案最完整,八周,但需要加一个人。然后我会说"我建议B,原因是性价比最高。"
这让决策者有掌控感,同时你通过"建议"保留了技术判断。而且他不太可能选C——因为大部分决策者的本能是选中间项。
评审之前比评审更重要
最后一个转变,也是最容易被忽略的。
很多人把技术方案评审当成一次答辩——准备充分,一次讲完,等结果。但有效的决策很少发生在正式评审会上。真正关键的沟通发生在评审之前。
如果你的方案需要CTO批准,提前一周找个时间跟他聊20分钟。不是做非正式评审,而是了解他的关注点。他最近在焦虑什么?对技术团队的期望是什么?预算上有什么限制?
这些信息会直接改变你方案的呈现方式。你知道他最近关心稳定性,就多强调风险控制;你知道他在压缩人力成本,就突出效率提升。
如果你事先没跟他聊过就直接上会,大概率会撞上他正好在烦的事情,然后被否。
这不是什么权术,这是基本的沟通策略。可惜大部分技术Leader都没有这个意识,包括以前的我。
这不是技术问题,是管理问题
做了这些调整之后,方案通过率明显提高了。不是技术变好了,是呈现方式变了。同样的技术内容,换一种表达方式,效果完全不同。
说到底,技术方案不是技术文档,是一份说服文件。它的目的是让一个跟你优先级不同的人,做出有利于你的决策。这需要理解对方的决策模型,用他的语言说话,在他关心的维度上证明方案的价值。
这个能力不叫技术能力,叫管理能力。
很多技术Leader在这个环节卡了很久,不是因为技术不行,而是因为他们一直在用技术思维做管理动作。意识到这个差异,本身就是成长。
添加新评论