产品经理与程序员矛盾的本质是什么

产品经理与程序员矛盾的本质是什么,第1张

产品的功能、质量、发布时间和需要投入的资源这四者不能都是封闭条件,否则可能无解。需要投入的资源和发布时间一般是大老板定的,所以产品经理、开发经理和质量经理只能在“砍功能”、“降低质量要求”和“程序员加班加到死”这三个选择上相爱相杀了。根源是:高层放卫星玩大跃进,那下面只好群众斗群众了。佛曰:与人斗其乐无穷。对于程序员来说,很多时候问题是 PM 不能证明自己存在的价值。PM 要证明自己的价值有几种可能性:

1、色的产品记录,自己的名字就是个品牌,程序员知道跟着你做事能成功。

2、假会导致产品方向混乱项目失控,这很容易证明为什么你需要存在。

3、通过程序员可以理解的方式把道理讲明白,让程序员信服为什么你管理产品的方法是对的,以及为什么程序员自身不可能做得跟你一样好。

可能还有别的方法让一个 PM 证明自己存在的价值,但如果证明不了的话程序员就会把 PM 看作纯粹的 overhead(额外负担)。PM 对产品团队带来的价值和负担是不可能客观测量的,别人的主观评价是什么就是什么。如果程序员对 PM 的主观评价是负担大于价值,那这个 PM 就没有存在的意义了。核心原因是——好的产品经理永远缺货。当然,优秀的程序员哥哥也缺。既然都缺货。产品经理是决定公司效率高低的关键,产品经理在一个成熟的公司成熟的团队意味着灵魂和中枢,程序员哥哥不过代表着执行力和能力的边界(想不明白就瞅瞅乔帮主马化腾周鸿祎):1个不知天高地厚的产品经理,2个不经过思考的决策,他的工作量也许只增加了3倍,但他赋予程序员却是10-1000倍的工作量。

入门一个新的行业时,首先要系统了解该行业所需知识,该行业专家是什么样的。虽然程序员天天都和产品经理打交道,但也只是沟通产品文档时,所以还是需要系统学习一下的。

学习一款原型设计软件:Axure或者墨刀。程序员学习能力其实普遍都比较强,学习一个原型设计软件用一天时间基本就够了。很多公司产品文档和原型设计都做在一起,我么公司就是这样。好的原型设计,程序员看了就知道怎么写,会很详细,还会有逻辑。

产品汪和程序猿

一、产品经理和程序员最讨厌的三句话

产品经理和程序员,就像一对情人,若即若离,有时还会撕逼,和谐的时候一切都好,撕逼的时候两败俱伤。

你知道程序员最讨厌的三句话是什么吗?

1、这个需求很简单,改一下就好了

2、你先大概弄一个,我看看再说

3、我先下班了,加油啊

我想任何一个程序员听到这样的话都会气炸了,不撕逼才怪,你作为程序员会如何回答这三句话?

1、这个需求很简单?你行你来啊!

2、大概先弄一个?请问先生(女士),什么叫大概?

3、你大爷的

你知道产品经理最讨厌的三句话是什么吗?

1、这个需求做不了

2、这个需求工作量太大了,估计要搞3个月

3、这个变更没时间做,往后排吧

产品经理在前端,有用户、有老板、有销售,版本发布的压力很大,听到这样的话估计心情也好不了哪去?

1、这个需求做不了?又不是我提的,还不是那个2B用户提的

2、要做这么长时间?养你们有什么用,还不如我自己来

3、变更没时间搞?随便,等老板来拍你吧。

二、产品经理和程序员本质上的差异是什么

奶爸干过程序员,也干过项产品经理,深知这两类工作的差异,各有各的不易。

总体上来看,做产品更侧重于创造和方案能力,不需要精密的逻辑,所以试错成本相对比较低,大不了改改原型,改改方案,这个成本是可承受的。

