‘壹’ 产品经理该如何跟程序员沟通
产品经理面试的过程中面试官特别喜欢会问一个问题,如果开发人员以无时间为理由拒绝你的需求怎么办?工作中产品经理和技术人员打交道的次数太多了,行业内也流行着一些图片来调侃产品和技术之间的关系,两者的关系可以用相爱相杀来形容。
之所以这么说有两个理由,相爱是因为两者要互利合作,把老板交给的任务完成,而且只有彼此合作才能让工作进展的更顺利。相杀是因为这两个职业又存在着很大的矛盾,产品经理的需求间接决定了技术人员的工作量,有些技术人员确实对产品经理比较反感。
我也看过一些关于产品与技术如何沟通的文章。这篇文章我想结合我自己的亲身经验,分享一些小技巧,可以当做是保持良好关系的润滑剂。
1
首先我们分析一下技术与产品之间产生矛盾的原因。在分析之前,先设一个前提,每个公司在招人的时候都有其标准,寻找价值观相同的人,所以我一直都相信开发人员并不会无故找理由拖延项目周期。反过来,如果开发人员因为品性而偷懒或者说是耍心眼不干活的话,那就没办法了,个人主观因素太大。
第一种情况是产品经理的需求与开发人员手头的项目撞期了,解决的办法很简单,就是根据需求的优先级来调整开发排期。碰到这种事,有些领导也总是期望产品经理靠着自己的方法解决。但是除了跟上级领导申请调整优先级,没有别的好办法。一个客观事实,公司在多个项目中确实有优先级之分,虽然你自己的孩子自己最看重但是在别人眼里并不是这样。第二个原因是开发人员是按照公司意愿办事,说严重点你总不希望别人因为你的事情跟领导闹僵,搞砸自己的饭碗吧。
第二种情况技术人员并不认同产品经理的观点,虽然产品经理和技术人员各司其职,但是在工作中会碰到有些技术对产品特别关心,如果产品经理的做法自己不认同的话会提出质疑。如果质疑的人是技术老大,产品经理往往会更被动。遇到这种情况我觉得很正常,想办法说服技术人员。
除了搬出之前做的产品分析和用户调研外,我在工作中总结了一点经验,平时可以多跟技术聊聊天,增进彼此了解,观察他们经常上使用的产品,在沟通说服他们的过程中,可以拿他们经常用的产品举例,这样的话他们本身对那个产品更熟悉,自然也更好理解。另外,在跟技术讲解产品的时候也要适当的画饼,描绘一下产品上线成功后的美好未来,这会带动起他们的积极性。
2
产品经理要做好自己的基础工作,这利于给开发人员留个好印象。做好这方面的工作有两点,一是想好产品规划的原由,避免被技术的同学问住。技术人员也特别讨厌产品经理说“某某产品就是这么做的,我们按照他们的做就行了”这样的话;二是写好产品文档,在产品文档中避免有遗漏的地方,特别是一些比较复杂的功能,一定要解释清楚,因为技术人员会遵照着产品文档进行开发,所以说如果有疏漏的地方会增加沟通成本,如果文档写错了,造成开发出来的产品功能不符合预期就是产品经理的责任了。
为了提高文档的可读性,我们也可以多使用图文、流程图的表现形式,如果只是干巴巴的一个word文档,几千个文字,看起来确实很枯燥。
对于产品经理和开发人员来说信任尤为重要,如果开发对产品经理缺乏了信任,结果就是你的话开发人员不会再听了,每个需求他们需要经过你的领导确认后才会去做。获取对方信任的一个很重要前提就是说话算数,当技术人员询问你某一个问题时如果自己没想清楚,可以先暂时别回答,考虑清楚后再说。要是随口一说,过后又让开发人员修改,不仅会造成开发人员返工,这种行为也是非常不负责任的。
即便文档写的再完善,在产品开发过程中也难免需要当面沟通。项目跟进,需要产品经理极大的责任心和积极性。一个项目立项后,公司通常会把参与人员列为一个小组,产品人员需要根据开发排期跟进开发进展,避免开发出来的产品与预期不符,验收产品功能是否与产品期望一致。这个过程产品人员的工作往往会比较繁琐,也会比较忙,当然也会锻炼产品经理的沟通能力。
3
说一下行业内一直讨论的一个问题,产品经理该不该懂技术?我觉得这个问题并没有什么好讨论的,无论是从个人知识量还是从是否有利工作的角度讲肯定是懂技术要更好,而之所以能吸引那么大的热议,可能是由于很多产品经理不懂技术,但是又没有兴趣学习,所以心底一直会纠结这个问题。
从我个人的经验来看,特别是你做项目比较多的时候,会发现懂点技术跟技术人员沟通起来会顺畅很多,一个重要的体现是技术人员也很愿意跟你交流技术实现的一些想法,而不会说“算了,跟你说了也没用”这样的话。
产品经理懂技术还有一个很重要的益处是当业务部门提出需求时,自己就能评估出技术实现的可行性,对于实现起来比较困难的需求自己就可以跟业务部门商量优化方案。而不必每个功能都去询问技术,无形中也减少了技术的麻烦。
不过我跟很多人的观点也一样,产品经理对技术的了解不需要太精通,说到这我还得庆幸自己大学时候学的是计算机专业,虽然学的不好,但对于现在的工作还是非常有益处的。不过我在工作中也会碰到技术人员偶尔说了一个名词自己不理解的,这时候两种办法,要么主动问一下,要么自己去网上查,明白其中的逻辑关系,知道是怎么一回事就好。
毕竟术业有专攻,虽然我们希望知识越多越好,但也别给自己太大压力。况且技术知识也在更新迭代,他们使用的框架也会变化,技术的语言也有很多,如HTML、Java、PHP等,你不可能全都精通。
4
最后说点工作中会遇到的个人主观因素。
当产品经理跟其他部门提需求或是沟通确认的时候也不排除其他同事有未及时回复的情况,为了确保项目上线也为了争取资源,这个时候就需要产品人员更加主动一些,所以产品经理有时候还需要脸皮厚一点。
当提交一个需求给开发部门制定排期,你会发现他们都会把时间定的很充足。也许你会因此对其他同事有看法,但其实在工作中都是这样子,大家都不会把自己的时间安排的太紧张,而且还要考虑过程中可能会出现的风险因素,例如请假的情况。当然也不能把时间定的太长,那样老板该不开心了,所以最好是产品经理根据上线时间与开发人员定一个时间结点,让开发人员在这个时间点前完成即可。
‘贰’ 程序员创业和产品经理创业,各有什么优势
前期:程序员优势更明显,由于在需要强大的编程能力的同时又需要懂业务逻辑,使得大多程序员有产品整个开发流程的经验。因此,公司初创时期,程序员能快速实现产品原型或指导别人去实现。
后期:产品经理优势更明显,所谓产品没有好的包装和运营是难以让用户接受的。当产品原型基本成型后,产品更上一台阶,需要产品经理的不断打磨,用户研究,产品功能迭代,产品运营等。
‘叁’ 做产品经理还是程序员
产品经理没有实权,基本上很多小公司产品经理就是一个人,要与设计,程序,市场,销售,客服,各个部门沟通,而且如果产品没做好肯定产品经理是责 任第一人。如果有一个好老板撑腰还可以,否则很难混下去。所以这也是很多国外ceo就是直接就管产品的原因,否则根本没有执行力, 同级别如何管? 这也是国内很多企业产品做的烂的重要原因, 产品经理实际就是打杂的。
技能要求高。 技术肯定要,设计其实也要,否则无法做原型设计。还有就是细节要求,最重要的就是大方向要把握好。否则一个完美的产品没有市场也不行。word ppt excel 精通更是家常便饭、思维导图、原型工具/还要不停的研究新产品。如果遇到思维活跃经常变化的领导,做PPT做到吐,本来如果写程序写的多还有点用。PPT做那么多根本没用,浪费脑细胞。
产品经理前途渺茫,除非你自己想创业,否则产品经理实际没有太多升职空间,国内的产品总监很多都是市场或运营的人来管的。做产品的很少会做到总监级别。当然国内腾讯还是很看重产品这个职位的,但其他的公司基本没有看重产品的。
产品经理加班的确比程序员少,但是产品发布测试的时候,也是忙死,否则自己设计的产品非功能技术性问题其他人测不出来问题在哪。
程序员以前的地位不行,但现在很多公司已经意识到技术的重要性,程序员的薪资范围实际上限比产品高很多,60万年薪不算什么,国外公司年薪100万也是有可能的。产品职位基本没可能。
现在世界已经不同了,程序员不再是苦力了,以前国内是渠道,销售、市场为王,产品、程序、设计都是苦力。现在产品做不好根本没人用,销售在忽悠也 不行了。最后实现都是技术问题。而且现在例如 apple store 发行渠道成本很低,只要能做出来好产品不愁卖不出去,微博上一传就一大堆用户。程序员自己创业不是梦想,程序员一个配合一个设计产品就能做出来,产品经理 就不行,毕竟自己不会技术就做不出来。
不创业也可以靠编程序活一辈子,一个团队可能只有一个产品经理或没有,但程序员肯定要有两三个,程序员市场需求比产品大很多。随着年龄提高程序员的经验壁垒比产品高很多。
程序员可以对产品经理说 “这个因为技术问题做不出来” 但产品经理无法对老板说“这个ppt因为我能力不行做不出来”。
最后还有程序员可以靠自己想做的技术,例如NB的技术到达人生梦想,而产品实际上都是从抄袭,在抄袭,最后创新也是技术创新带来的产品。
‘肆’ 程序员和产品经理究竟哪条路更好
如果你本身喜欢写代码,那么我觉得程序员的工作挺好的,未必要做产品经理。程序员主要是和机器、代码打交道,工作难,但是边界清晰、可控,事情比较聚焦。我并不建议大家都要去做产品经理。
写代码是纯手工业劳动,大家平时用的各种互联网产品,都是程序员一行一行代码写出来的,还要考虑代码的逻辑,解决各种Bua等等。如果想做好程序员,就一定要热爱写代码这件事。优秀的程序员,都能够从自己的工作里获得乐趣。我认识很多优秀的程序员朋友,我非常尊重他们,而且也特别佩服他们的能力,还有对于工作的热情。
产品经理要解决的问题的要更综合、更广。例如要考虑用户需求,考虑市场、业务情况,还要考虑和设计、运营、研发之间的配合。
有一些人适合做产品经理,有一些人不适合。我也不太建议大家一窝蜂都去做产品经理。我建议就像做产品一样,你要大胆假设、小心求证。如果要做产品经理,就多了解这方面的信息,多试试,然后看看自己适不适合。
无论是学生,还是想转行的人,往往的问题在于纠结太多,想的太多,尝试太少。如果你想做程序员,那你先写写代码,先做出一些东西,除了看你自己适不适合之外,也能够成为你找工作时的筹码。如果你想做产品经理,那么多试试做做产品,哪怕是虚拟的项目,增加自己的经验和感知,也能够成为找工作时的筹码。
所以,并不存在说产品经理或者程序员到底哪个更好,相比很多行业和职位,产品经理和程序员这
两个职位都应该是非常好的了。做的事都有意思,工资待遇也都高。
关键在于你自己适合哪个,这个问题归根结底别人没法回答你,得靠你自己通过了解更多知识来做出判断。
‘伍’ 产品经理和程序员哪个工资高
方向都不一样吧!产品经理是策划工作,程序员是开发工作,当然两种工作的逻辑能力,都非常重要!这是基础,不是区分人才等级的关键。
我觉得更多的是解决问题的能力,才是区分顶级、优秀、一般、普通人才的标志。
产品经理做的是未来的工作,因为他要思考一款产品,满足用户的需求,公司活不活下去,产品策划真的很重要,钱砸错了,影响是非常巨大的……
程序员做的是现在的工作,他要努力实现产品,继而跟运营、市场联动,实现产品增长,这样就有现金流……尤其对于软件产品,需要经得住大众的考验,都是bug的产品是绝对没有前途的。
如果简单粗暴来比较两个岗位,感觉很不公平,很多人会以为产品经理会更高级?大错特错,技术圈水那么深,谁还给谁打下手啊。重要的是,发现现象背后的本质,才是最重要的。技术人员会有很多开发项目的机会,多思考一下商业价值吧!
‘陆’ 产品经理与程序员矛盾的本质是什么
产品的功能、质量、发布时间和需要投入的资源这四者不能都是封闭条件,否则可能无解。需要投入的资源和发布时间一般是大老板定的,所以产品经理、开发经理和质量经理只能在“砍功能”、“降低质量要求”和“程序员加班加到死”这三个选择上相爱相杀了。根源是:高层放卫星玩大跃进,那下面只好群众斗群众了。佛曰:与人斗其乐无穷。对于程序员来说,很多时候问题是 PM 不能证明自己存在的价值。PM 要证明自己的价值有几种可能性:
1、色的产品记录,自己的名字就是个品牌,程序员知道跟着你做事能成功。
2、假会导致产品方向混乱项目失控,这很容易证明为什么你需要存在。
3、通过程序员可以理解的方式把道理讲明白,让程序员信服为什么你管理产品的方法是对的,以及为什么程序员自身不可能做得跟你一样好。
可能还有别的方法让一个 PM 证明自己存在的价值,但如果证明不了的话程序员就会把 PM 看作纯粹的 overhead(额外负担)。PM 对产品团队带来的价值和负担是不可能客观测量的,别人的主观评价是什么就是什么。如果程序员对 PM 的主观评价是负担大于价值,那这个 PM 就没有存在的意义了。核心原因是——好的产品经理永远缺货。当然,优秀的程序员哥哥也缺。既然都缺货。产品经理是决定公司效率高低的关键,产品经理在一个成熟的公司成熟的团队意味着灵魂和中枢,程序员哥哥不过代表着执行力和能力的边界(想不明白就瞅瞅乔帮主马化腾周鸿祎):1个不知天高地厚的产品经理,2个不经过思考的决策,他的工作量也许只增加了3倍,但他赋予程序员却是10-1000倍的工作量。