程序员:我心目中的优秀产品经理

54 评论 41219 浏览 437 收藏 21 分钟

本文作者作为一个老程序员,从四个方面来谈一谈什么样的产品经理是优秀的。

上上周朋友圈被一个程序员和产品经理互喷、互殴,然后被解雇的事情刷屏了,至于发生了什么,其实并不重要,大家哈哈一笑,第二天可能就全忘记了。我看完后,就在想,什么一个产品经理把程序员激怒了?

作为一个老程序员,我是经常怂产品经理的,有的时候都成习惯了,但我也见过很多牛的产品经理。

今天谈一谈什么样的产品经理是优秀的(至少是我认为的),这篇文章也是心血来潮,带有很多的个人情绪,说的也不全面,很多都是泛泛而谈。从四方面简单谈一谈,如果将来有机会,再做进一步细化阐述。

一、专业性

任何一个岗位都有其专业性,一个产品经理即使沟通能力不佳,协调能力不强,但只要专业能力足够擅长,也会受到程序员的尊重。那专业性体现在哪儿呢?

一个需求不管多小,也应该有完整的产品需求文档(PRD),代表产品经理的严谨性,以及对这个需求的深刻理解(即使需求错误也是可理解的)。产品需求文档形式不一定需要标准的形式(毕竟不是论文),如果需求文档格式很完整,但空空无物又有什么用呢?

需求文档可以有自己的个人风格,只要足够严谨,能让程序员看懂即可。

具备原型图设计能力,对于程序员来说,很难有耐心仔细看需求文档,他们更喜欢“动态”的原型图;对于产品经理来说,为了理顺自己的思路,思考需求的合理性,最好的校验工具就是画原型图。

所以不管从哪个角度来看,产品经理应该学会一种原型图设计软件,比如:Axure。原型图是对产品需求文档的一个有效补充,从不同维度完善项目需求,极具立体性。

逻辑性,这是非常关键的一个能力,产品经理将用户的需求转变为产品需求,文档最重要的就是逻辑正确,经常和一些产品经理开会,发现他们自己都无法将需求理顺、也无法说服自己、无法应对质疑,即逻辑性存在很大的问题。

如果一个产品经理存在逻辑性较差的问题,那就要好好修炼内功了,如果无法洞悉用户的真正需求,会给公司产品带来万劫不复的灾难,但也从另外一方面体现了产品经理的重要性。

UI 审美能力,我发现很多优秀的产品经理都会画画,他们也会 UI 设计,即具备很强的审美能力,知道页面风格的重要性,或者说这些产品经理的联想、发散能力是极强的,这也是他们专业能力的体现。而对于程序员来说,这方面可能就是白痴,他们只关心逻辑思考能力,反向说明产品经理是要求非常高的一个岗位。

产品经理在大家看来是一个万花筒,沟通能力、协调能力非常重要,为什么没有提及?

其实任何一个行业,任何一个岗位这些能力是必须的,没有必要强调。这篇文章完全以我的视角解读优秀产品经理的判断标准,极具个人色彩,可能存在极大的偏向性。

二、熟知开发流程

产品经理的专业性不可能一步到位,需要慢慢积累才能成长,但对于一个刚入门的产品经理来说,理解项目流程非常重要,否则就像苍蝇一样,不知道要干啥好,到处碰壁,四处吃亏,变成程序员眼中的一个傻子。

了解各个岗位的职责,在互联网公司,分工是非常细化的(尤其是开发人员),一个具有一定规模的公司,有系统开发人员、应用开发人员、前端开发人员、客户端开发人员、数据分析人员、系统运维人员、应用运维人员。

而且这些岗位人员之间的职责还可能交叉,如果产品经理不了解这些岗位的区别,出现问题或者提需求找不到正确的人,那就非常麻烦了,会极大减少积极性,也会让人疲惫不堪。所以产品经理平时要多留心,找到解决问题的合适人员。

测试的重要性,在大公司有专门的测试岗位,但不代表产品经理能够忽视它(很多产品觉得自己怎么成为测试人员了,这也是他们的吐槽点之一,觉得没有时间干自己的专业了),此处我要强调冒烟测试的重要性,很多开发人员由于多方面的原因,匆匆忙忙完成某个项目,然后将其部署。符合预期吗?

冒烟测试是校验预期最好的手段,对于产品经理来说,自己进行冒烟测试,也能以用户的角度体验产品功能,进一步思考合理性。所以说产品经理一定要明白测试的重要性,也要熟知测试的流程。