程序员的工作是非常精密的逻辑,一个看似很小的变更有可能对代码产生很大的影响,所以试错成本非常高,弄不好可能会因为需求的变化导致系统的重构,这时候程序员的挫败感是可想而知的。

三、产品经理和程序员友好相处的清单

1、产品经理收集需求后,在需求分析阶段,需要把一些不合理的需求尽量和用户沟通去掉,避免不合理需求造成产品发布时间延迟和没有必要的成本浪费,当然这需要产品经理去说服用户,不能只做用户的传声筒。

2、需求分析时,产品经理应该根据经验,敏锐的发现一些在技术层面实现有困难的需求,及时让研发介入,评估技术可行性,避免后续出现需求定下来,研发说做不了的情况。

当然这需要我们的产品经理对软件技术架构有一定了解和预判能力,你不能所有的需求都要在需求分析阶段让研发介入,这个成本也是极高的,所以要把握好这个度也是一项能力。

3、原型还是需求沟通的最好方式,这样是避免产品和研发在需求理解上有差异的最好手段,只靠写一些文字的需求说明书很难达到好的效果。

但这里面要注意一点,产品经理绘制出来的原型一般是非高保真原型,是为了更好的沟通需要,所以不能完全按照原型做,需要基于我们自己的前台架构进行定制。

4、需求评审的时候,研发可能会有一些不一样的意见,他们做了很多年的开发,会有很多好的经验,好的经验要虚心接受,不能觉得自己是产品就是老大,就是要按我说的做,这样很容易造成矛盾,求同存异,目标一致,这个是最好的结果。

5、研发说这个需求做不了的时候,有两种情况,一个是觉得这个需求实现起来比较麻烦,故意骗你;另外一种情况就是他的知识盲区,他可能确实不知道这个事能做。

产品经理需要有能力和研发进行谈判,比如采用类比法(类似的需求在其它项目上咱们就做过),比如去找架构师探讨技术可行性。

6、研发有时候评估的工作量会比较大,整个上线计划拉的比较长,产品经理可以要求研发出详细的资源配置清单,这样能清楚的看到一个需求被分解成了多少个研发任务,每个任务的起止时间,由谁负责完成。这样产品经理大概能看出任务的前后置关系是否合理?工作量是否合理等。

产品经理绝不能说,这么简单怎么要搞这么长时间,类似的话一出,绝对会激怒对方,还是要有理有据进行谈判。

如果实在无法压缩工作量,如果增加人力能解决问题的话,可以考虑找领导申请资源。如果还是不行就要砍需求或者改方案了。

7、在版本计划定好的情况,尽量不加需求,这样很容易打乱开发的节奏,如果一定要加进来,一定要和研发说清楚,这个是用户领导或者老板的强制要求,转移矛盾。如果可以的话,增加了需求尽量推迟上线计划。

8、开发过程中如果需求有改动,需要及时更新需求文档,同时发给我们的研发同学,否则只是靠嘴说一下,很可能研发的同事就不做了,所以一定要落到纸面上。

9、上线的时候要坚持和研发同事一起加班,这样大家才是一个团队,赢了一起狂,输了一起扛。

10、最后一点,就是要多交流,没有什么问题是一顿火锅解决不了的,大家关系好了,很多事情沟通起来自然容易,而且也会更信任对方,这样就万事OK了。

产品经理面试的过程中面试官特别喜欢会问一个问题,如果开发人员以无时间为理由拒绝你的需求怎么办?工作中产品经理和技术人员打交道的次数太多了,行业内也流行着一些来调侃产品和技术之间的关系,两者的关系可以用相爱相杀来形容。

之所以这么说有两个理由,相爱是因为两者要互利合作,把老板交给的任务完成,而且只有彼此合作才能让工作进展的更顺利。相杀是因为这两个职业又存在着很大的矛盾,产品经理的需求间接决定了技术人员的工作量,有些技术人员确实对产品经理比较反感。

我也看过一些关于产品与技术如何沟通的文章。这篇文章我想结合我自己的亲身经验,分享一些小技巧,可以当做是保持良好关系的润滑剂。

