600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 从程序员打人事件谈一谈“产品经理”

从程序员打人事件谈一谈“产品经理”

时间:2018-07-29 19:35:02

相关推荐

从程序员打人事件谈一谈“产品经理”

最近流传了一个某公司的程序员和产品经理打架的事情,在网上引起了一些话题,产品经理和程序员的矛盾几乎是不可调和的,我对这一问题的思考已经很久了,趁此机会也来谈一谈。

学软件工程的时候,有几种软件开发的模型如瀑布模型,快速原型,螺旋模型,这些模型主要是用不同的方法解决两个方面的问题:一是需求,二是实现。搞清楚需求,甚至比实现还重要。而需求的模糊性,变化性又是不可避免的存在。一个项目要开发,一般来讲,客户方和开发方要经常密切的需求讨论,需求的设计和取舍,基本上是两方互相妥协的结果,客户想要的,开发团队能做的、想做的,往往不能完全一致,最终就有某些方面的妥协,这是很正常的事情。

一个项目合作,客户方有一个负责人,开发方有一个负责人(通常是开发小组组长),这两人做最终的需求对接和拍板。

产品经理,这个名词不知什么时候开始流行的。按产品经理的功能,是提出需求的人,这个功能是属于客户方的。如果项目是外包性质的,那产品经理就是对方公司的人,他们的权责是分得很清楚的,即需求方和开发方不是上下级关系,而是合作关系。但是如果是自己公司自己开发产品,产品经理和开发小组的关系就会变得很微妙。

产品的需求是随时会变动的,这个是由人的天性决定的,人总是会有各种各样的新想法新点子。如果是合作关系,总是会积累一部分需求,并且充分讨论后才会付诸实现的。但是公司内部,很有可能就不会有这些过程,而是想到一个点子就立马叫开发人员去做,这样就容易导致产品经理和开发人员的矛盾。

主要有以下方面的问题:

1,产品经理和开发小组之间对需求的可行性讨论有可能被忽略,而直接以产品经理的要求或命令为准。

可行性与两个方面有关,一是需求本身是否合理,是否超出了目前的科技水平。二是开发小组所具有的开发水平。对于第一点,一般是只有行业人士能评估的,行外人士甚至觉得会很简单,但对业内人士来说却是遥不可及的。如果开发小组提出这个需求超出了目前的科技水平,那么公司领导一般不会相信的,他一定会觉得只是你个人的水平不行。对于第二点,一般公司的开发小组所具有开发水平总不会是全球第一的,总是会有很多“别人做的到,而自己做不到的事情”。有这两个矛盾,所以需求双方坐下来谈解决办法,如果忽略需求的可行性讨论,就会激发这种矛盾。

2,按常理发展,产品经理的话语权会走强

因为程序员是负责实现的,是干活的,中国人往往认为干活的人是没什么话语权的,只管按着别人说的来做就行了。开发小组组长是有话语权的人,而且一般也是由程序员担任,他还会护着程序员。但是产品经理是发布需求的人,是指挥别人干活的,在公司内部就天然形成了一种“不平等”,开发小组组长也只能听产品经理的。时间一长,这种不平等关系是会越来越强化的。

3,某些公司可能直接取消开发小组组长

开发小组组长会要求对需求进行讨论,甚至抵制一些开发小组认为“不合理”,但是产品经理认为“合理”的需求。而且产品经理不能直接指挥程序员干活,而是要把需求发布给组长,再由组长分配给程序员,这样好像没有什么“效率”。产品经理会想,我明知道这个功能是由某某程序员负责的,现在有问题,我直接找他解决问题,这是最有效率的,很多公司领导一想,也对。因此,开发小组组长这个职位会被弱化,甚至被取消,改由产品经理直接指挥程序员。

4,产品经理会导致需求频繁变动

一般情况下,在立项的时候,产品的需求是大致会确定下来的,只是某些细节还不太明确。如果需求有很大的变动很可能会当成一个新项目来处理。但是产品经理这个职位,他的功能就是提出需求的,如果提不出需求,那么这个职位也就没有什么意义。因此,产品经理就会想破脑袋来提需求,没有需求也要创造需求,不然职位不保,反正干活的也是别人。程序员如果对需求有异议,产品经理往往会用程序员不懂市场、不懂用户等理由反驳回去。在产品经理心里,程序员不是用户,是不能代表用户意见的。

5,程序员的地位进一步降低

所谓“劳心者治人,劳力者治于人”,程序员的工作虽然是属于劳心者,但是在有些人眼中,是不折不扣的劳力者,是用整天键盘打字的人。而且很多程序员不善于沟通,只会默默的干活,这个在中国可是会很吃亏的。由此,程序员的很多想法会被直接忽略,程序员提出的需求不是需求,程序员不被当成正常的用户。写好你的代码就行了,其它的别管。这样即使面对频繁变动的无用的需求,程序员是无力抵抗的,只能加班加点的干。这会导致一批程序员沦为真正的“码农”。

6,程序员失去主动性会造成双输

程序员所做的工作,其实不好量化的。如果还用代码量来评价程序员的工作是很落伍且大错特错的。用功能是否实现来评价也是很粗糙的。功能是否实现这是基础,仅有这个基础是不够的。程序运行的效率,内存使用,健壮性等事情,需要程序员积极主动来做,而非用命令就能做得好的。用“计时”或“计件”来机械的管理程序员,是没有好结果的。程序员觉得和产品经理之间地位太不平等,只能任其摆布,没有参与感,就不会积极主动的来解决除功能以外的问题。这样对公司不好,对程序员也不好,所以是个双输的局面。其实没有人想双输的。

我们来看一下最近几年,各个大公司的APP变动,都有反复折腾的成份。这样的折腾,从网上来的评论来看,用户是不太满意的,因为大公司已经是垄断地位,很多用户也只能骂一骂,并改变不了什么。我想这里面有多就是属于产品经理的手笔,产品经理的需求与用户的需求,其实是脱节的,产品经理这个职位一定不会仅代表用户的需求,并且也一定不会仅代表公司的需求。(我用了一个仅字,因为他们还是会代表一部分的。)他们一定会没有需求也要创造需求,哪怕是无用的需求,错误的需求,甚至是越离谱越好,这会让领导觉得自己思路新奇,想别人之所不能想,因为他只负责想,做事的是别人,做不好完全是别人的责任。这些无意义甚至有害的需求,会耗费公司大量的人力物力,反而得到差的效果。

产品经理这个职位会为公司带来很大的负作用,但是产品经理的功能是有必要存在的。因此最好的做法是取消产品经理这个职位,但是要做相应的组织调整来替代产品经理的功能。

1,需求方的代表应是一个兼职,最好由高管来兼。

2,对项目需求有要求的部门需要自己提出需求,由文员汇总。

3,开发小组组长职位必须要保留,代表开发方一起参与需求讨论和定型。

这样就可以避免目的不纯的需求,避免无意义的需求,又能直接采集到有用的需求。开发小组组长向需求方代表汇报工作,工作成果共享给需求相关的部门。

在实际工作中,我发现不少程序员的思路敏捷,看问题的逻辑清晰,提出的需求是很实用很靠谱的。但程序员的提出来的需求往往不被重视。可能是因为程序员做为一个整体,被人认为是死脑筋,不善言谈的人。即使出现一些活脑筋,善言谈的程序员,他们的观点也被忽略了。这其实是很浪费的。在现在这个互联网时期,走正道,高质高量,永远是制胜的并且是成本最低的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。