极客时间已完结课程限时免费阅读

16 | 如何和工程师有效沟通?

16 | 如何和工程师有效沟通?-极客时间

16 | 如何和工程师有效沟通?

讲述:丁婵

时长14:22大小7.24M

工程师和产品经理之间的恩怨情仇,一直是科技圈茶余饭后久盛不衰的一个话题。“产品狗”摧残“码农”的故事、或者工程师吐槽产品经理什么也不懂只会乱提需求的段子屡见不鲜。那么,产品经理和工程师到底能不能和谐共处,成为一个战线上的好伙伴?
其实,一个优秀的产品经理不仅能和工程师有效合作,甚至可以让工程师觉得跟定了你,没你不行。
在硅谷,我们常说一个顶尖的产品经理每次跳槽,都能拉走一堆优秀的工程师,究其原因:一是,这样的产品经理确实不多见;二是,遇到一个好的产品经理,工程师可以把更多精力花到他们感兴趣的、有巨大影响力的方面,可以更有效率地做出优秀的产品。

优秀的产品经理能激发工程师的能动性

在硅谷的很多顶尖科技公司,都是 “工程师导向”的文化,也就要求产品经理不能像监工一样告诉工程师应该做什么。如果产品经理对工程师指手画脚,那工程师会顿时失去工作的兴趣,吵着嚷着要换组、换产品经理。
但是,一个真正优秀的产品经理能够让工程师兴奋起来,满腔热情地投入到产品开发中;而这种热情一旦被激发出来,产品经理就再也不用担心工程师会拖延工期、消极怠工,相反工程师甚至会比你更积极。
那怎么才能激发工程师的能动性呢?我至少和百位不同背景、不同资历的工程师工作过,在无数次“踩坑”后,我总结了下面的这些建议。
第一,作为产品经理,你应该知道这个工程师在乎的是什么。
他是一个刚毕业不久、满腔激情、想赶快升职加薪的工程师?还是一个想解决最高难度的技术问题,哪怕产品没人用,只要解决的问题难度足够高就高兴的工程师?还是一个满肚子主意,极其讨厌产品经理告诉他该做什么的“点子大王”?还是一个有些害羞、很多想法都憋在心里,但其实特别希望自己有存在感的人?
知道了他在乎什么,你才能知道怎么激发他的能动性,以及该让什么人做什么样的项目。
想升职的工程师肯定喜欢做老板能看得见的项目,哪怕这些项目没有多高的难度,帮助这些工程师在老板面前“出出风头”,他们肯定对你死心塌地。
技术宅?那你就给他们强调一下,这个项目的哪些技术问题是其他工程师想想就头疼、根本解决不了的,满足他们的虚荣心。
“点子大王”?那就找机会表扬他的点子又多又好,就算这个想法是你先想出来的,你也可以在和他交流时循循善诱,引导他说出你的想法,然后赞叹他的想法真厉害。
比如,如果你认为应该在视频平台上做一个让用户发弹幕的功能,不要直接和“点子大王”说:“你负责做弹幕”,而是要从问题出发,你可以说“我们的视频互动性太差,用户都不喜欢发评论”,然后引导他说出做弹幕的主意。
至于害羞的工程师,你可以在开会的时候刻意给他们表达自己的机会,他们绝对对你感激涕零,期待和你继续合作。
知道工程师要什么,想办法在现有的项目里给他们相应的机会,会让你们之间的合作事半功倍。 至于怎么知道工程师要什么,你不如和他约个时间喝杯咖啡私聊一下,了解他的个人情况,你甚至可以直接问他:“你是如何决定自己做的事情有没有价值的,你在乎的是什么?”
第二,产品经理应该知道怎么和工程师沟通最有效率。
很多工程师最讨厌的就是开会,因为 30 分钟的会议打断了他们的思考时间,拖慢了他们写代码的进度。
所以作为产品经理,虽然你每天要花很多时间在开会上,但是要考虑一下这个会到底有没有必要让工程师参加,可不可以安排到这个工程师其他会议之前或者之后的时间, 这样尽量少地打断他们的思考,以便于他们有效率地编程。
你还需要思考,除了开会之外,还有没有其他可以高效做决定的方式,比如发个邮件。
第三,产品经理要弄清楚什么决定需要自己领导大家做,什么决定可以放心地交给工程师们自己做。
比如,某个按钮是 100 像素还是 120 像素,类似这样的决定,是不是可以让工程师和设计师自己决定?
很多产品经理常犯的错误是,自己做出所有的决定,和工程师交流时只是要求他们按照指定要求来做,但实际上有些要求根本就不切实际。 更或者,按钮是 100 像素还是 120 像素,可能对于产品的成败来说,并不是最重要的决定, 你完全没必要在这种决定上花时间。
还有些产品经理只告诉工程师要做什么,从来不解释产品的目的、成功的标准,工程师完全不知道这些决定背后的策略和思考过程, 结果就是事事都需要产品经理告诉他们要怎么做。
其实,一个好的产品经理一定会清晰表达产品要解决的问题、如何衡量成功、需要最先解决的用例以及原因,让产品团队的工程师、设计师、数据科学家等都有足够的背景信息。 这样,很多的小决定完全可以让团队成员自己做,从而既可以大大提高产品效率,又可以提高团队成员的能动性。
当然,这并不是说产品经理什么决定也不用做,一个优秀的产品经理,会确保自己的时间花在“非我不可”的事情上,其他决定都会交给他人。设想, 如果一个产品经理把每天的时间都花在解决按钮是 100 像素还是 120 像素这种问题上,他们哪还有时间去和客户做一对一交流、制定产品战略、思考“脑洞大开”的新功能。
第四,产品经理应该帮助工程师解决开发过程中的一些困难。
很多工程师在开发过程中会遇到一些困难,比如因为其他组工程师进展缓慢而导致开发工作停滞,因为开发的新功能被律师认为风险太大而面临一些质疑,等等。因此,产品经理应该积极询问工程师:“你需不需要我为你提供一些帮助”,帮助工程师解决开发过程中遇到的障碍。
因此,帮助工程师扫清开发路上的各种障碍,可以提升你的产品开发效率,而这正是优秀的产品经理需要做的事情。 比如,我常常对工程师说:“现在有哪些工作是你不喜欢做的,告诉我,无论是脏活累活,我来帮你做”。其实,这也是一个帮助你和工程师建立信任关系的过程。