1

首先我们分析一下技术与产品之间产生矛盾的原因。在分析之前,先设一个前提,每个公司在招人的时候都有其标准,寻找价值观相同的人,所以我一直都相信开发人员并不会无故找理由拖延项目周期。反过来,如果开发人员因为品性而偷懒或者说是耍心眼不干活的话,那就没办法了,个人主观因素太大。

第一种情况是产品经理的需求与开发人员手头的项目撞期了,解决的办法很简单,就是根据需求的优先级来调整开发排期。碰到这种事,有些领导也总是期望产品经理靠着自己的方法解决。但是除了跟上级领导申请调整优先级,没有别的好办法。一个客观事实,公司在多个项目中确实有优先级之分,虽然你自己的孩子自己最看重但是在别人眼里并不是这样。第二个原因是开发人员是按照公司意愿办事,说严重点你总不希望别人因为你的事情跟领导闹僵,搞砸自己的饭碗吧。

第二种情况技术人员并不认同产品经理的观点,虽然产品经理和技术人员各司其职,但是在工作中会碰到有些技术对产品特别关心,如果产品经理的做法自己不认同的话会提出质疑。如果质疑的人是技术老大,产品经理往往会更被动。遇到这种情况我觉得很正常,想办法说服技术人员。

除了搬出之前做的产品分析和用户调研外,我在工作中总结了一点经验,平时可以多跟技术聊聊天,增进彼此了解,观察他们经常上使用的产品,在沟通说服他们的过程中,可以拿他们经常用的产品举例,这样的话他们本身对那个产品更熟悉,自然也更好理解。另外,在跟技术讲解产品的时候也要适当的画饼,描绘一下产品上线成功后的美好未来,这会带动起他们的积极性。

2

产品经理要做好自己的基础工作,这利于给开发人员留个好印象。做好这方面的工作有两点,一是想好产品规划的原由,避免被技术的同学问住。技术人员也特别讨厌产品经理说“某某产品就是这么做的,我们按照他们的做就行了”这样的话;二是写好产品文档,在产品文档中避免有遗漏的地方,特别是一些比较复杂的功能,一定要解释清楚,因为技术人员会遵照着产品文档进行开发,所以说如果有疏漏的地方会增加沟通成本,如果文档写错了,造成开发出来的产品功能不符合预期就是产品经理的责任了。

为了提高文档的可读性,我们也可以多使用图文、流程图的表现形式,如果只是干巴巴的一个word文档,几千个文字,看起来确实很枯燥。

对于产品经理和开发人员来说信任尤为重要,如果开发对产品经理缺乏了信任,结果就是你的话开发人员不会再听了,每个需求他们需要经过你的领导确认后才会去做。获取对方信任的一个很重要前提就是说话算数,当技术人员询问你某一个问题时如果自己没想清楚,可以先暂时别回答,考虑清楚后再说。要是随口一说,过后又让开发人员修改,不仅会造成开发人员返工,这种行为也是非常不负责任的。

即便文档写的再完善,在产品开发过程中也难免需要当面沟通。项目跟进,需要产品经理极大的责任心和积极性。一个项目立项后,公司通常会把参与人员列为一个小组,产品人员需要根据开发排期跟进开发进展,避免开发出来的产品与预期不符,验收产品功能是否与产品期望一致。这个过程产品人员的工作往往会比较繁琐,也会比较忙,当然也会锻炼产品经理的沟通能力。

3

说一下行业内一直讨论的一个问题,产品经理该不该懂技术?我觉得这个问题并没有什么好讨论的,无论是从个人知识量还是从是否有利工作的角度讲肯定是懂技术要更好,而之所以能吸引那么大的热议,可能是由于很多产品经理不懂技术,但是又没有兴趣学习,所以心底一直会纠结这个问题。

