产品经理和程序员怎么和谐相处

董一凡 发布于 2014年02月21日 | 更新于 2014年02月25日
清醒疯子 等1人欣赏。

工作的一个最基本要求就是专业分工。依靠程序员懂产品经理的职责,或者反过来都是耍流氓。

双方交恶的更本质的原因一般不在改需求本身,专业程序员不会反对改需求,一般的原因在于不相信程序员的专业性,举个例子,你要改动一个登录页面的流程,程序员告诉你,这个功能要两周才能做完,你说不行,一周必须做完。这样就没办法沟通了,不写程序的人决定一个程序多少时间写完(注意我说的是决定),这是很荒唐的一件事。一般的结果是闹到老大那里去,最后加班(加班从来也不是一种专业的表现)。

专业的产品经理不应该用功能的产生原因来说服程序员,这不是程序员应该关心的事,如果程序员关心这事,很好。但这不能起决定作用。同理,程序员认为产品经理需要懂写程序也是算流氓

产品的功能由产品经理负责,所以产品经理就应该有权利决定做什么功能。功能由程序员实现,所以程序员有权利决定做多少时间。

但是现实中这两者总是存在冲突。靠谱的做法是协商,比如上边那个例子,你应该说明一周做完的原因在哪,比如一周后有客户要看演示,那可能的解决方案就是既然是演示,那么就做一个不对错误进行校验的版本。

在这个产业干了这么多年,真心希望多一些有专业素养的人。可惜总是满满的各种悲剧。实在是有太多不合格的程序员了。

因为我本人是程序员,所以这里可能大部分是程序员视角。

增补一些吧

首先,我从头到尾没有说程序员不能去关心产品的问题,相反,程序员去学习一些产品的问题是非常好的问题。我说的是,程序员不应该以自己对产品的理解去否定产品经理的要求。你可以提意见,但不起决定作用。

程序员和产品经理的问题其实就是,一个要需求,一个要时间来实现。在完美的世界里,需求正好能在需要的时间里实现,那自然皆大欢喜。现实世界中,总会出现两者不相匹配的情况。直面这个问题才有可能和谐相处

有很多所谓的解决方案,都只是转移这个问题,比如老板拍板,加入项目经理,甚至说应该产品经理和程序员是同一个人。就拿最后一个来说,就算你们是同一个人了,这时候你像要一个超酷超炫的功能,然后发现程序实现起来要一年,然后呢,你有两种解决方案,自己跟自己协商,想办法得到一个自己能认可的方案。另一个种方案就是自己不停的和自己吵架,光荣的迈向分裂的道路。

程序员与产品经理也好,程序员与项目经理也好,甚至程序员与老板也好。先明白问题是什么,以及可能的解决方案是什么,这才是和谐相处的唯一可能性。

共18条回复
freecunix 回复于 2014年02月21日

我觉得你的描述里需要加入一个懂产品又懂技术的老大,这样问题就解决了。

需要一个人决策

googollee 回复于 2014年02月21日

时间这件事情是需要和项目经理沟通的,如果是产品来告诉你,那一定也是别人决定的这个时间。找对沟通的人很重要。

virushuo 回复于 2014年02月21日

http://blog.xiqiao.info/2014/01/17/1473

董一凡 回复于 2014年02月21日

1楼 @freecunix 哪有这么简单的事啊,权利多大,义务就有多大。比如产品经理,就应该对产品的功能有决定权,但是如果产品失败了,也要负直接责任。同理,程序员对怎么写代码有决定权,但是如果因为代码写的烂导致产品失败,那就是得负责。

号称懂产品懂技术的老大,别逗了,就算他都懂,他能在两方面都担起相应的负责吗?如果能,挺好,下边的人也理应在他的指挥下干活。

专业人士专业做事。

mly1110 回复于 2014年02月21日

看到这个标题产品汪就自觉滚进来了。。。

freecunix 回复于 2014年02月21日

4楼 @董一凡 老大不一定非常懂,但是他必须决策呀。

必须有一个人来做决定。比如从产品的角度讲需要加一个功能,程序觉得行不通。

这时候就必须有一个有权利的人决定是不是要加,决定好了,产品和程序再有怨言也要执行。

而不能是产品和程序相互讨论到底加不加,多久完工,产品和程序的出发点和视角完全不同,很难讨论出结果。

董一凡 回复于 2014年02月21日

6楼 @freecunix 哪来的什么视角不同,产品只需要对产品的功能负责,程序员只需要对这个功能能不能实现负责。行就是行,不行就是不行。程序员必须知道一个东西能不能实现,以及实现的成本,如果一个功能必然实现不了,那找谁拍板都没用。不管你多有权势,做不出就是做不出。要做多少时间就是多少时间。不相信这一点的人,就是我里边说的无法相处的根源:不相信对方的专业性。不要以懂为理由,懂和做有十万八千里的距离,请问是不是你写程序,写不出来是不是你负责。

你自己把程序员,产品经理代换成其他专业人士,比如建筑师,医生,律师,再想想自己的想法是不是不靠谱。

如果程序员不知道一个功能能不能做出来,需要多少时间,那是程序员不专业的直接表现。

况且老板拍板怎么就不能协商了。

isaced 回复于 2014年02月21日

一起去东莞玩!

freecunix 回复于 2014年02月21日

7楼 @董一凡 程序员往往只从技术可行性来考虑产品,产品经理则会从市场和用户感受来考虑,这不就是视角不同吗?

程序员往往觉得一个功能实现太复杂,而有不带来更好的体验,就放弃。产品经理则往往想出难以实现的功能和效果。