邮件确认机制,很多产品经理和开发人员平时好的就像亲兄弟、 亲姐妹一样,项目进度不出问题的时候还好,出现问题的时候就非常尴尬了,产品经理是第一责任人了,也就是说一个项目从构思到上线,甚至到跟踪。

产品经理必须全程关注,尽力确保项目上线,其中邮件确认机制就是非常重要的一个点,在关键节点一定要发邮件周知相关人员,一方面是汇报进度,另外一方面也给程序员提一个醒。

对于非功能需求的把握,非功能需求包括性能、扩展性、可用性等技术指标,虽然这些更应该由程序员关心,但产品经理一定要明白此中的道道,它也是产品开发过程中非常重要的一环,产品经理有必要有义务提醒程序员。

JIRA跟踪机制,产品或功能上线后,产品经理要及时获取用户的反馈,包括用户遇到的问题、建议,可以通过 JIRA 长期跟踪,要协助程序员一起分析问题,这样才是一个善始善终的优秀产品经理。

三、不要让程序员讨厌你

对于产品经理来说,让程序员尊敬你非常重要,那么如何做到呢?

一方面是提升自己的专业能力,另外一方面就是少做龟毛的事情。尤其程序员的性格非常直接,惹恼他们后果很严重,所以某些细节一定要留意,至少对我来说,下面的十个情况要尽量避免。

(1)不要用嘴代替需求

有些产品经理脑子里冒出个想法,一拍脑门觉得自己就是个天才啊,赶紧让程序员去开发吧,就吧啦吧啦跑到程序员面前,说你开发这个功能吧,接着又语无伦次的描述了所谓的需求。

可这些需求你论证过吗?用户需要吗?流程能跑通吗?自己都不一定明白,还期待程序员能够听懂?

这是一种非常不负责任的行为,久而久之会让程序员非常反感,所以一定要切记。

(2)程序员的监工

有些产品经理好像保姆一样,就怕程序员不主动,怕工期来不及,每天趴在程序员后面,盯着他们开发代码,好像监工一样。这种行为让程序员特别不自在,他们有自己的工作方式,不写代码不代表不在工作,他们大脑在后台飞快的思考着,当然要是一个美女产品经理跟在后面就另当别论了。

另外有些产品经理喜欢陪程序员加班,我觉得这种形式也非常不好,只要把需求提清楚了,没有必要好像亏欠什么的,不一定要用陪同这种形式来支持程序员。

(3)2/8 法则不可违

有些产品经理要求特别严谨,但程序员也有难处,比如:某个功能暂时确实不好实现,问产品经理能不能变通一下,将需求弄简单一点。一些产品经理可能就较真了,说不行,一定要按需求做,此时矛盾就无形中产生了,实际上正确的做法就是问自己:我核心的功能完成了吗?舍弃的功能影响全局吗?

如果不大,确实可以尊重程序员的意见,将 20% 的核心时间花在重要的事情上,等后续有时间了再完善,这种做法是毫无问题的。产品经理要有极强的辨识能力,明白一个项目的核心功能是什么,不要太拘泥小节。

(4)讨论变成需求

经常遇到这样的场景,产品经理出了一个需求文档,然后大家开会讨论,开会过程中产品经理的想法被无情的批判,自己也毫无主见了,然后大家互相出主意,程序员也很开心,产品经理也很满意,因为开会讨论出了需求,程序员不会龟毛到反驳自己提出的意见吧,在某种程度上这是一种好现象,实际上我不提倡这种方式。

无情的被人反驳,只能证明产品经理思考不成熟,是自己专业能力不强的一种体现,作为需求方,需要捍卫你的想法,如果轻易被撼动,只能证明自己还要加强学习,说的难听一点,只要能说服自己,有的时候要坚持自己的想法和需求(和固执是两码事)。

(5)你不是开发人员

有些产品经理比程序员还程序员,动不动就帮技术人员想解决方案,说这个应该这么弄,设计方案会不会有性能问题啊,时时刻刻显示自己的逻辑能力。

俗话说术业有专攻,我希望产品经理不要从程序员的角度去思考问题,而是以用户的角度去思考问题,提出需求,实现是程序员的事情。如果程序员觉得实现有问题和麻烦,必然会找你,如果你能听懂、且赞同,那么程序员会觉得你是在帮助他,这才是正确的做法。

在我漫长的职业生涯中,我遇到很多懂行的产品经理,他们逻辑能力比我强多了,但从不喧宾夺主,只在我为难的时候提出一些建议,让我受益匪浅。反而是一些毛都不懂的产品经理,天天给我秀智商。

(6)需求是否合理

