今天我们来讨论一下在软件开发过程中的一个很常见,也是令很多程序员头疼的问题,那就是与产品经理直接的矛盾到底是怎么形成的。
先看下面的一张图片,我想大家都明白其中的意思。
一、产品需求经常变动
由于产品经理经常改动需求,导致程序员不得不把做好的东西重新再做,结果可想而知。有的时候程序员加班加点刚做完的东西,被产品经理一句话给推翻了,说需求变动了,不能这么做。严重的时候连核心模块都完全大变样。就一直这样改完做,做完改,无限循环下去。这个小编我可是深有体会。
二、产品经理对程序员的不理解
遇到一个懂技术的产品经理不容易。程序员经常听到的一句话就是,这么简单的功能为什么要这么长时间?这样的话令很多程序员恼火,是最能激发与产品经理矛盾的导火索。
三、程序员处在软件开发流程的最底层
看一下下面的图片,是大多数公司标准的软件开发流程。
从图中我们可以看出,产品经理可以直接跟客户讨论需要,而程序员处于流程的最底端。我们都知道,如果流程越复杂越不容易传达,对于需求的理解,最后传递到程序员这里,有可能就变了味道。如果产品经理把握不好,可能最终结果跟客户想要的完全不一样。
有的产品经理技术上和项目管理上的不专业,对产品需求的理解不深刻,随意改动需求,导致程序员的怨念值再一次上升。
换一句话说,程序员处于流程的底层,只是执行者,产品经理怎么传达就怎么执行,完全没有主动权,这也是导致需求改动的一个原因。比较聪明的公司的做法是,在产品需求会议上,允许程序员参加并发表意见,这样可以从技术的角度及早发现产品功能中存在的问题,从而避免后期需求的频繁改动。
在此也给产品经理们提点建议:
对需求要详细理解,不能一知半解就把需求交给开发;
懂点技术,懂得怎样与程序员沟通;
学会体谅程序员,尊重程序员的工作成果;
给程序员的建议:
做好需求更改的准备,提高代码的扩展性和可维护性;
预留出修改bug和需求的时间;
对需求理解透彻再开始写代码;
代码不要写死,防止需求变动;
大家互相理解。这样才能相处融洽,为同一个目标共同奋斗。
https://www.techug.com/post/collision-between-programmer-and-product-manage.html
原文地址:https://www.cnblogs.com/findumars/p/11067685.html