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


“如果产品经理过一会又打电话说再买个“面包”。。。那就折腾死程序员了。”



为什么产品与技术沟通起来总是那么痛苦?有时候你觉得很简单的一件事,在程序的世界里很有可能变得纷繁复杂。


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

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

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

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


而对于程序员而言:


·50元是不是假钱?

·如果不是假钱,去哪买烟?

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

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

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

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

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

·如果产品经理一定要45元的中华怎么办?

·如果产品经理突然不想要这烟了,让你退回去怎么办?

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

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

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

·如果又找到一个卖烟的地方,并且一包中华也是45元。带给项目经理。项目经理听说你是从西安买的,他要抽北京买的烟怎么办?


……


你会发现问题没完没了。

你可能会说程序员太死脑筋。错!产品经理所说的,中华45元,给你50元,买完找5元。这句话是建立在一系统上下文语境,人类生活习惯,生活常识当中的。产品经理的潜台词是说找最近的有卖烟的买一包45的不是假烟的中华烟,找的五块钱给我。

而对于程序语言,还是开头那句话:编程语言是一门语言,它的使用者是软件和硬件。对于计算机而言,它没有情感,不理解人类的这一系统语言环境,生活习惯,生活常识。

它只严格按照它的语言规则,编译原理一步一步,老老实实,丝毫不露地往下执行。

如果没有分歧,一切妥当。

如果有分歧,完蛋了。

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

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

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

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

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

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

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

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

程序员傻眼了!!!

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

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

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

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

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

最后一方面是:国内软件开发,开发流程不完善。有活就赶紧埋头干,干了不对再说。最终需求理解不到位,项目周期比火车还长,项目成本居高不下。

有时候拖着下巴想想,编程真是一门艺术活。

 

来源:知乎

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中双重循环_python中双循环

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 如果你对python中的for循环不是很清楚,请看看这篇文章:for循环控制语句——菜鸟的py…

Dapr 交通流量控制示例

Dapr 已在塔架就位 将发射新一代微服务牛年 dotnet云原生技术趋势Dapr是如何简化微服务的开发和部署前面几篇文章都是从大的方面给大家分享Dapr 能帮助我们解决什么问题,微软从开源到1.0 也是经过2年的时间开发,因此我写了这几篇文章也只能是带领大家对D…

apt-get 更新指定软件_GrandPerspective for mac(磁盘管理软件)

GrandPerspective for mac是一款Mac平台上的磁盘管理软件,GrandPerspective Mac版用图形直观显示磁盘和指定目录使用状况。最占空间的文件/目录一目了然,便于管理你的Mac磁盘空间。GrandPerspective for Mac下载带给大家,欢迎大家前来下载&am…

月薪多少才算80后中的人生赢家?他们的经济、婚姻、生活方式是怎样的

如今,80后已成为职场、家庭、社会的中流砥柱。在这一代人中,现在月薪多少才算跑赢同龄人的“人生赢家”呢? 近期,复旦大学人口与发展政策研究中心、复旦大学社会科学数据研究中心最新发布的“80后的世界——复旦大学长三角社会变迁…

用gis打开tif格式_如何下载SHP矢量格式的等高线

一、什么是等高线?等高线指的是地形图上高程相等的相邻各点所连成的闭合曲线,把地面上海拔高度相同的点连成的闭合曲线,并垂直投影到一个水平面上,并按比例缩绘在图纸上,就得到等高线。等高线也可以看作是不同海拔高度…

5种设置ASP.NET Core应用程序URL的方法

默认情况下,ASP.NET Core应用程序监听以下URL:•http://localhost:5000•https://localhost:5001在这篇文章中,我展示了5种不同的方式来更改您的应用程序监听的URL。•在Program.cs中使用 UseUrls()•环境变量 - 使用DOTNET_URLS或者 ASPNETC…

分布式部署_Apache Spark探秘:三种分布式部署方式比较

【本文详细介绍了Spark的三种部署方式及其比较,欢迎读者朋友们阅读、转发和收藏!】目前Apache Spark支持三种分布式部署方式,分别是 standalone 、 spark on mesos 和 spark on YARN ,其中,第一种类似于MapReduce 1.0所…

备战美赛,这些你应该知道的知识点