本文开头说的那个故事,就是需求不合理导致的,产品经理一定要注意这一点,不要站在自己角度出发的,而是站在用户角度,需求不能想当然,多想想功能是用户需要的吗?千万不要做无用功,不要乱提需求。

有的时候我总有这种感觉,啥也不做比瞎做至少还能节省人力,不浪费公司资源。产品经理也不要动不动就说这是领导要的功能,和我无关。其实应该这么想问题:领导可能有一个想法,其中也许 80% 不可取的,而产品经理要做的就是将 20% 可取的部分强化,以此提出一个合理的需求。

(7)什么时候完成

有的时候产品经理刚把需求发给程序员,或者开会刚讨论结束,就迫不及待问啥时候能开发完成,领导急着呢。

有的时候还会抱怨这么小的一个改动就要2天?或者说这个开发很简单吧?

这是一些非常不职业的做法,软件开发有其自身的规律,需要设计、架构、编码、测试、部署等多个过程,是要求非常高的一个过程,所以千万不要一上来就要开发时间,很容易让人反感。

更好的做法就是问他们什么时候能评估出开发工作量(包括分析、设计),然后在邮件中周知,为避免程序员遗忘,可以提前询问一下。如果和某个程序员熟悉了,了解他的风格,可以采取一些策略来推动项目,切记不要动不动就问什么时候完成开发。

(8)我只管提需求

这一句话的下半句其实就是“其他我不负责”,在互联网企业,产品经理其实包含项目经理的角色,对于一个高速发展的企业来说,不可能按部就班的工作。而推进器其实就是产品经理,他们需要把握整个项目进度,不要认为仅仅提需求就行了。

代码是开发人员开发,推广也是运营的事情,产品经理本质上就是指哪儿打哪儿,和设计人员沟通、接受运营人员的需求、给销售人员数据、给程序员提需求、给测试人员写测试用例、给用户解答。

(9)找领导

有些产品经理是急性子,一看程序员不配合,或者进度赶不上,就说找技术总监,好像找了就能解决问题,有的时候也有点欺负人的感觉。可实际上最终配合你的还是这些程序员,这和接下去要讲的人治非常类似。

我建议产品经理少拿这个杀手锏,有的时候它还不一定管用,和程序员应该永远报以合作的态度,合作不顺的时候,可以和程序员交交心,互相交流下想法,这样才有可能解决问题。

(10)缺乏反馈机制

一个产品功能上线后,如果反响比较好,产品经理当然觉得都是他们的功劳,这也无可厚非,可如果不好呢?

产品经理应该分析问题,思考是否需要优化它,也可以和程序员一些讨论,共同想办法。但大部分产品经理却毫不关心,好像根本就没有这功能一样,这种做法非常让程序员寒心,程序员就会觉得你们也既不不开发代码,也不关心项目的结果,长此以往,这样的产品经理会失去程序员的信任。

四、人治而非法治

任何一个行业,人与人之间的关系是必不可少的,对于程序员和产品经理来说,他们之间的沟通是最多的,也是关系最密切的人,相处融洽才能将工作做好。

关于如何相处是一门艺术,可以看专门的一些数据,我从自己的角度出发,简单列几点。

(1)理解程序员

程序员是非常独特的一类人群,性格可能和常人不一样,但都非常感性,有的时候也会口无遮拦,甚至熟悉后还和你发脾气。但大部分情况下,他们都非常纯真,没有太多的心机。

对于产品经理来说,面对程序员的各种莫名其妙的表现,一笑而过,大度一点,多想想他们的优点,尽力成为朋友,这是将工作做好的先决条件。

当一个产品经理进入新公司后,一定要仔细观察各个程序员的性格、特点,针对性下药,有策略的和他们融入在一起,但需要注意的是,不是让产品经理忍让他们,这也不是好策略,只是要尽量避免针锋相对。

(2)认同程序员

程序员不仅仅是开发代码,他们逻辑性强,思考问题全面,作为产品经理,要善于合作,尊重他们的观点,多听听他们的意见,千万不能说“这是需求,赶紧实现吧,其他的不用问”这样的话。

而是让程序员发表意见,比如说:“你觉得怎么样设计比较好一点”、“帮我看看逻辑是不是正确”,让程序员间接成为一个产品经理,让程序员意识到他们的重要性,意识到他们是设计者,而非仅仅是构建者。

当一个项目结束后,要多向他们反馈,反馈包括用户的反馈,也包括产品经理的自我批评。当项目结果不是很好的时候,也要及时和程序员反馈,反思失败的原因,这样才能让程序员意识到“这个项目的背景原来这么复杂啊”。他们也会从内心接收这一切,如果总是没有反馈,程序员会说“产品经理又做了一堆垃圾”。

