> 软件 > 网络 > 如何给一个非程序员解释复杂、耗时和易出错的软件开发的过程?

如何给一个非程序员解释复杂、耗时和易出错的软件开发的过程?

来源:http://www.codepub.com 时间:2021-11-23 编辑:yyzn 手机版

我觉得给外行人解释一件专业的事情,是很困难的;比如给一个非程序员解释软件开发的过程,很多人认为一个软件外表能看到的样子,就是这个软件的全部;所以很多人认为开发一个淘宝是一件很容易的事情。

如果要解释清楚的话,最好能找到一个对方熟悉的事务流程做比较,这样便于对方的理解。下面我就举个例子,很多细节不一定很恰当:

软件公司开发软件=饭店做饭;

前者的产出物是软件,后者产出物是饭菜;

业务人员=食客,都是业务的提出方;

需求人员=点菜服务员,他们都是记录和分析客户的需求;

程序员=厨师;

看起来厨师炒菜只花了五分钟,但是饭店需要经历采购、清洗、切好备用等一系列的操作;软件开发也一样,不要只看到表面看到的东西,可能一个APP只开发了两周,但是后台的接口服务已经积累了好几几个月甚至几年;

食客有时候不知道要吃什么,说“你给我介绍介绍你们的招牌菜”;业务人员有时候也不知道自己的需求是什么;

食客说“不要放香菜”,但是服务员忘了记录;需求人员也有犯错的时候;

食客点完菜了,过了十分钟说“菜里别放辣椒”;开发人员做到一半的时候,需求变了;

厨师把盐放少了,酱油放多了;程序员有一个情况没有考虑到,有一个判断写错了;

厨师说:“来,我再给你炒一盘。”;程序员说:“来,我把Bug改了。”

厨师为了不失业,没事儿学学新菜;程序员为了不失业,没事儿学学新技术...

总之,如果想给别人解释清楚,那就得让对方感同身受;但是这个过程会很累,所以借用老罗的一句话:“我只对两种人解释,第一类是亲戚朋友,因为他们真的关心我,我给他们解释一下,避免他们担心我,第二类是警察。其他人,爱怎么想怎么想吧。”(大概的意思)

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

最近更新

网络排行榜精选