技术讨论中的问题迁移术

前言

时间过的太快,转眼已经工作十多年了。

刚入行时,听到业界有一句话说「用十年学会编程」。

回顾这十年,我发现真正深入研究「如何编程」的机会其实很少,顶多也就 5~6 年。


更多时间都消耗在「如何跟别人讨论问题」,已经「如何推进项目落地」上面。

我也隐约体会到了,有人的地方就有江湖,这一层含义。


在讨论问题的时候,尤其是有多人在场时,

将话题带偏是非常容易发生的事情,这需要会议的主持人有极强的控场能力 和 目标感。

不让人发言是不行的,发言之后,还能跳回主线,对共识的达成非常重要。

大大小小的 “技术辩论赛” 我也参加过不少,以下介绍的内容不论对主张方还是辩方都是很有帮助的。

利益相关性

主张方发起一个问题时,经常会受到各方的挑战和阻力,这是正常的。阻力通常有两类:

  • 利益相关:我发起的事项,影响到了别人的利益(减少收益 或 增加损失)

  • 专业建议:在处理问题的专业程度上,受到了别人的指导


要想能保持议题不跑偏的第一步,就是暂时性的忽略「专业建议」,只关注「利益相关」的言论。

因为专业建议大家都会说,也可能是随口一说,事情做成 做不成其实跟 提建议的人关系不是太大。

有时候,人们只是觉得应该讲句话而已,不必太当真。

讨论的目的

识别到了利益相关性之后,我们还得想清楚讨论的目的。

有人说「开会的本质是用时间换共识」,我觉得是有道理的。

所以,要想高效的开会,就得想办法如何用更少的时间达成共识。


虽然说达成共识并不需要所有人都认同,但是争取到更多的人认同仍然是必要的,论证方法有如下几类:

  • 逻辑论证:通过推演事情的来龙去脉,因果关系 等,让别人信服(有前提,就必然有结果)

  • 类比论证:通过讲解其他成功的案例,来印证相似的事情也可能成功

  • 事实论证:通过具体的事件、数据 等,从统计结论出发,让别人难以反驳


虽然有以上多样性的论证方式,且论证本身也是必要的(主张方为力求结果更可靠,做出了必要的努力),

但我的观点是,论证无非是让别人更加信服而已,

而具备「假设思维」的人们,可以做到「主动欺骗」自己的大脑,让自己避免陷入论证过程中去(只看结果是否可靠,以及结果是否符合预期)。

带偏套路

在主张方进行论证的过程中,其实思路是很容易被人带偏的,我总结了一些套路:

  • 问题范围
    • 扩大范围:添加一些主观的预期和理解在里面,是原来主张方没有想去解决的,把问题搞复杂
    • 缩窄问题:只看要解决的具体问题,并不想考虑长远计划,由此推导出方案太复杂
    • 问题定义:提出问题的定义不清楚,需要主张方明确定义
  • 方案设计
    • 现有方案:转移到讨论现有方案为什么不能满足需要,讨论主张方对现有方案的理解程度
    • 不够具体:讨论细节,并需要主张方跑通一个复杂案例,来证明方案可行
  • 增加假设
    • 极端场景:想出一个比较少见的极端场景,以表明主张方的方案还不够完整
    • 输入误导:给一些错误的输入 或者 前提(或来自 更上层的预期),让自己以为事情很复杂
    • 阶段目标:不同意阶段目标,认为长远看来有风险


以上这些提问,确实是对分析问题有帮助的,也是值得提前思考的。

但这里想说的观点是,这些提问容易把问题带偏,在讨论完这些问题之后,需要有「跳回主线」的强烈意识。

如果主张方经常性的陷入以上问题的讨论细节,参会者是思路就会被搅的一团糟,不知道会议的主题是什么。

回归主线

最好的回顾主线方式是,在会议开始之前由主持人说清楚会议的目标或主题,

并在任何跑题事件发生时,讨论完成后(避免二阶跑题发生)立即叫停,跳回并重新阐释主题。


其次,深入的技术讨论,其实对参会人的逻辑素养要求极高,需要每个人都持有「假设思维」才能顺利讨论下去。

什么是假设思维呢?指的是可以站在任何一种假设之上,接着讨论问题,而不是揪着假设的对错不放。


举个例子,比如当我们在讨论 技术债治理 这个主题时,有时候会假设某些项目已经长时间无人治理了。

但有些人会揪着这个假设不放,质疑这些项目的数量占比。

任何才能完整的讨论问题,并顺利进展下去呢?假设思维可以让我们这样思考:

  • 假设无人治理的项目占比较高,那么 ……

  • 否则(如果占比较少),那么 ……


具备 “有前提就有结论” 的思考模式的人,任何时候都不会陷入恐慌。

因为就算前提有变,还是能导出不一样的结论。解决问题的能力,就是为印证假设不辞劳苦的行动力。—— 《思考的技术》

友好度

当利益受损时,很多人不会直言自己的利益,而是找别的接口来反驳他人的主张,

这种情况下也容易把话题带偏,识别的办法是「总是思考别人的动机」。

即,不要听别人说的内容,而是考虑他为什么要这样说。每个人的说辞,都是为自己的目的服务的。


当然妄加揣测是不对的,很容易对揣测到一个错误的动机。这里我总结两点经验:

  • 自信:别人给我什么印象,他就是那个印象,不要怀疑自己的判断

  • 试探:不断用自己的理解反过来试探,来验证自己的理解是否准确

  • 不确定性:确定只是暂时的,易变才是永恒的,我们时时刻刻处在不确定性之中,要及时订正自己的理解


我们应当总是秉持友好的态度去讨论问题,

也就是说,讨论问题时要 以利益扩大为主要目标(不论是为了自己,还是为了集体),

而不是为了压制别人 或者 故意搞砸一件事(以凸显自己)。

小结

要做到 友好/高效 的技术讨论,是非常难的,可能要同时关注以下几点才行:

  • 有人的地方就有江湖,手段多样,众口难调

  • 讨论问题时,需要先明确主题,支持人要及时控场避免跑题

  • 关注利益相关者的言论,忽略建议

  • 论证只是为了让人们更加信服

  • 有前提才有结论,能够站在任何前提考虑问题的人,思路会更完整

  • 别人不会直言利益,只会找借口,识别借口的办法是思考动机


有趣的是,如果你想搞砸一个技术讨论,可能会非常简单。只需要做到以下几点:

  • 事情跟自己利益无关,但仍然给出多项专业建议,让主张方认为这是必须要考虑的事情

  • 不了解会议的主题,用自己想象中可能有问题的点去挑战主张方

  • 让主张方花费精力去准备更多论证材料,但其实自己并不关心结果

  • 二阶跑题,在跑题的过程中,对把问题带偏的人,再次应用跑题术