19 | 产品经理如何与开发打交道(上):打破思维的边界
下载APP
关闭
渠道合作
推荐作者
19 | 产品经理如何与开发打交道(上):打破思维的边界
2018-01-02 邱岳 来自北京
《邱岳的产品手记》
课程介绍
讲述:邱岳
时长09:27大小4.32M
“横看成岭侧成峰,远近高低各不同。——苏轼”
在产品经理的日常工作中,开发工程师可能是我们打交道最多的角色,可是,这两个角色之间却有很多难以调和的矛盾,网上开发工程师怒怼产品经理的艺术作品很多,各种吐槽图片和文章俯拾即是 。
今年的 QCon 会议我也听一个段子,据说在大会的中午自助餐厅里,不同公司相互陌生的工程师,都靠吐槽自己公司产品经理迅速建立了友谊。
我自己写过程序,又成为产品经理,对这个问题有一些自己的理解,今天我就根据这个话题来谈谈产品经理如何同开发打交道。
为什么与怎么做
首先,我们来一起想想是什么原因导致了这两个角色之间的对立。
在面对产品或者特性时,产品经理和开发脑子里的东西是不同的。对于产品经理来说,他想的可能是客户、市场、盈利、竞争优势、政策风险、从哪里获客等等,这些东西想清楚之后,他的产出可能是 PRD,对产品功能需求的描述。开发一看,你折腾半天就这么一个东西,三页纸,没什么难度嘛。
开发脑子里关注的是什么呢?开发会关注手头的系统是不是遗留系统、系统架构有没有限制、公司的技术栈是什么样的、整个链路架构有没有问题、需不需要重构等等。这些东西产品经理可能不关注或者不懂,所以就看着一个挺大的开发团队做了很长时间,推出了一个特性,好像也没什么难度。
作为产品经理,有时我们会低估一个特性背后的技术成本。看什么都觉得简单,人家淘宝也有这个特性,为什么工程师说做不了呢?
尤其是通常在业务初期的时候,为了快速推进,工程师在实现上会做一些比较临时的东西,后期逐渐流量和复杂度提高,即便功能没变,也要花费大量的精力去调整技术架构。
所以你可以看到,产品经理脑子里的东西偏向“为什么”,而工程师脑子的思维方式会比较偏向于“怎么做”,两者的交集在“做什么”上面。也就是说刚才说到的,工程师看到好像产品经理背着手写了三页纸的 PRD,产品经理觉得工程师忙活半天就是一个简单的小特性。
久而久之,就会由不理解变成不信任,越不信任就越缺乏交流,演变成对立。
甲方乙方
关于这个话题我采访过我媳妇,她是做运营的,我说:“开发和产品之间矛盾这么激烈,你怎么看这个问题?”我媳妇觉得很奇怪,问我,你们不是一伙儿的吗?搞不懂为什么天天吵。
其实大部分公司中,最初设计组织的时候都会把产品和开发放到一起来看,希望这两个角色能够合力完成产品的设计和实现;但是在这个团队内部,随着人越来越多,就会有角色的分化,进而有了流程的分化,慢慢形成了甲乙方,或上下游。
如何去分辨团队从合作关系变成甲方乙方的关系呢?
有几个非常明显的信号,第一个是留证据,就是说了什么不算数,要发一个邮件签字画押;第二个是开小会,也就是在跟工程师开会之前,先自己角色内部开个小会,商量怎么对付对方,准备好对策之后再开大会;第三个是用词的方式,当你发现大家的用词越来越谨慎,并且开始在闲聊的时候区分我们和他们,设置大家开始试着从第三方了解彼此在干什么,了解对方对自己的评价等等。
类似的信号如果反复不断地出现,通常就意味着双方开始逐渐走向了对立,如果不加干涉,合作氛围就会出问题,一定要及时发现、及时处理。
加强沟通,互通有无
接下来我们要说怎么去克服双方可能出现的矛盾和对立,第一个要提到的,也是最重要的方法就是沟通。刚才我们说到产品经理脑子里是“为什么”和“做什么”,工程师脑子里是“做什么”和“怎么做”,过去产品经理和工程师的沟通通常会集中在做什么这里;更好的沟通就是要让产品经理把为什么告诉开发,让开发把怎么做告诉产品经理。
彼此说清楚自己的顾虑和困难,英文里有个说法叫做“ on the same page”,就是指产品经理和开发能看到彼此可以看到的东西,互诉衷肠,互相温暖。
专程交代业务规划和产品价值
对于产品经理来说,一定要专程交代产品价值。所谓专程交代,是指不要只在需求评审和需求沟通的时候才去介绍产品的来龙去脉。这是不够的,一定要拿出时间和精力去做专程沟通。
比如平时闲聊的时候,下午茶的时候,一起吃饭的时候,我之前经常会跟合作的工程师在吸烟室里聊,不说项目和需求,而是讲目前产品的状态,为什么要做现在的东西,之前做的东西的近况如何,业务目前是什么状态,接下来可能会向什么方向发展等等。
如果你在做项目的时候去沟通这些,工程师会本能地有所防备,因为你是有企图心的,你想说服工程师投入时间和精力做项目嘛。但当你专程去讲的时候,这个企图心就被放下来了,讲得多了,就会慢慢开始有共鸣。
一开始这么讲的时候会看起来像个神经病,但久而久之,工程师会理解你是真的在沟通,在共享信息。最后达到什么效果呢?就是当你真的开始提需求和项目的时候,工程师会非常理解,有种心照不宣的默契感觉。
掌握技术概念和技术语言
产品经理要掌握技术的概念和语言,这个蛮有意思的,每个公司都有技术栈,技术栈有不同的特点,我刚开始做产品经理的时候,主管知道我有写程序的经验,就让我去看代码,甚至让我去写代码,给我代码库的权限。他的目的就是要我知道,当时的技术栈是什么,基础的架构是什么。
看代码是个效率不太高但非常扎实的办法,还有个办法是去写非功能需求。因为工程师的“怎么做”有很多是在水面下的,比如他要保证可用性,保证安全,比如做一个简单的文本框让大家写东西为什么要花那么多时间?可能就是为了保证不要被黑客利用它做注入攻击。
如果产品经理把这些非功能性需求一条一条写下来,比如浏览器适配,做一个功能可能很快,但要保证在各种各样的浏览器下都表现稳定,就需要花费额外的时间,可能比做出这个功能花费的时间还要多。这些东西写下来,产品经理就可以大致了解真实的开发工作量。
另外就是作为产品经理要跟工程师多接触,让他们多给自己讲一些技术,优秀的工程师提到技术通常会滔滔不绝,如数家珍。当你了解基本的技术常识之后,就会理解技术成本和技术的局限性,知道哪里是技术的边界,如何跟产品更好地做搭配。
总结
我们从产品经理和工程师矛盾的原因开始说起,提到产品经理会更多地关注为什么和做什么,而开发会关注做什么和怎么做,可能彼此之间并不尽然理解对方的思维方式,另外角色的分化又会导致双方逐渐成为上下游的对立关系。
接下来介绍了一些加强沟通,促进相互理解的办法,建议产品经理多向工程师解释产品的来龙去脉,也要多去了解技术领域和技术语言,下一篇分享还会继续聊这个话题。
如果你是产品经理,你在工作中是如何与工程师保持合作的?如果你是工程师,你会反感产品经理的哪些行为?你心目中理想的产品经理是什么样子的?欢迎在留言中分享讨论,我们下次分享再见。
分享给需要的人,Ta购买本课程,你将得18元
生成海报并分享
赞 8
提建议
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
18 | 产品案例分析:WWF Together的情怀设计
下一篇
20 | 产品经理如何与开发打交道(下):合作与共赢
精选留言(19)
- 精卫鸟2018-01-04我见过的产品同学被怼,通常逃不出下面两点诱因[偷笑] 1. 需求变更其实没什么,之前没想清楚就说没想清楚,千万别拿用户和体验当幌子,把自己摆在道德高点,让变更变得理直气壮。 2. 永远不要和开发说这个需求你也不想做,都是老大们让做的; 或者说你这个功能不是我要的,是业务部门要的。开发通常会觉得你没担当,而不是理解你的无奈。 原则上不能守护好产品特性的产品经理,与不能守护好代码完整性的开发,都是很难获得尊敬的。展开
作者回复: 对,要有担当,敢承认自己错了
43 - Little__ZM2018-01-19我也是开发专产品。 理解痛点,技术难点。这有时候是好事,有时候会拦住我的想法。 好的一面,我的产品文档,大家愿意看。不好的一面,每次想方案,都会被这个好实现么,拦住脚步。
作者回复: 是的,这是个问题,我也会受到影响
11 - 拾叔2018-01-09作为后台产品经理,我天天跟开发厮混到一起,可以充分了解开发自己对产品的需求,其实很多开发并不是只单纯想怎么做,很多时候他们会关心为什么做,做的好处是啥,是否是可以复用的?然后在充分了解需求后,好的工程师甚至会给你提供多种实施方案,和产品一起讨论最终得出最优方案。 必要的沟通,就是给开发工程师的尊重,让开发能倍感尊重,开发出的代码质量都会好不少。展开
作者回复: 我做后台的时候也是天天跟开发厮混,哈哈哈哈哈
7 - Marnie2018-09-15作为开发,最烦产经说的一句话,“你去网上搜搜,肯定有现成代码”。 第一,这让开发感觉被看轻。好像开发连基本的检索能力都不具备,还要你产经来提醒。 第二,既然开发提出了代码可能达不到预期,就代表项目里可能出了问题。产经根本听不懂,只是一味强压。 还有一点儿,开发提出图片不合适需要修改,产经来了句“反正下次要改版,先凑合用就行。”那反正要改版,我代码是不是也不写你的新需求了?展开6
- 张伟2018-01-03二爷聊的这个确实是一个不错的选题,建议可以做成一个系列,把产品跨职能沟通过程中遇到的坑分享和分析一下,应该是比较有意思的系列
作者回复: 好主意~
4 - 时间之树2018-01-10作为产品经理,与开发沟通时,其实也应该把他们当成用户,站在他们的角度分析其真正的需求是什么,关心的是什么,然后以诚恳的态度加强沟通。3
- 小紅帽2018-01-04#我与开发沟通日常经验得到 1.好好说话达成共识,彼此工作目的服务于上级,实现价值。 2.了解彼此,提好需求,同开发技术哥讲清楚为什要做这个功能,最终要实现的结果是怎样的;同时要去了解怎么去实现,过程是否会遇到问题及开发成本。 3.多一起吃工作餐多交流,绝大部分问题都可在此化解。 4.态度一定要好,关于技术相关知识不懂的,多问一句,私下自己多补一点。展开
作者回复: 最好还是服务一个目标,而不是一个人
3 - 听天由己2018-01-02面对功能的第一反应,我是从用户、场景与问题入手,从第一要点来看,二爷是先考虑业务需求吗? 关于与开发沟通,我最深的感触就是,要讲清楚为什么,以及这件事情与整个产品的关系,开发不会单独为了某个需求而改变架构,要让他们理解这是产品的分支,而不是另辟蹊径。 还有就是,真的需要提前花时间沟通,而不是现场冲突,很多想法在开会时其实不见得容易问出来,就像二爷说的,每个人都有防备心理,毕竟这是工作,不是闲聊,有些事情不提前搞定,后续再开会就十分难看了。展开
作者回复: 业务需求也来源于对利益相关者和其利益的分析,而用户通常就是最重要的利益相关者。
2 - 小寞子。(≥3≤)2020-12-11我们做的更狠。 直接在把开发人员放在需求挖掘团队。整个团队一起做调查 需求挖掘。 产品设计。。这样每个人都完全明白目标是什么。为什么要写 怎么写。 端到端的参与1
- Dylan2018-06-27大家都是有一致目标的:让一个产品活的更好,活得更久,所以产生对立的情况,是由于双方共享信息不够透明及时,信息不对称导致猜疑和矛盾。主动沟通,弥补对方的信息短板,市非常好的沟通法则。学习了,产品把“why”讲明白,是在讲,用户场景需求,工程师把相对通俗易懂的“how”讲懂,双方共同决定“what”的方向。1
- 陌兮2023-02-15 来自广东作为研发,最不喜欢的是那种文档写的不清楚的产品。很多需求都不写其价值,做过的需求也没有得到反馈。其实作为开发,很关心自己所做的需求背后的价值。
- Geek_3508112021-09-29我们做的不是产品,而是用户需求的定制开发,有时候用户提出各种减少自己操作系统又能完成业务工作是需求,然后设计好提交给开发的时候,开发总说做不到,具体原因也不说,就一直怼你们需求很傻逼、你们设计很反人类、你们根本就不懂需求啥的,有时候也很无奈;里外受气。
- 老燕2021-04-08作为产品经理需要多做项目前的沟通工作,和工程师说明为什么产品要做这样的功能,会产生什么样的意义;同时,换位思考,和工程师了解可行性的难度,共同探讨解决问题,形成合力。
- Sam_Deep_Thinking2020-08-27总结一句就是:产品研发一家人。
- 种菜的渔民2020-07-20产品经理是站在需求和技术的结合点的人,哪一方面做不好都会影响这个产品的进度。这里谈谈自己的一些想法,提高和技术的沟通效率: 1.产品经理要懂得基本的技术常识。为什么说要懂技术常识,因为你要做一个需求实现,解决一个痛点问题,不是说你把PRD写出来就扔给开发人员想实现方式,而是你自己要有一个基础的判断。比如你提出一个根据用户手机壳的颜色更换APP风格颜色的需求,不考虑基本的功能实现逻辑(手机壳颜色获取-修改APP界面颜色),那么开发人员肯定要跟你打架了。 2.产品经理要交代“为什么”。这里所说的为什么,我觉得是要给开发人员信心和动力,告诉他这个功能背后肯能会给用户带来多爽的体验或者解决了一个什么问题,这样开发人员理解的你的思考还体现了自己做东西的价值。 3.产品经理要有沟通的能力。沟通不是简单地表述自己的思想,而是要对象愿意接受你的message,所以沟通的技巧要学习,比如先赞扬后输出,避免甲乙方的态度,私下的交往也要跟上等。展开
- 悟空来 | Arthur...2020-06-18现在搞的很对立,技术只要说实现不了,我就想一脚上去,也要分情况
- 陈悬高2020-02-17个人觉得,发邮件签字画押还是要的,毕竟好记性不如烂笔头,而且这对于规范流程确实有帮助,不算对立的表现。
作者回复: 嗯,同样内容的邮件,可能起心动念不同,对氛围的影响就不同。
- 旺旺2019-04-201、思维不同:产品经理是“为什么这么做”,研发是“怎么做”。交织点是“做什么”。 要互通有无,产品经理需要讲自己思考“为什么这么做”的过程,适当地告知研发,增进理解;研发也可以把“怎么做”告知产品,增进理解; 2、产品经理,时刻关注团队内部成员之间的关系变化(开小会、用词用语等); 3、专程讲述,平时闲聊/吃饭/散步时,主动厚脸皮聊你对产品的思考。刚开始会显得神经病,但慢慢地对方会感受你是真的在沟通,也是真心的在对产品进行思考。而后,在需求分布会时,研发可能会发自内心地配合你了。展开
- 热爱学习2019-03-11我觉得除了自己做好以外,也只能多沟通,多吃饭,多洗脑了,深受研发“简单实现”之苦