为什么技术与产品沟通起来总是那么痛苦

编程语言,它终归是一门语言,只是它的使用者是电脑软件和硬件。

产品经理和程序员对于需求理解的思维体系、语言体系、语言上下文环境不同。

比如这个需求:一包中华45元,产目经理给你50元,让程序员去买包烟把找的5块钱拿回来。

产品经理觉得非常简单,一句话的事。

而对于程序员而言:

如果去西安买烟,西安卖烟的地方关门了?是回去给产品经理说卖烟的地方关门了还是一直找,直到找到一个没有关门的卖烟的地方?

如果去西安买烟,西安卖烟的地方关门了?是回去给产品经理说卖烟的地方关门了还是一直找,直到找到一个没有关门的卖烟的地方?

如果这里的一包中华是40元,或者一包中华是50元,买不买?不管多钱都买?还是征求产品经理同意后再买?

怎么判断买的烟不是假烟?还是不管真假买了一包中华就算?

如果卖烟的老王退了,但是再没有别的卖烟的地方了怎么办!

如果产品经理让你退了重新在别的地方买一包怎么办?

如果卖烟的人不退怎么办?

如果买回来买的是50元一包的中华,产品经理嫌贵了怎么办?如果买回来的是40元一包的中华,是给产品经理退5元钱还是给他退10元?

买了之后是邮寄给项目经理?还是自己给带回来?还是让顺道的同事给捎回去?

......

人类千百万年来进化形成的临机应变,相机行事等等这些本能,计算机及编程语言一丁点不具备。它就认准程序员写的程序,就乖乖地听你程序,指哪打哪。

所谓的人工智能也只是程序员把每一种可能,人类面对问题所会面对的问题事先写好程序语言录入进计算机。

如果意外在之前所料之中,程序完美执行,如果意外所料不及,那就是BUG,就是错误。而这些BUG和错误都要程序员去一点一点补充产品经理所谓“需求”之外的所有潜台词。

这是在需求确定的情况下,如果程序员正在买烟的路上,产品经理打电话说,剩下5块钱回来再买瓶水。那之前所有的逻辑程序员又得再执行一遍。如果产品经理过一会又打电话说再买个面包。。。那就折腾死程序员了。

从需求方面说完,再从程序员编码实现方面来说。

还是刚才的需求:产品经理给程序员50元,让买一包45元的中华烟,找回来5元钱。

为什么技术与产品沟通起来总是那么痛苦_第1张图片

程序员一听,程序里面写死了,从线路1去西大街,买完烟再沿线路2返回。

但是中途产品经理说你再买点零食回来。

程序员傻眼了!!!

得,只能程序重新设计,从线路2出发。

试想,从初中开始学英语,初中三年,高中三年,大学四年,十年下来,有几个人能面对外国人说一口标准的英语?

编程语言也一样,有些程序员大学没好好研究编程,或者根本不是计算机系,上过几天培训班,知道编程是怎么一回事,会写if/else/for,就业所迫,就开始商业编程了。

写程序必然是指哪打哪,别的情况我不管。

这样的程序,脆弱的不敢碰,一有改动就是要性命啊。



来源:知乎

链接:

https://www.zhihu.com/question/40712955/answer/88072793

你可能感兴趣的:(为什么技术与产品沟通起来总是那么痛苦)