从我个人的经验来看,特别是你做项目比较多的时候,会发现懂点技术跟技术人员沟通起来会顺畅很多,一个重要的体现是技术人员也很愿意跟你交流技术实现的一些想法,而不会说“算了,跟你说了也没用”这样的话。

产品经理懂技术还有一个很重要的益处是当业务部门提出需求时,自己就能评估出技术实现的可行性,对于实现起来比较困难的需求自己就可以跟业务部门商量优化方案。而不必每个功能都去询问技术,无形中也减少了技术的麻烦。

不过我跟很多人的观点也一样,产品经理对技术的了解不需要太精通,说到这我还得庆幸自己大学时候学的是计算机专业,虽然学的不好,但对于现在的工作还是非常有益处的。不过我在工作中也会碰到技术人员偶尔说了一个名词自己不理解的,这时候两种办法,要么主动问一下,要么自己去网上查,明白其中的逻辑关系,知道是怎么一回事就好。

毕竟术业有专攻,虽然我们希望知识越多越好,但也别给自己太大压力。况且技术知识也在更新迭代,他们使用的框架也会变化,技术的语言也有很多,如HTML、Java、PHP等,你不可能全都精通。

4

最后说点工作中会遇到的个人主观因素。

当产品经理跟其他部门提需求或是沟通确认的时候也不排除其他同事有未及时回复的情况,为了确保项目上线也为了争取资源,这个时候就需要产品人员更加主动一些,所以产品经理有时候还需要脸皮厚一点。

当提交一个需求给开发部门制定排期,你会发现他们都会把时间定的很充足。也许你会因此对其他同事有看法,但其实在工作中都是这样子,大家都不会把自己的时间安排的太紧张,而且还要考虑过程中可能会出现的风险因素,例如请假的情况。当然也不能把时间定的太长,那样老板该不开心了,所以最好是产品经理根据上线时间与开发人员定一个时间结点,让开发人员在这个时间点前完成即可。

最近几年要说哪个领域最火,无疑是互联网领域,而随着互联网的火热,伴随而来的也是相应的互联网职位的火热,比如炙手可热的程序员和产品经理(或者叫程序猿和产品汪)。我也是一个刚入行不到三年的菜鸟程序员一枚,大学学了四年计算机,毕业以后就一直在写程序。就像很多人说的那样,大部分时间似乎是在为了实现产品经理的需求而写程序,于是程序猿和产品汪之间那些相爱相杀的事情,我也基本都能体会一二。

如果按照主流的做法,作为程序猿王国里的一猿,我应该挥舞起长矛大刀对产品经理口诛笔伐一番,但是这里我却丝毫不想去为了黑而黑,而是一反常态,从自己的角度来谈谈,作为程序员,我们应该从产品经理那里学到些什么能力,而这些能力,程序员往往做得不够好甚至可能是欠缺的。

1、文案能力

对的,没错,就是文案能力。程序员最擅长的是写代码,用文字符号来清晰地表达程序的运行逻辑,简简单单的ifelse、for就能表达很多复杂的运行逻辑,时间久了,对于母语的表达能力渐渐下降,写个注释往往都能词不达意。更何况现在代码风格指南都在强调好的代码不需要注释,于是程序员越来越少写自然语言了。

2、沟通能力

据我的观察,画原型图只占据了产品经理工作时间很短的一部分,剩余的大部分时间是在和老板、开发、设计、测试沟通,推进产品的一次次迭代。所以,在一个程序员眼里,产品经理是要协调各方一起推进产品上线的角色,如果有人对需求产生了认知上的偏差,产品经理是要负很大一部分责任的,至少说明产品经理的沟通没做到位,而这样的产品经理大部分都被辞退了,因为出现沟通问题最严重的后果就是上线延期甚至产品失败,一个产品的失败是对产品经理最大的否定。

总之,产品经理绝不是埋头苦干的原型画家,要去关注外界、关注他人,平衡各方利益并且化解冲突。沟通,本质上也是权衡与妥协的艺术。我看到的和遇到的产品经理,沟通能力普遍都是很好的,至少大部分都不输于程序员。