怎么催工程师加快进度?

这个问题是很多刚入行的产品经理最担心的,我的建议是,让工程师先自己估计需要的工期,然后再设定截止日期。如果他们预估的工期太长,我可能会提出一些问题,弄清楚为什么需要这么长时间,看看哪些部分可以砍掉,到底值不值得为截止日期砍掉这些功能。
工程师估计完自己需要的时间后,我会和工程师说明我们的发布计划, 比如某月某日营销团队会开始宣传产品功能、 某月某日我们需要开始运营工作等等,这样可以让工程师了解其他部门的进度,增强他们的归属感。
刚入行不久的工程师估计工期的能力比较差,如果他们的工期估计得太长,我就会想方设法让他们告诉我工期是怎么估计出来的,然后跟他一起讨论,哪些部分可以用现成的 API,哪些部分可以少花一些时间。
如果遇到确实要将截止日期提前的情况,我会告诉工程师需要提前的详细原因。这样做的目的是,让工程师觉得你和他是一起的,让他感觉到你的信任、你在思考如何一起解决工期提前的问题。
所以,我一般不会直接说要花多长时间,而是让工程师先估计工期,如果我觉得估计得过长,我会诚恳地告诉他我们需要加快进度,看看有没有什么方式能够重新组合一些计划,以加快工期。
在这里,一定要让工程师觉得自己是有掌控权的,而不是产品经理一拍脑袋,就决定个截止日期。 就算这个截止日期是你自己拍脑袋决定或者老板要求的,在表达日期的时候也要尽量体现出对工程师的尊重,用问问题的形式表达自己的看法,积极地和工程师一起寻求提前工期的方式。

