如何向领导层提出反对意见
原始链接: https://www.seangoedecke.com/pushback
本文最初发布在 LeadDev。这篇文章的语言风格可能与我博客中的其他文章有所不同,因为 LeadDev 有他们专属的"行文规范"。
向领导层提出反对意见
当你作为项目负责人时,有时候必须学会对领导层说"不"。无论是他们提出了一个根本无法实现的排期,还是要求做一些技术上不可能做到的事,把"不"字加入你的常用词汇库,是你作为工程师的责任。
但向领导提出反对意见的风险很高。如果你处理得当,哪怕是在说一些领导不爱听的话,也能建立他们对你的信任;但如果处理得很糟,可能会对项目的成功或你个人的职业生涯造成严重影响。
在决定反对之前,先想想自己该不该这么做。你应该把反对的机会留给大问题。说"不"是一件严肃的事。领导层对项目宏观战略的了解几乎总是比你多,所以你只应对真正不可能实现、不符合职业道德,或会危及项目目标的问题提出反对。
在开口之前,先问问自己:如果硬着头皮做,结果会怎样?如果答案仅仅是"代码会有点难看"或者"以后得多花点时间维护",那你最好只是把这些情况沟通清楚,然后继续推进项目。
不过,也别走向另一个极端。作为一名技术人员,拒绝那些不可能或难度极高的事情是你工作的重要部分。如果对所有要求都言听计从,就是失职。答应做不可能完成的任务,也许会让领导短期内很高兴,但当你最终无法交付时,他们会非常愤怒。
提前做好调研
一旦你决定要反对,必须先搞清楚你是在反对谁。通常你可以直接问经理,某个棘手的需求到底是从哪来的。是你直属经理的主意?产品经理的计划?某个部门的战略?硬性的法律合规要求?还是 CEO 的想法?这背后的不同源头,需要你采取不同的策略和努力程度。例如,如果是 CEO 的主意,你不能硬碰硬;最好的做法是说服你的经理,让他们去向上级反映。
你还需要搞清楚领导为什么想要这个棘手的需求。如果领导是为了拿下某个大型企业客户的订单,而你因为某个细节会引入严重安全风险而提出反对,那么你的反对很可能会奏效。但如果你反对的原因是"这会让产品的某些细节显得不够精美",那你的反对多半会失败。为什么?因为对于大企业订单来说,"打磨细节"几乎从来不是高优先级,但"安全性"永远是。
态度温和,留下书面记录
你越早提出反对,你的态度就可以越温和。这就好比开车,如果你到最后一刻才刹车,就必须急刹;如果早早开始踩刹车,就能平稳地停下。同样,如果你在项目发布前一天才对某个需求提出反对,这将会引发一场危机:每个人都会很焦虑、很忙碌,为了让大家达成共识,你不得不把人拉进紧急会议。因此,请留出充足的时间,让问题自然地传达到领导层的视野中。
正因如此,去预判你所负责项目的潜在问题,而不是等问题发生了才去反应,就显得尤为重要。即使一切顺利,你也该试着去预估未来最大的麻烦可能是什么。还有哪些未知因素?你依赖其他团队的哪些工作?哪些需求讨论得最少,或者最容易被不同团队误解?
当你提出反对时,先口头沟通,再通过书面跟进。先和经理面谈,这样可以在公开表态前,摸清是谁在推动需求以及目的何在。决定反对后,你应该写一份清晰的总结,说明你反对什么以及为什么反对。无论是通过工单、Slack 消息还是电子邮件,你的经理都需要一份书面材料以便向上汇报。
向你的经理提出反对,实际上是要求他们去向他们的经理做同样的事。如果他们手头有具体的书面材料作支撑,这个过程会容易得多。
记住,你是在提供建议
在撰写书面反对意见时,要假设这份材料会被比你直属经理高一两级的领导阅读。这意味着:语言要简明扼要,少用技术细节,态度尽可能中立和客观。把心态调整为:"是我们一起解决问题",而不是"我与你作对"。最糟糕的做法就是把管理层描绘成敌人,把你自己当成阻止糟糕决定的英雄。
提供多个备选方案非常重要。如果只给一个选项,听起来就像你在教领导做事。不过,你也应该明确指出你更倾向于哪个选项,因为领导往往希望快速做决定并推进工作。没人喜欢听到"我们做不了 X",然后还得自己想该怎么办。更好的说法是:"我们无法实现 X,所以我们可以选择做 Y 或者 Z ------ 我推荐 Y。"
即使你很难找到好的替代方案,也应该给出一个选择------哪怕这些选择都不理想。一个保险的选项是建议完全砍掉这个棘手的需求,哪怕从产品角度来看它很重要。这不会给你带来任何责任,而且你可能会发现这个需求其实没你想象的那么关键,从而为你省下大量工作。注意不要过度承诺无法解决的方案,否则你的经理可能会当真,并让你去执行。
做好被驳回的准备
如果一切顺利,管理层会同意你的观点,从你提供的备选方案中选一个让你去执行。
但如果不成功呢?有时你提出了反对,却被完全驳回,领导要求你必须按原计划执行。
这是最考验心态的时刻。当你鼓起勇气提出反对却换来一句干脆的"不行"时,在情感上可能会很难接受。你应该提前做好接受这种结果的心理准备。在绝大多数情况下,你的反应应该是"好的,听你的",然后按照他们的计划去执行。如果之前预测的灾难性后果真的发生了,至少大家知道你曾提前警告过------这就是为什么留下书面记录如此重要。
你可以这样安慰自己:有一点反对意见,总比什么都不说要好。经理们通常有足够的项目经验,知道事情总是会出问题的。如果他们听不到资深工程师提出任何问题,反而会怀疑大家是不是没有用心。因此,即便你的意见被驳回,只要沟通得当,领导们通常也会感激你为此付出的努力和责任心。
总结
向领导层提出反对意见可能是领导一个项目中最困难的部分,但往往必不可少。如果你能及早、温和地踩下刹车,并且充分考虑项目背后的商业逻辑,你就能帮助你的经理们找到解决问题的方法。
如果你喜欢这篇文章,欢迎 订阅 我的邮件更新,或 [在 Hacker News 上分享](news.ycombinator.com/submitlink?... pushback to leadership)。以下是一篇带有相同标签的相关文章预览:
疯狂处理 JIRA 工单只是表面功夫,无法带来真正影响
不要变成 JIRA 工单僵尸!我认为很多有抱负的初级工程师都有过这种常见经历(我自己肯定也做过):对团队缓慢的进度感到沮丧,然后决定"管他的,我要把这些工单全搞定"。在很多团队里,处理比第二高产的同事多出 2 到 3 倍的工单并不难。但这是一条死胡同。你会得到几句安抚式的表扬,比如"干得好,别累坏了",但这根本无助于你获得高级工程师的晋升。
继续阅读...