‘壹’ 为防被程序员“砍”,产品经理需要注意这些场景
互联网行业中,众人热衷于讨论“程序员砍产品经理”。虽然,“砍”更多是调侃的意思,一种消遣工作的方式;但是,这不是一个饭后笑话,侧面反应了产品经理和程序员间的对立关系。很多时候,产品经理和程序员间就像对手,产品研发过程就像打仗,总要争个你死我亡。“砍”的本质,是程序员表达对产品经理的不满,也是一种情绪的宣泄。
在产品研发的过程中,产品经理与程序员对立关系,会严重影响项目的推进。一旦产品经理和程序员对立关系公开化,很容易导致团队人心涣散。这种对立关系,经常滋生出一些极端的事情,骂娘、打架已屡见不鲜。
下文就列举一些程序员想砍产品经理的场景。这些场景都是我过去和很多程序员朋友交流时,他们遇到的对产品不满的场景。这些场景,都会以产品经理的沟通话语表现出来。通过这些场景,去解析这种对立关系产生的原因。以及,作为对照,产品经理应该如何规避和处理这种对立关系。
这样说法是程序员们最不喜欢的,最容易惹毛程序员的。这句话,在程序员们看来就是削减工时、加班的代名词,他们当然不喜欢。而且他们也非常讨厌,一个非技术人员为技术人员做技术难度的定论。简不简单,都需要技术人员做了技术评估,才能下结论。
这种言语,会让程序员们觉得产品经理不靠谱。大家通常都是比较排斥借鉴。借鉴你也得有合理明确的理由。以我某程序员朋友的话来说:微信怎么做的,你就怎么做,那你不如去微信做产品算了。
每个产品,在表面的UI下,都有其背后的复杂的业务逻辑。如果产品经理只是叫程序员照着某个产品做,很多时候技术们是很难实现的,因为他们也需要弄懂背后的逻辑和流程。当然,这应该是产品经理的工作。
这就是抬杠。产品经理虽然名字里面有“经理”二字,但并没有经理的权利,当然不能命令合作的技术们。这句话,言下之意也是拒绝了商量和讨论。而程序员也需要参与感和团队感。
这就是质疑他人能力,是人都不会喜欢。如果产品经理提出的方案,程序员们没有理解。那就说明产品经理的解释说明和文档,做的不够优秀,不够简洁易懂。让程序员们理解需求,是产品经理的基本工作内容。
在互联网产品开发中,修改需求和插入新需求都是挺常见的。对于程序员们来说,这是非常不爽的事情。这种操作通常会打断程序员的思路,思路被打断是非常痛苦的。当然,这样也会影响他们的开发效率。更可怕的是,反复的修改需求,会使他们有种劳动成果不被尊重的感受,同时也会对项目的未来抱有怀疑的态度。反复的更改方案,也说明产品经理设计是未经过严密的论证,或对细节的把控是不够。
程序员都比较讨厌反复的催促。当项目的节点确定后,技术们会严格遵守节点,产品应该信任他们。当然,时间比较紧凑时,反复催促也会加大程序员们的压力,使他们变得非常烦躁。在这种时候,催促就是添麻烦。
甩锅会导致团队分崩离析,人心不齐。不管任何问题,都是团队的责任,不要将责任指定给某人。特别是在项目复盘时,如果心态不好同事,这是非常难堪的。所以,我们要尽量以原因和结果为导向,而不是责任为导向。
程序员也是也是团队的一份子,有权利知道知道需求的背景。同时,了解需求背景也利于程序员们更好的开发程序。
产品经理给程序员们画饼是最不切实际的,只会引起大家的反感。程序员都是喜欢偏实际的东西,虚的东西只会招致白眼。
任何传递给程序员的需求,都是需要有计划和规范的。如果口头传达一个需求,很容易导致开发出的功能与需求不匹配。同时,因为缺乏相关的记录和文档,可能会造成需求流失。这对于程序员们来说,可能就是延迟、加班、返工、担责等等风险。这是团队合作的大忌,也是项目管理不专业的体现。
以上的这些场景,可能出现一次,程序员们都会顺着我们的想法做。但是,这会渐渐改变程序员们的心态,最终会使产品经理与程序员间产生隔阂和矛盾。如果出现这些场景,作为产品经理都需要小心的处理好,以免影响项目的正常推进。当然,最好是不要出现这些场景。作为产品经理,我们的最终目标,都是要保证我们的产品,准时、保质、保量的落地。
产品经理在与程序员们合作时,产品经理需要讲究合作共赢、互相体谅。在产品经理的相关工作中,最要避免的就是抬杠。抬杠是一切矛盾的根源。很多时候,产品经理要站在程序员的角度考虑问题。比如,对于产品来说可能就是改改需求,但对于程序员,他们更在意的可能是因为改需求而导致的加班。
产品经理在工作中,经常会追求产品上的极致。追求极致本身是好事,但是切忌过分偏执。我们也需要考虑团队的现状和资源,在极致和现实间寻找均衡。毕竟,如果没有乔布斯的团队,要像乔布斯一样做产品,只会拖垮团队。
在产品开发的过程,改需求、改方案等项目异常,都是不可避免的。这是项目管理的第一部分。如何进行项目异常的处理,考验的是产品经理的沟通能力和项目管理能力。产品经理需要在保持技术们高效工作的情况下,完成项目异常的处理。
当然,在产品经理工作中,矛盾的根源也并不总是产品经理。有时候,也可能是某些程序员的性格或者对该工作的态度导致的。这时候,产品经理要明确,作为团队的润滑剂,有责任推动和协调大家的工作。如果,矛盾不可调和,我们需要尽早提出问题、控制风险,避免“勉强”行事。
有时候,程序员在私下评价一起工作的产品经理时,总是会补加一句“我感觉我也能做产品经理”。这句话的背后,是产品经理没有让程序员们感受到产品工作的价值。在这种背景下,产品经理是很难获取程序员们的注重,也会为很多争论埋下诱因。那如何感受到我们工作的价值那?其实很简单,就是保持工作信息的透明。将我们针对需求和产品做的相关工作,体现在我们的沟通或者文档中。
导致程序员想“砍”产品经理,本质是产品经理工作方式的问题,也有情商的问题。在我的产品经理工作经验中,我总结下了以下四点,我们需要注意和避免的。这四点,都可以和上文的场景相对应,是最容易慢慢改变程序员的心态的。
‘贰’ 产品经理与程序员矛盾的本质是什么
产品的功能、质量、发布时间和需要投入的资源这四者不能都是封闭条件,否则可能无解。需要投入的资源和发布时间一般是大老板定的,所以产品经理、开发经理和质量经理只能在“砍功能”、“降低质量要求”和“程序员加班加到死”这三个选择上相爱相杀了。根源是:高层放卫星玩大跃进,那下面只好群众斗群众了。佛曰:与人斗其乐无穷。对于程序员来说,很多时候问题是 PM 不能证明自己存在的价值。PM 要证明自己的价值有几种可能性:
1、色的产品记录,自己的名字就是个品牌,程序员知道跟着你做事能成功。
2、假会导致产品方向混乱项目失控,这很容易证明为什么你需要存在。
3、通过程序员可以理解的方式把道理讲明白,让程序员信服为什么你管理产品的方法是对的,以及为什么程序员自身不可能做得跟你一样好。
可能还有别的方法让一个 PM 证明自己存在的价值,但如果证明不了的话程序员就会把 PM 看作纯粹的 overhead(额外负担)。PM 对产品团队带来的价值和负担是不可能客观测量的,别人的主观评价是什么就是什么。如果程序员对 PM 的主观评价是负担大于价值,那这个 PM 就没有存在的意义了。核心原因是——好的产品经理永远缺货。当然,优秀的程序员哥哥也缺。既然都缺货。产品经理是决定公司效率高低的关键,产品经理在一个成熟的公司成熟的团队意味着灵魂和中枢,程序员哥哥不过代表着执行力和能力的边界(想不明白就瞅瞅乔帮主马化腾周鸿祎):1个不知天高地厚的产品经理,2个不经过思考的决策,他的工作量也许只增加了3倍,但他赋予程序员却是10-1000倍的工作量。
‘叁’ 产品经理和程序员之间如何避免矛盾
产品汪和程序猿
一、产品经理和程序员最讨厌的三句话
产品经理和程序员,就像一对情人,若即若离,有时还会撕逼,和谐的时候一切都好,撕逼的时候两败俱伤。
你知道程序员最讨厌的三句话是什么吗?
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、频繁改需求
如果项目经理想要整死程序员,频繁改需求是最快的办法。特别是做了一半硬是改掉需求,scrum里的表现就是sprint内的非受迫需求变更,太狠了,技术同学表示不能忍。
2、拿老板和运营做挡箭牌
不说清需求价值,当技术童鞋问“为什么要做”的时候,支支吾吾,或者说“老板要的、运营要的”。最绝的就是说,这个功能老板说必须要做,那个功能老板说明天就得上……
3、扮用户
程序员会产品经理沟通的时候,比较经常就是听到,“关键字是用户不会这么觉得,如果我是用户。”
这种产品经理通常关注点会有问题,比如更多的时候讨论的是这个按钮是这么颜色,应该放在哪里,文案应该怎么写等,如果把这些问题当做核心,那难免会让人啼笑皆非。
4、口头禅——不就是xxx
有些产品经理口头禅:不就是xxx,这也引来一些程序员的反感。
比如“这个问题不就是在数据库里加个字段就可以解决了吗?你要是没时间,我给你写个SQL 语句,你执行一下吧。”结果程序员一脸懵逼。
其实,如果是在你的非专业领域里,最好少用这种“不就是XXX”这样的句型为妙。
5、不懂装懂
特别是对技术一窍不通的产品经理,会不停让程序员加班赶工。
“开发大哥,我代码写的不多,你可别骗我,这么简单的需求,明明一下午可以搞定,你跟我说一个星期?”
此时,想必程序员口袋里50米大刀已经饥渴难耐......这种产品经理叫程序员哭笑不得。
希望可以帮到你,谢谢!
‘伍’ 产品经理被一群程序员围着撕逼时该怎么办
自己要反思下:为啥他们来撕我。
自己有没有为他们的利益考虑过?
自己要换一种工作方式,以减轻程序员的压力为中心。
‘陆’ 程序员和产品经理究竟哪条路更好
如果你本身喜欢写代码,那么我觉得程序员的工作挺好的,未必要做产品经理。程序员主要是和机器、代码打交道,工作难,但是边界清晰、可控,事情比较聚焦。我并不建议大家都要去做产品经理。
写代码是纯手工业劳动,大家平时用的各种互联网产品,都是程序员一行一行代码写出来的,还要考虑代码的逻辑,解决各种Bua等等。如果想做好程序员,就一定要热爱写代码这件事。优秀的程序员,都能够从自己的工作里获得乐趣。我认识很多优秀的程序员朋友,我非常尊重他们,而且也特别佩服他们的能力,还有对于工作的热情。
产品经理要解决的问题的要更综合、更广。例如要考虑用户需求,考虑市场、业务情况,还要考虑和设计、运营、研发之间的配合。
有一些人适合做产品经理,有一些人不适合。我也不太建议大家一窝蜂都去做产品经理。我建议就像做产品一样,你要大胆假设、小心求证。如果要做产品经理,就多了解这方面的信息,多试试,然后看看自己适不适合。
无论是学生,还是想转行的人,往往的问题在于纠结太多,想的太多,尝试太少。如果你想做程序员,那你先写写代码,先做出一些东西,除了看你自己适不适合之外,也能够成为你找工作时的筹码。如果你想做产品经理,那么多试试做做产品,哪怕是虚拟的项目,增加自己的经验和感知,也能够成为找工作时的筹码。
所以,并不存在说产品经理或者程序员到底哪个更好,相比很多行业和职位,产品经理和程序员这
两个职位都应该是非常好的了。做的事都有意思,工资待遇也都高。
关键在于你自己适合哪个,这个问题归根结底别人没法回答你,得靠你自己通过了解更多知识来做出判断。
‘柒’ 为什么程序员分分钟想砍死产品经理
产品经理是不懂技术的,所以需求方面也不知道工作量有多大,自然在工作中问题会很多,而且产品经理常改需求,这是让程序员不能忍受的。但也没有什么办法,有时候这个需求也是来自老板的。
‘捌’ 我们经常能看到在互联网公司,产品经理和程序员们因为产品需求变动而引起的斗争,这到底是怎么回事呢
在互联网创业公司,如何轻易地让苦哈哈的程序猿们疯狂起来呢?我在媒体待过好多年,这两年在互联网创业公司,见过不少程序员和产品经理之间的争夺战,笔者认为,这种争夺太常见了,原因是双方的不理解,产品经理不了解技术人员工作的辛苦,所以经常会闹出笑话来。
好了,下面笔者列举一下,最会得罪程序员们的几句话。
产品汪:这个页面儿怎么做的这么烂,赶快改。
程序猿:不能找人设计好了再让我做吗,我一个编程的还要管设计?
产品汪:为什么别人家的app没有bug而你怎么就这么多,把这些代码复制粘贴过来不就行了吗?
程序猿:你以为别人家的代码伸手就能拿到?
经理:哈罗,你又在写bug吗?
程序猿:(假装没听到)
所以笔者认为,作为互联网公司的产品经理,需要了解一点程序员们的工作,尽管不懂程序,但需要稍微知道如果变动网站或程序多大幅度,会给程序员们带来多大的工作量。