(3)目标一致性

面对一个项目,真正推动项目的动力不是产品经理的催促,而是让程序员和产品经理目标达成一致,对于核心项目来说,他们一致目标就是“这项工程关系到公司的生死存亡,所以必须加油”。

那一般性的项目呢?

即使不重要,产品经理也要有极大的感染力,让程序员意识到“我在做一件有价值的事情”,只有双方目标是一致的,项目才能飞快往前走。

目标一致性来源于程序员对产品经理的感受,如果你足够职业,足够专业,是很容易感染程序员的。

(4)有自己的人格魅力

通俗的说,就是让程序员信服你,人格魅力不仅仅体现在工作上,也包括你平时的言行、你的做事方式、你的性格、你的价值观,只要其中有一件事情让程序员从内心深处佩服你,那么他会极力的配合好你。

向那些专业的产品同事致敬!!

 

作者: 虞大胆,公众号:虞大胆的叽叽喳喳(ID:yudadanwx)

本文由 @虞大胆 授权发布于人人都是产品经理,未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

作者:来自镁客星球的王饱饱;来源公众号:镁客网(ID:im2maker)

原文链接:https://mp.weixin.qq.com/s/LsBOtY6GnQIoZd9gF2v5kQ

本文由@镁客网 授权发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unslash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 你不告诉我节点我怎么开展接下来的工作,我怎么和我的boss说,也麻烦考虑一下产品的感受

    来自河北 回复
  2. 这就是谁比谁认真的问题,如果大家目标一致,共同朝着目标去努力把一件件事情办成,又哪里会来这么多问题呢?
    相互信任 + 相互放权

    来自上海 回复
  3. 感觉程序员已经单独进化成一个物种了

    来自北京 回复
  4. 学习很多,作为新人产品,遇到负责的技术同事真的会学习到很多,在评审会和开发过程中他会提出疑问并且还会给些建议,开发方面不懂的问他们也很愿意给你讲解。

    来自四川 回复
  5. 几乎所有的产品经理发出来的东西都在宠程序员,几乎所有的程序员发出来的东西都要砍死产品经理

    来自上海 回复
  6. 从运营转过来的产品,说实话,做产品跟程序员打交道,比做运营跟设计打交道,轻松多了,简单明了,不固执肯倾听,有空多学习学习,就好了

    来自浙江 回复
  7. 全文读下来逻辑严谨,归类清晰,满满干活,果然要从程序员视角帮助产品更好开展工作。

    来自广东 回复
  8. 问下各位,你们公司产品经理是否需要给开发出设计方案?

    来自湖北 回复
  9. 1.自我专业性强,逻辑严谨,文档清晰,演(hu)讲(you)能力也得不错,会引导。
    2.关系到位,女程序多赞美好看,气质、有内涵,适当可研究化妆品,男程序员经常聊点huang的普及下高山流水、海底捞月、水晶之恋、猴子偷桃、合适机会组团一起去耍。
    3.发展全方位爱好,健身、打球、摄影、爬山、做饭也厉害,玩游戏也能一起,没有什么程序员搞不定
    总结:关系营销,做好关系,一切都好说。学会妥协,学会退让,知之为知之,不知为不知。

    来自北京 回复
  10. 说的很好

    回复
  11. 我是一名产品经理,看到这位作者写这篇还蛮有感触的。从以前不是很懂事,都犯过作者以上提到的几点,到后来随着时间和经验渐长,自己也改变了沟通的方式,当中改变的沟通方式作者也提到了。我个人觉得,
    首先,产品经理需要跟提需求者先沟通好需求点,通过自己的梳理,画原型和注释重点和需求、全局逻辑交互给技术,
    再来,跟技术抽个短时间口述自己的需求,同时与技术沟通,得到技术对需求前期的反馈,在对自己的需求和原型做调整,在交付给技术进行开发。
    中途,遇到什么问题都会及时与开发沟通,如果遇到我无法决定的事情,我会请技术给出几个实现方案,从中结合需求挑出适合我们的产品的方案。
    上线前,我会参与测试,验收,在做反馈。
    上线后,我会收集用户数据,和功能使用情况,做成简短的总结汇报给总结和技术。
    以上是我现在的工作方式,我觉得对开发也要用心,毕竟产品经理的需求和水平有时候真的取决于开发的实现

    来自广东 回复
  12. 一直都在跟技术同学和谐相处,遇到需求中更好的解决方式的话,研发同学会提出更好的建议,正在专业的产品经理的道路上前进!

    来自北京 回复
  13. 对别人有要求,对自己要更加严格。己所不欲勿施于人。

    来自广东 回复
  14. 作者太站在被宠溺的程度员立场说话了,不问时间怎么会有总计划?不监督难道程度员都自觉细心负责?程序员大多只见树木不见森林,说提意见,要么不发言,要么就站自己工作难易角度提最省事的解决方案。

    回复
    1. 嗯嗯 这种情况我也遇到过 我觉得还是沟通出了问题 不能总是丢一对原型文档给程序员儿不把背景交代清楚 项目环节的每个人都有对项目的知情权

      来自广东 回复
  15. 人格魅力难了

    回复
  16. 作为一枚产品小白,确实目前还欠缺很多。和程序员打好关系相对还是比较良好的;另一个核心就是基础能力了。

    回复
  17. 产品经理和程序员的工作关系是一种竞合关系,二者都应该认识到一点,否则很难共存……

    来自山东 回复
  18. 我感觉你说的就是我 ➡

    来自上海 回复
  19. 确实带有很多的个人情绪,我就遇到过一些很喜欢拉着产品经理陪加班的程序员,自己干活一定要拉上产品,产品走的比开发晚才开心。(当然我认为这种程序员将来都不会有多少发展的)

    来自上海 回复
  20. 做个产品考虑这么多还做什么产品

    回复
  21. 我觉得我现在遇到的产品,就存在没有反馈的问题。老是在要演示给别人看的时候,就跳出来说这有问题,那有问题。本来时间就赶,他又一直在那里追问,烦都烦死。本身他设计的很多东西在开发过程中发现很不堪一击,问他,他给不出好的方案,只会说,你们觉得怎么做好就怎么做,到最后我们都习惯性不给他提问题,自己讨论解决了,然后最后验收他又在那里问东问西。谁记得那么多?!!!!烦死!本来这个组挺好的,但遇到他,真不想待了。

    来自浙江 回复
  22. 想的很好,可是很多技术总是欺负不懂技术的产品,这不行那不该,然后产品被坑惨了。以前我遇到的一个技术,一些简单的功能经常说功能太复杂,难以实现,要实现可以,时间远远大于计划时间。老是拖节奏或者要求我改方案,后来老板来吵,方案为什么总是改,进度为什么这么慢?那技术立马改口: 这个功能?很简单啊,给我五分钟。 什么?之前为什么做不了? 产品没跟我说明白呀,早知道这样我肯定做出来了。 能说什么? 借文主也说说技术,产品也很单纯,只想做个好产品出来,大家获得认可,请不要总是忽悠他们。 同是打工仔,相煎何太急。

    来自重庆 回复
    1. 老哥经历如此丰富么?

      回复
    2. 这很正常吧

      来自重庆 回复
    3. 深TM有同感,辛辛苦苦把方案调了,老板质问的时候顶着,顶不下去的时候老板把技术叫过来,就改口了,而且还说很简单啊。。。简单啊。。。单啊。。。啊。。。

      来自四川 回复
    4. 相煎何太急

      来自重庆 回复
    5. 你们公司是在拍甄嬛传剧情吗

      来自四川 回复
    6. 很多公司都这样,特别是大公司

      来自重庆 回复
    7. 同感!!!!!而且技术出身的老板永远都觉得是产品的问题。。。。

      来自江苏 回复
    8. 技术出身的老板还好哇,最怕啥都不懂的老板,谁会邀功谁有理。

      来自重庆 回复
  23. 优秀的产品经理很少,能遇到像作者这样的程序员也不容易。

    来自广东 回复
  24. 其实吧,我跟程序员其实关系挺好的,最喜欢有的时候,有个程序员怼我,其他的程序员蜂拥而上帮我怼他,哈哈哈

    来自重庆 回复
    1. 你八成是个女的

      回复
    2. 一定是

      来自北京 回复
  25. 文章总总结产品经理需要有 把需求想清楚,是否是必须,是否足够好,并且能用程序员懂得逻辑语言沟通清楚,这是技能层面;还有就是对程序员日常语言和工作上的认同。总结就是做人和做事。程序员是最可爱的一群人,一名产品经理留。

    回复
  26. get

    来自浙江 回复
  27. 说得很棒 很全面 恨不得想和楼主成为好朋友了呢

    来自美国 回复
  28. 学习了

    来自广东 回复
  29. 防挨揍指南…

    来自北京 回复
  30. 学习了

    来自安徽 回复