如果两个人同级,又互相不妥协,就很难解决,毕竟这里没有谁对谁错的问题。这时,就需要一个有权利的决策者,这个人就是项目负责人。

董一凡 回复于 2014年02月21日

9楼 @freecunix

程序员往往觉得一个功能实现太复杂,而有不带来更好的体验,

这个就超越了程序员的职责了,你可以提意见,但是不重要。程序员只该关心实现这个功能的成本,并给出这个功能的成本,能不能带来好的体验,和程序员的工作没有关系。当然你可以提意见,但是不起决定作用。

如果程序员以不能带来更好的体验去反驳产品经理,这就是不专业的体现。

我们需要专业分工,你可以懂别人领域,提出意见,但是你不能以此来说服对方,因为对方在这个领域才是专业人才,如果搞砸了,是别人要承担责任,不是你。

产品的体验好与否,和程序员无关。(记住,这里说无关并不是鼓励你不去关心这个问题,事实上一个程序员去了解点产品的知识总是有好处的,但是这个不能拿去当论据,这不是你的工作职责)

程序员拒绝一个功能的理由有且只有一个:这个功能程序上无法实现,我说的是绝对无法实现。

freecunix 回复于 2014年02月21日

10楼 @董一凡 这似乎是一个企业管理的问题。。

关于程序员具体有什么职责,这个说不清,可以说实现功能的成本对程序员来说也不重要,给我啥我就做啥,其它的关我鸟事?也可以说一切都和程序员有关,把产品看成自己的,用心做,关心体验,关心市场这也没啥不对的,小公司技术合伙人都是这样的角色吧。

对于标题的“产品经理和程序员怎么和谐相处”,我觉得产品经理应该和项目经理和谐相处,他来关心程序员干什么??

董一凡 回复于 2014年02月21日

11楼 @freecunix 关心体验,关心市场没错,很提倡,我一直没有说程序员不要去关心市场,关心体验,我一直说的是不要用以这个为论据去和产品经理叫板,你要换成项目经理也一样。

产品经理为什么要和程序员相处,很简单,因为他要求的功能和程序员实现这个功能的代价之间,总会有矛盾。所以才需要协商。而且不是我觉得你是傻逼,你觉得我是傻逼。

当然大家都不专业的话,那问题就是这么把这些变专业了。

freecunix 回复于 2014年02月21日

12楼 @董一凡 这个问题可能总会存在。。程序员觉得代价大,但是产品可能又会觉得可以接受。程序告诉产品要10天,他就会觉得这么简单2天就行呀。。 这种按部就班的公司最好是明确上下级,谁官大谁说了算,每天卖力10小时,2天还干不完他也不能枪毙你,也算是你对得起大家了。

团队级别的开发,大家都卖命,信任度很高的话,就会比较少出现这种问题吧,至少不会由于不信任而在工期上过分讨价还价。即便要求你加快进度,也多是出于对你能力的肯定,哪种感觉是不一样的。

我觉得

董一凡 回复于 2014年02月21日

13楼 @freecunix

他就会觉得这么简单2天就行呀。。

这个就是产品经理越界的表现了。他可以建议可能什么样的做法两天能做完,而不能以此要求你必须两天做完。

明确上下级,官大说了算,只是回避问题,不是解决问题。事情做不完还是做不完,不会因为一个老大出来说了算,事情就很神奇的做完了。

每天卖力10小时,2天还干不完他也不能枪毙你,也算是你对得起大家了。

这是一个程序员没有负责任的直接表现,你作为一个专业人员,要对自己能做的事给出承诺,承诺就是一定要做到,做不到就要承担责任。同时你也有义务在自己不能完成一件事的时候,用一切办法指出来,让所有人明白这样行不通,哪怕意味着你得越级找更高的人说明事情。

阳奉阴违的认为,反正做不出来也不会把我怎么样,产品最后失败了,那就是所有人跟着你倒霉。

freecunix 回复于 2014年02月21日

14楼 @董一凡 我靠,就我一个人在这跟你扯,你能不能别用技术人员特有的态度,每句话都反驳我呀?

还不让有一个官大的决策,然后你那边产品和技术还不停吵吵,程序员妥协了你还说人家不负责任?

你就是让听到我说:产品是个垃圾人渣!他必须妥协,必须听程序员的!

cnsoft 回复于 2014年02月22日

13楼 @freecunix 哈哈. 其实基本上 都没有办法去理解具体的为什么. 我理解 还是现实一点好,产品就结合实际能力来制定。否则就是各种悲剧。 挖大坑不可取。

cnsoft 回复于 2014年02月22日

14楼 @董一凡 曾经 从立项开始就说了 种种不可行。还是被硬逼着开工了,结果可想而知。

derek1ee 回复于 2014年02月25日

我来说说的的想法吧 我是CS本科毕业 在WP和Bing做过PM 现在在Xbox

作为CS专业毕业的PM 我一直以Technical PM自居 大家都知道我跟Dev/Test的关系比我跟PM peers和老板的关系要密切 在日常的工作中 我试图去让自己不光懂product 还懂product code 我会读code review, fix bugs, test, 也经常会写一些小的feature 你可能认为这是PM不务正业 但我看来是我自己学习product的一个很好的方法 同时也让我赢得了dev/test的信任 他们知道我不是对code一窍不通 也愿意跟我一起讨论技术问题 如果我们对时间的估算 计划的规划有不同意见 他们会愿意跟我深入的解释他们为什么这么想 而不是说我什么都不懂也没法跟我解释

结果就是 当我几次换部门的时候 Dev/test都愿意甚至希望跟我一起走 在我看来 这就是一个PM做的最成功的表现之一了

本帖有18个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]