首页 > 代码库 > 如何给一个完全不懂的非程序员解释复杂的、耗时的、易出错的软件开发的过程?

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

技术分享

简评:相当有趣的一篇文章,教导你如何给非程序员讲清楚最难、最复杂的那些开发问题。

回答这个问题首先你应该解释一下如何泡一壶茶:

  1. 烧水
  2. 把茶叶放在锅里
  3. 当水烧开后,把它倒入锅里
  4. 等待 5 分钟
  5. 把茶倒进杯子里

现在开始变得有趣了。你需要开始问他们这些问题:

烧水?

  1. 水来自哪里?
  2. 水壶在哪里呢?
  3. 你怎么把水弄到水壶里去呢
  4. 你怎么知道放了多少水
  5. 如果没有水 / 水壶 / 电怎么办?
  6. 如果你的填充传感器失败了怎么办?
  7. 如果你的沸腾传感器失败了?

把茶叶放在锅里?

  1. 锅在哪里,如果没有一个呢?我们应该在水烧开之前想这个问题么?
  2. 茶在哪里,哪种茶?我们是否应该先考虑这个问题,如果没有考虑清楚前不做行动。
  3. 关于填充和传感器的类似问题。

水烧开后倒入锅内

  1. 怎么确定水烧开了?
  2. 锅内的感应机制是怎么样的?
  3. 在水进入锅内有什么提示?
  4. 等等类似的问题

。。。

你能问类似的问题问一个小时,然后对方有点烦了,反问你:是的你说的都对,但是问这些细节都是相当的弱智了,我只是想喝茶而已。这时候你微笑着回答:你说的相当对。

P.s. 结论是很多时候你的客户仅仅想喝一杯茶来解渴,你却教了他茶道。那些细枝末节说了他能懂么?

那么

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

我的建议是: 别浪费时间了。

 

原文:http://www.jianshu.com/p/c7cbf8ec6c00

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