3、整体思维

现在稍微有点规模的互联网公司都会把各个业务或者功能进行细分,很多程序员往往会专注于自己的业务和细分领域。精细化分工,是现代社会发展出来的一个高效率生产方式,对提高公司的竞争力是大有好处的。但是这有一个负面的影响是,很多程序员往往过于专注自己的一亩三分地,不太关心甚至忽略了整体的存在。

4、总结

一个好的产品经理其实绝不止这些能力,而文案、沟通、整体思维这些能力是我所观察到的作为产品经理最容易被放大和辨识到的能力,也是多数比较容易被程序员忽视的能力,程序员学习到产品经理身上这些最容易被观察到的特质,对程序员本身来说是一个非常好的进步的过程。所以,程序员,请多看看产品经理发给你的文案,是不是比你自己写的更友好,逼格更高?北大青鸟建议多观察产品经理是怎么说服大家接受需求变动的,如果换作是你,你能安抚大家的小情绪吗?多体会产品经理对产品设计和预期的宏观描述,再简单的功能也有它背后的逻辑和存在的意义。

程序员/软件工程师

随着信息技术的快速发展,软件工程师是目前市场上极为抢手的职业之一。在计算机科学领域,软件工程师负责设计、开发、测试和维护计算机软件。他们需要掌握多种编程语言和开发工具,能够独立完成软件开发的整个流程,并能够解决复杂的编程问题。

对于拥有相关技能的程序员和软件工程师来说,他们往往能够在互联网公司、IT企业、金融行业等各种行业获得高薪工作。例如,在大型互联网企业,一些高级的软件工程师的年薪甚至可以达到数百万。

产品经理

产品经理是互联网行业的核心职业之一,他们需要了解市场需求和用户需求,帮助企业开发出高质量的产品。产品经理需要掌握多种技能,包括市场调研、竞争分析、产品设计、项目管理等等。

在互联网行业中,产品经理的职业发展非常迅速。一些优秀的产品经理往往能够在短时间内晋升为高级产品经理或产品总监,从而获得更高的薪资和更好的职业发展机会。

金融从业人员

金融行业一直以来都是高薪职业之一,包括投行、风险管理、财务分析师、证券分析师、基金经理等。金融从业人员需要掌握一定的专业知识,例如财务分析、资产配置、风险管理、市场分析等等。

在金融行业中,高薪职位往往需要拥有丰富的经验和深厚的专业知识。同时,随着市场竞争的加剧和行业监管的不断加强,金融行业的从业者也需要不断提升自己的专业技能和素质。

市场营销人员

市场营销人员在企业中扮演着重要的角色,他们需要了解市场需求和竞争情况,制定营销策略,协助企业推广产品,从而获得更高的收益。市场营销人员需要掌握市场营销理论和实践技术,包括市场调研、品牌推广、广告策划、公关活动等等。

在市场竞争日益激烈的当今时代,优秀的市场营销人员非常受欢迎。一些高端企业甚至会提供极高的薪资和福利来吸引优秀的市场营销人员。

创业者

创业是一个相对风险较高的职业,但也是获得高收益的途径之一。创业者需要有很强的创新精神和执行力,能够发掘市场机会,构建自己的商业模式,并能够在竞争中获得成功。

在创业领域中,成功的创业者可以获得极高的回报。一些创业公司甚至可以获得数亿美元的融资,并在短时间内实现财富自由。然而,创业也需要面对很多风险和挑战,需要具备足够的耐心、毅力和智慧。

综上所述,以上这5个行业都是目前市场上高薪职业的代表。对于想要进入这些行业的人来说,需要具备相应的专业技能和素质,并且在职业发展的过程中不断提升自己的能力和知识水平。

以上就是关于产品经理与程序员矛盾的本质是什么全部的内容,包括:产品经理与程序员矛盾的本质是什么、程序员怎么转行做产品、产品经理和程序员,如何避免矛盾等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9804366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存