国赛刚过完 美赛就接踵而来 只剩下两个多月的时间 不少准备参赛的小伙伴在后台咨询 该如何准备美赛 为了更好地帮助大家进攻美赛 超模君特意邀请到 今年国赛A题Matlab创新奖&一等奖获奖者 方天庆同学 (获奖队伍:黄璐哲、方天庆、帅青) 为…

2020研究生数学建模结果_关于举办2020年全国研究生数学建模大赛的通知

2020年全国研究生数学建模大赛开始啦!各学院: 为在大学生中倡导学习统计、应用统计的良好氛围,适应大数据时代的高校统计和数据科学人才的培养要求,提高研究生的数据挖掘、数据分析、运用计算机处理数据的能力,加强创新…

我计划搞直播了,欢迎来一起聊一聊

阅读本文大概需要2分钟。说实话从2015年开始写公众号至今,能想到的是我的坚持,没想到的是居然能快速收获这么多关注,更没想到是能影响一大群人,得到大家的尊称张队。公众号始终围绕着dotnet 生态进行,2015年dotnet刚开始开源&…

code删除前两个_听说用python来批量删除说说也挺快乐的呢~

原文链接听说用python来批量删除说说也挺快乐的呢~​mp.weixin.qq.com先睹为快在终端运行如下命令即可:python clearQzone.py (--manual)如果加了--manual选项,意思就是每条说说删除前你都要先人工确认一下是否真的需要删除它,否则就是直接把…

放弃Python转向Go语言:我们找到了以下9大理由

转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时。今年 Stream 团队的主要编程语言从 Python 转向了 Go。本文解释了其背后的九大原因以及如何做好这一转换。 为什么使用 Go 原因 1:性能 Go 极其地快。其性能与 Java 或 C相似…

开源许可证的变更带给我们什么启示?

喜欢就关注我们吧!近日,Elastic 公司将旗下的知名开源项目 Elasticsearch 和 Kibana 的开源许可证变更的事件持续发酵,再次把我们的目光聚焦到开源公司与云服务厂商之间的矛盾旋涡中。事实上,Elastic 公司与云服务厂商的“积怨”由…

as本地仓库更改_将gitee仓库连接GitHub Desktop。新建更改仓库并上传至gitee。

Ⅰ、在GitHub Desktop上登陆账号GitHub Desktop上只能用GitHub账户登陆第一次打开GitHub Desktop使会直接有登陆界面出现的,直接用GitHub的账户登陆就好了可以在最上方的菜单,File → Options打开页面登陆 (详细操作见图)这是已经…

有人问我:程序员要供祖师爷的话该供谁?

有人问我:程序员是不是都抽烟? 我想了半天我抽烟完全是因为医生,在我刚上大学的时候还不会吸烟,有一天嗓子特别疼,我就去医院检查,大夫检查之后对我说,没什么太大毛病,你少抽点烟就行…

java父类转子类_java中什么是继承,和继承的接口的关系?

继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相…

VSCode+BeetleX.VueHost开发Vue应用

BeetleX.VueHost是一个用于打包Vue和提供HTTP服务的程序,它能提供在没安装vue-cli和webpack的情况下开发vuejs应用。使用 BeetleX.VueHost无须安装下载运行即可,可以通过以下地址下载:链接:https://pan.baidu.com/s/1z4Jfz…

8 无法识别raid盘_王者荣耀防沉迷规则再升级;未来将采用人脸识别验证

昨天,《王者荣耀》官网发布了《未成年人防沉迷新规接入公告》,这份公告对于未成年人的可游玩时长、充值金额等都做出了规定。规则规定:在游玩时长方面,未成年用户每日22时至次日8时禁玩,法定节假日每日限玩3小时&#…

干货|MIT线性代数课程精细笔记[第二课]

0前言 MIT线性代数课程精细笔记[第一课]笔记见MIT线性代数课程精细笔记[第一课]。 该笔记是连载笔记,希望对大家有帮助。 1知识概要 这一节中我们介绍一下消元法,即是上一节中我们提到的“系统化”求解方程所用的方法,通过矩阵消元运算可以很…

在以下说法错误的是_外行人对翡翠有哪些错误认知?行家给你最精准的答案

玉石行业虽然在我们国家有着很悠久的历史!但是就行业认知而言,仍然属于小众行业。正所谓隔行如隔山,在很多外行人眼里,翡翠行业很神秘,而且水也很“深”!甚至很多人认为这个行业“三年不开张,开…