产品经理常见的棘手问题:需要改需求怎么办?

改产品需求是一个非常常见的过程,有些时候前期计划做得很好,开始 Beta 测试时却发现,用户对某个功能根本不理解,还是需要改动。
其实,开发本来就是一个不断迭代的过程,所以应该首先认识到,产品开发不是产品经理闷头花几个星期写一个文档, 然后再抛给工程师让他们按照这个文档执行的过程。
但是,改需求并不代表产品经理可以在产品需求文档上胡写乱写,做出一些不靠谱的决定,这是在浪费工程师的时间。这里我就跟你说说有哪些方式能够避免在开发后期改需求,如果真的要改需求,如何和工程师有效沟通。
尽早和工程师进行产品功能设计的讨论,让他们提前了解各种背景信息。我平时的工作方式是,先在产品需求文档中写明需要解决的问题、如何判断成功,并写几个产品方案的初稿,和工程师、设计师们进行讨论,回答他们的问题,让他们一开始就参与进来。通过这个讨论过程,我可以知道有什么技术上的局限性,然后根据大家的反馈修改产品需求文档。这样可以避免在工程师花费大量时间后才发现问题,然后重新来过,导致工程师做无用功。
如果确实需要让工程师们重新写已经写好的东西, 或者砍掉他们已经写好的东西,一定要积极承担责任。 这种情况,可能是因为你作为产品经理少考虑了某些情况,也可能是突然发生了一些变故,比如公司改变了策略、竞争对手突然“搞事情”。虽然这并不一定是你的责任,但是这时你还是应该积极和工程师交流,主动承担责任,告诉他们:“这个赖我,辛苦你了”。
其实很多时候,就算产品经理自己主动承担责任,工程师也不会“顺杆爬”埋怨你,他们反而觉得你是个靠得住的好产品经理,甚至会过来安慰你。
积极承担责任,说句“抱歉,辛苦了”,虽然对你来说就是一句话的事儿,但这可以很好地安抚已经努力工作了一个月、每天加班加点儿的工程师。很多时候,给工程师们一些鼓励和温暖,虽然看上去微不足道,但却能让他们干劲儿百倍,对你死心塌地。

总结

最后,我来给你提炼一下今天的要点。
要做到和工程师的有效沟通,你作为产品经理需要做到:第一,知道这个工程师在乎的是什么;第二,知道怎么和工程师沟通最有效率;第三,弄清楚什么决定需要自己领导大家做,什么决定可以放心地交给工程师们做;第四,帮助工程师解决开发过程中遇到的困难。
接下来,我还跟你分享了怎么催工程师加快进度,以及怎么处理改产品需求这种常见的棘手问题,归纳起来不外乎这几点:第一,尽早和工程师进行产品功能设计的讨论,让他们提前了解各种背景信息;第二,积极承担责任,把过错往自己的身上揽,而不要抛给工程师;第三,要让工程师觉得自己是有掌控权的,而不是产品经理一拍脑袋就决定了截止日期和产品的需求。

思考题

你的一个工程师平日少言寡语,从不会主动表达自己的想法,会议的时候也不怎么发言,但是你在产品开发的过程中发现,他并不完全同意大家的决定,所以也不能很顺畅地执行,那么你作为产品经理应该怎么做?
你的一个产品功能,因为测试的体验太差,有被砍掉的风险,而这个主意是你自己提出来的,你会怎么和工程师沟通这个糟糕的结果?
你的一个工程师鄙视你没有工程背景,在做决定的时候并不信任你提出的建议,你该怎么取得他的信任?
欢迎你给我留言。
分享给需要的人,Ta购买本课程,你将得18
生成海报并分享

赞 7

提建议

上一篇
15 | 如何组织有效的会议?
下一篇
17 | 如何与设计师有效沟通?
unpreview
 写留言

