以前我做汇报,有一个很明显的习惯。
我会把事情讲得很完整。
项目做了什么。
为什么这么做。
中间遇到了什么问题。
技术方案是什么。
目前进展怎么样。
下一步准备做什么。
我觉得这样才算“汇报清楚”。
毕竟作为技术人,我最擅长的就是把事情讲清楚。
所以我会准备很多材料。
很多页面。
很多数据。
很多过程。
甚至会提前猜测:
“领导可能会问什么?”
然后把这些问题也准备进去。
但有一次汇报结束以后,我突然意识到一个问题。
整个过程中,我讲了很多。
对方也听了很久。
最后却只问了我一句:
“所以,现在需要我做什么?”
那一刻,我突然意识到:
我可能一直在做一件事情。
把信息发送出去。
但我没有真正完成:
让信息产生作用。
那次汇报,其实没有出什么大问题
如果单纯看结果,那次汇报甚至可以算顺利。
材料准备得很完整。
数据也有。
项目进度也清楚。
风险也列了。
我甚至提前准备了几个可能被问到的问题。
但是结束之后,我自己感觉很奇怪。
因为我花了大量时间准备。
对方也花了时间听。
可是双方好像都没有真正得到什么。
后来我回到工位,把那份汇报材料重新打开。
我突然问自己:
如果把这份材料删掉80%,剩下的20%是什么?
我开始重新看。
项目背景。
过程。
技术细节。
实施过程。
各种截图。
各种数据。
然后我发现:
真正影响下一步决策的东西,其实并不多。
可能只有几个:
现在发生了什么?
为什么会这样?
有什么风险?
有哪些选择?
我建议怎么处理?
需要谁做什么?
我突然想到一个程序员很熟悉的东西
接口。
一个好的接口,不是把所有内部实现细节暴露出去。
调用方不需要知道:
数据库里面有多少张表。
代码里面有多少个类。
内部用了什么设计模式。
它真正关心的是:
输入是什么。
输出是什么。
有哪些约束。
可能出现什么异常。
调用之后能得到什么结果。
于是我突然意识到:
向上汇报,其实也是一个接口。
而我过去设计的这个接口,有一个很明显的问题:
把内部实现全部暴露给了调用方。
我以前的汇报,更像“日志输出”
我会把:
发生了什么。
做了什么。
怎么做的。
谁参与了。
遇到什么问题。
怎么解决。
全部讲一遍。
这其实很像系统日志。
日志当然有价值。
但如果一个系统把所有日志都直接丢给用户,让用户自己从几千行日志里面寻找真正的问题,那就不是一个好的产品。
后来我才发现:
汇报不是日志。
领导通常并不需要知道我这一天做了多少动作。
他真正需要知道的是:
这个事情现在处于什么状态?
有没有风险?
需要做什么决策?
需要投入什么资源?
如果不处理,会发生什么?
换句话说:
他需要的是经过处理的信息,而不是未经加工的原始数据。
所以我重新设计了自己的“汇报接口”
后来我尝试把一次汇报压缩成几个核心问题。
第一:
发生了什么?
不要讲十分钟背景。
先用一句话把事情说清楚。
第二:
为什么重要?
这个事情会影响什么?
业务?
项目?
成本?
风险?
时间?
第三:
现在是什么状态?
已经完成什么。
还有什么没有完成。
第四:
有什么问题或风险?
不是简单说“有风险”。
而是:
风险是什么。
发生概率怎么样。
可能造成什么影响。
第五:
有哪些选择?
如果存在多个方案,就把选择摆出来。
第六:
我建议怎么处理?
明确表达自己的判断。
第七:
需要什么决策或支持?
最后告诉对方:
你需要做什么。
这时候我才发现:
真正有效的汇报,不是把自己知道的东西全部讲出来。
而是:
把对方做决策所需要的信息,组织成一个可以被调用的接口。
最大的变化,是我开始敢于说“我的判断”
以前我特别害怕这一点。
因为技术人很容易陷入一个误区:
“我把事实讲清楚就好了。”
所以我们会说:
目前有A、B两个方案。
A有什么优点。
B有什么优点。
各自有一些风险。
最后:
“请领导决策。”
看起来非常客观。
但实际上,对方可能更困惑了。
因为:
你把信息传过去了,却没有提供判断。
后来我开始尝试:
事实是这些。
约束是这些。
我认为A更合适。
原因有三个。
如果选择A,需要承担这个风险。
如果选择B,则需要增加这些资源。
我的建议是A。
最后由对方决策。
这个变化对我来说其实挺大。
因为它意味着:
我不再只是信息搬运者。
我开始承担判断责任。
但“有判断”不等于“替别人决策”
这也是后来我慢慢找到的一个平衡。
技术人有时候会走到另一个极端。
以前不表达判断。
后来开始什么都要自己决定。
其实都不对。
真正好的向上沟通应该是:
把事实、判断和决策边界分开。
事实:
“现在系统有三个风险。”
这是客观信息。
判断:
“从技术成本和实施周期来看,我认为优先处理风险A。”
这是我的专业判断。
决策:
“是否接受剩余风险,需要业务负责人决定。”
这是决策边界。
这三个东西分开以后,沟通会清晰很多。
我还做了一个变化:开始主动暴露风险
以前我有一个很不好的习惯。
遇到问题以后,我会先自己解决。
实在解决不了,再汇报。
因为我潜意识里觉得:
把问题解决掉,才叫能力。
后来我发现,这种方式有一个很大的风险:
等我真的把问题暴露出来的时候,可能已经没有足够的时间处理了。
于是后来我开始改变。
如果一个问题已经影响到:
范围。
时间。
成本。
质量。
或者关键路径。
我会尽早让它进入汇报。
不是为了甩锅。
而是为了让风险尽早进入决策系统。
我会说:
“目前发现一个风险。”
“现在还没有造成影响。”
“但是如果在这个时间点之前不处理,后面可能影响上线。”
“目前有两个处理方案。”
“我建议采用方案A。”
这样,对方获得的不是一个已经爆炸的事故。
而是一个:
还有机会处理的风险。
这时候我才真正理解了“向上管理”
以前我听到“向上管理”这个词,总觉得有点别扭。
好像是在研究:
怎么让领导满意。
怎么汇报得漂亮。
怎么展示自己的工作。
后来我慢慢发现:
真正有效的向上沟通,并不是这些。
它更像:
帮助整个组织的信息流动得更顺畅。
你在一线。
你掌握大量细节。
领导在更高的位置。
他掌握的是更大的范围。
两边的信息天然是不对称的。
所以你的价值之一,就是:
把底层复杂信息翻译成上层可以理解、可以决策的信息。
这其实是一种非常重要的技术能力。
甚至可以说:
技术人做到一定阶段以后,真正的能力差距,很大一部分来自“翻译能力”。
汇报接口重设计之后,我发现了一个意外变化
以前汇报以后,经常会出现这种情况:
领导听完。
问几个问题。
我回去补材料。
然后再汇报。
再问。
再补。
循环几次。
后来当我开始按照“事实—判断—选择—建议—决策”来组织以后,沟通明显变得短了。
不是因为事情变简单了。
而是:
信息的结构变清楚了。
对方不需要再从大量信息里面自己寻找重点。
问题、风险和选择被提前整理好了。
所以讨论开始从:
“到底发生了什么?”
逐渐变成:
“那我们选择哪个方案?”
这其实是一个很明显的变化。
沟通从信息同步,开始变成决策协作。
我也开始重新理解“材料”
以前我觉得一份好的汇报材料应该:
完整。
漂亮。
信息丰富。
现在我的判断标准变了。
我更关心:
这份材料能不能帮助一个人做出更好的决定?
如果不能。
再漂亮也没有太大意义。
所以现在我会刻意减少一些东西。
没有必要的背景,不讲。
不会影响判断的过程,不讲。
已经解决的问题,不占太多篇幅。
大量技术细节,放到附录。
真正需要决策的内容,放到前面。
因为我越来越相信:
汇报材料不是工作成果本身。
它只是帮助工作继续往前走的一个工具。
这也改变了我看待“表达能力”的方式
以前我以为:
表达能力好,就是:
说得清楚。
讲得完整。
逻辑严密。
后来我发现,还不够。
真正重要的是:
你的表达有没有改变对方对事情的理解?
有没有让对方知道真正的问题?
有没有让对方理解风险?
有没有让对方看到选择?
有没有让对方知道你建议什么?
有没有让对方知道下一步应该做什么?
如果都做到了。
哪怕只讲五分钟。
也可能比讲半个小时更有效。
当然,我现在还是会犯错
有时候一涉及自己熟悉的技术领域,我还是会不自觉地讲很多细节。
尤其是当我觉得:
“这个地方如果不讲清楚,别人可能理解错。”
于是开始解释背景。
解释原理。
解释过程。
然后越讲越多。
后来我会提醒自己:
先把接口说清楚。
如果对方需要内部实现,再展开。
这其实和设计软件接口很像。
默认暴露最必要的信息。
需要更多细节的时候,再深入。
不要一上来就把整个内部系统打开。
我后来发现,真正被重设计的其实不是汇报
而是我的角色。
以前我把自己定位成:
执行者。
领导问:
“做到哪里了?”
我回答进度。
“有什么问题?”
我回答问题。
“下一步是什么?”
我回答计划。
现在我开始尝试把自己定位成:
一个能够发现问题、分析问题并提出选择的人。
这时候汇报就自然发生了变化。
因为你的工作本身已经不只是:
“我做了什么。”
而是:
“我发现了什么。”
“我判断意味着什么。”
“我建议怎么处理。”
“需要什么决策。”
这其实就是从执行走向判断的一个过程。
写在最后
我以前一直以为:
向上汇报,就是把自己的工作讲清楚。
现在我越来越觉得:
向上汇报真正解决的问题,是信息如何从一个复杂系统,流向另一个决策系统。
你掌握一线信息。
对方掌握更大的资源和决策权。
中间真正缺的,不是更多数据。
而是:
翻译。
把事实翻译成问题。
把问题翻译成风险。
把风险翻译成选择。
把选择翻译成建议。
最后,把需要对方做的事情说清楚。
这次“接口重设计”之后,我最大的变化不是:
我学会了怎么汇报。
而是开始意识到:
一个技术人真正的价值,不只是把事情做出来。
还包括:
看见问题。
理解问题。
判断问题。
然后让别人也能够基于这些信息做出正确的下一步动作。
以前我努力证明:
“我做了很多事情。”
现在我更希望让别人看见:
“这件事情现在到底意味着什么。”
可能这就是一个程序员开始从“写代码的人”,走向“解决复杂问题的人”之后,需要慢慢补上的另一种能力。
不是让自己说得更多。
而是让每一次信息传递,都真正产生一次有效调用。
我是语霖。
执笔为语,心落成霖。
希望用文字和声音,记录一个40岁程序员重新设计人生系统的过程。
我们下期接着聊。