精选留言(34)

  • 徐东鹏~种下一朵太阳...
    2018-06-06
    沟通的艺术体现在是否有同理心,大家都是讲理的,要清楚团队成员的情况,和每个成员建立相处模式。除此之外,不能仅限于正式沟通,非正式沟通最容易拉近,比如中午一起吃简餐,茶水间聊两句。 功能做出来被砍掉是最要命的,我曾经遇到一次,因为行业政策影响无法上线。 因为测试体验问题,无法上线还未遇到过。可以考虑的措施有:1、上策,和大家苦口婆心,讲测试中发现的问题,产品主动承担责任,讲我们对体验的要求;2、中策,带领大家一起体验,让各负责人主动发现问题并承担责任;3、下策,让老板背锅,和大家说老板不让上线; 和工程师没必要比技术,有没有工程背景也不重要。在业务方面、产品理念,对用户的理解、数据的掌握上有足够优势 就可以让人信服。
    展开

    作者回复: 上中下策说得好!

    共 2 条评论
    27
  • 江山未
    2018-05-28
    个人感受有几点,好的产品经理,有些需求他能替你过滤掉不合理的地方,或者提前征求你的意见。有不得不改的地方,会带着十分的歉意。偶尔改到烦的时候,还会替你说话,抱怨两句客户。

    作者回复: 哈哈 说到心坎里了

    15
  • Landy
    2018-07-07
    作为一名研发主管,常常觉得产品的需求或产品规划不合理,逻辑不闭环,后续迭代没法扩展,怎么办?和他们理论呢,经常就被一句话怼回来了:领导同意了的,领导说要这样子的.......到最后往往都没激情了,懒得扯了,你说啥就啥吧
    共 1 条评论
    11
  • 布冬
    2018-10-26
    我来学学产品经理的套路,好怼他们😂
    8
  • 公号-技术夜未眠
    2018-05-27
    本质上,无论是做事,还是与人相处,都要以需求为导向。这也许就是"大道至简"的佐证吧。
    8
  • 山下哩人
    2018-05-31
    只一句话:善于接锅。

    作者回复: 精辟!

    6
  • 国卿 Bashᵖᵐ
    2018-05-29
    1.尝试积极的与此工程师一对一沟通,以提问题的方式开展对话,少说多听,听对方对于此功能的建议,抱怨,挖掘对方不满的原因。找到合适的时机阐述产品经理的思考方式,产品需求由来。也让对方明白此刻不是闹脾气的时候,每一个人都要对产品结果负责,放下杂念积极做事。 2.测试体验太差,遇到问题多考虑下内因,是否是自己没有做好走查的工作,daily build是否都去体验尽早发现问题不让工程师知道最后才进行修改。外因工程师是否是小白刚入行,对于产品的交互理解不到位,自己是否有帮助对方确认过交互逻辑。如果是自己的原因导致的,先对工程师给予抱歉,并说明自己的工作不足,并表明下一步的整改计划,产品上线后表达对对方工作配合的谢意。不论是内因还是外因,客观分析后完善自己在产品执行上的深度。如果多次沟通后此工程师并没有改善,是否可以给boss反馈换人? 3.善用自由选择,会提出两个方案,其中一个方案明显要优于另一个方案,统一对方的决策模式,让对方二选一。如果此时对方能够提出更好的建议方案,也要虚心接受,不能坚持产品经理的面子。
    展开

    作者回复: 如果沟通无效 可以反馈

    6
  • 邹优杰
    2018-05-27
    这节课很有收获,实践意义很大,谢谢曲老师

    作者回复: 多谢 很开心你觉得有用!

    5
  • 向哲
    2019-10-04
    执行问题,我可能会找机会私下和工程师聊聊,一起吃午餐,看看最近有什么可以一起做的事情,比如打球锻炼什么的,或者看看他最近有什么难做的事情,如果有可能自己能不能稍微帮一下 沟通问题,最好的方式,就是文中说的,把背景和结果什么都说了,大家也能理解,产品把责任担了,及时站出来。看看怎么优化调整,进度和大家同步,感谢大家。如果不能调整的话,也要总结下原因,做到真诚、及时、把事弄清楚说明白。再就是,可以把决策权放在其他相关部门的手里,比如是给业务部门做得,看看他们有什么意见,用业务部门的意见作为参考。最后,较差的方案,看看老板什么意见,不上线把锅给老板。 背景问题,首先要承认技术方面确实没有人家厉害,专业的人做专业的事情,接纳自己,好的产品需要的是很多人一起的协作,而不是一个人的solo,尊重和欣赏工程师做得优秀的部分。再就是,要突出自己在用户洞察、产品、业务、数据方面的优势,技术专业方面可以尊重他们的意见,但是和用户、产品相关的部分产品也可以提出意见,技术实现出来还是给人用,优势部分尽力做到专业、靠谱。最后,信任的建立的过程是需要花时间的,第一印象很重要,注意平时工作的细节,必做得事,往专业极致的方向做。不会的事情,也要做到遇事不躲,尽力往好的方向做。
    展开
    3
  • Lynn
    2018-06-28
    产品经理需要让团队成员都有参与感,有每个人的思想结晶融入到产品中,而不只是任务的执行者。项目成功的概率会增大,个人的成就感以及团队的荣誉感都会不一样。

    作者回复: 同意!

    3
  • 文武
    2018-11-19
    Q1:首先线下单独找该工程师沟通,尽量用轻松愉快的方式沟通,拉近两个人的距离,并鼓励工程师在会上勇于发表自己的想法,同时在会上给该工程师更多的发言机会。 Q2:首先勇于承担责任,将产品被砍的责任扛过来;然后要带领大家复盘,总结产品可能被砍的原因,如何在后续的产品开发中避免类似的问题,失败也是一种收获。 Q3:不信任的原因是因为没有工程背景;所以首先做到尊重工程师的任何的意见和反馈,其次努力自学弥补自己这方面的缺陷,至少跟工程师能够用技术的语言沟通;更重要的是要在合作中体现自己的产品价值,让工程师察觉到你有很多知识是他不具备并且需要学习的;
    展开
    2
  • SuperSnow
    2018-09-21
    如果工程师自己估计时间估少了,那怎么来申请延长时间呢?
    1
  • luna
    2018-07-27
    这种情况,可能是因为你作为产品经理少考虑了某些情况,也可能是突然发生了一些变故,比如公司改变了策略、竞争对手突然“搞事情”。虽然这并一定是你的责任,但是这时你还是应该积极和工程师交流,主动承担责任,告诉他们:“这个赖我,辛苦你了”。 ps,少了一个字,“虽然这并不一定是你的责任”,比较复合语境?
    1
  • mi
    2018-07-11
    老师,您工作的团队有项目经理吗?如果有的话在职权上和产品经理是怎么划分的呢?
    1
  • sam
    2018-05-30
    工程师也有leader,老师说的很多内容感觉应该是他们负责的

    作者回复: 嗯 有的时候没有给力的leader就得自己上!

    2
  • 人间理想
    2022-07-29 来自陕西
    老师,当你们团队的工程师肯定特别幸福😂 都在为程序员考虑
  • Sam_Deep_Thinking
    2022-02-15
    可惜,国内有很多【不靠谱】的产品经理,从来就没有这个想法。须知,产品和研发本来就应该是一家人。
  • Eva
    2021-06-02
    很有用,不光对工程师,还有跟其他人相处也是一样的。敢于承担责任,互相尊重,根据对方的个性来相处,提前做好商量……曲老师真的很厉害呢!
  • KingSwim
    2021-03-29
    产品是否可以问问工程师,有什么功能是他想做的(优化的)? 个人经历发现,很多功能由于历史原因,看起来可以用。但是往后迭代的发现根本迭代不动或者是改一次要花很多时间。工程师特别希望把这一块重新做一次。
  • PP
    2020-12-21
    就第一个问题而言,通常这类人的想法和思考都是很多的。他们只是缺乏一些主动性,或者还是对自己的意见不够自信,没有勇气说出来。这样来看,作为协调统筹项目组人员的产品经理,观察到此现象可以在会上机智地push他一下,让他现场表达出意见,后面就不会出现他不说也不配合的状况了。