示例业务项目

我们将通过一个简单的例子--汽车博物馆--来帮助我们确定目标和问题,并将其组织成可行的单元。

业务场景

几个月前,我和朋友们在一起聊天喝酒,他们告诉我,他们利用周末的时间义务帮助一家汽车博物馆整理博物馆收到的玩具汽车模型捐赠清单。博物馆收到了大箱大箱的玩具车捐赠。

我们边喝边聊,他们告诉我,这项工作既有趣,有时也很有挑战性,因为没有特定的工具或流程来逐项整理博物馆收到的玩具车。有时,他们会打开一整箱玩具车,却没有任何关于玩具的信息;有时,他们会打开一整箱包装完好的玩具车,并在每辆玩具车的包装盒上标明所有信息,如生产年份、驾驶过的赛车手、颜色等等。他们必须将这些玩具逐项记录下来,并放入电子表格中,这就是事情变得有趣的地方。

他们说,他们使用的是电子表格文件,他们会在周围分享,然后交给下一位志愿者。记录玩具车的信息是一项艰巨的任务—​例如,有人记录玩具车的颜色是蓝色,但其他人可能只写下 "火焰",这显然不是一种颜色。有时颜色也会拼错。因此,现在如果他们想搜索所有蓝色的汽车,就会变得很复杂,因为有时人们在保存信息时可能会拼错蓝色。他们还希望能搜索到某个赛车手驾驶过的汽车模型,并想知道在博物馆的哪个区域能找到这个玩具汽车模型。

在聊天过程中,我不禁开始想象数据的输入、提交、验证、处理和持久化过程。我一时间忘了喝酒,思绪开始飘远,开始想象代码。如果你是软件开发人员,你可能明白我的意思!

我想:我可以利用这个现实生活中的挑战,把它作为一个商业项目的范例。这很简单,听起来也很有趣,而且还可以作为一个很好的例子来演示如何实施 TDDBDD

我询问了我的朋友们是否同意我在这个项目中使用他们的示例,他们对此表示满意。因此,从现在起,我们将把他们称为我们的客户或企业。

理解场景和问题

通过与企业或客户交谈,我们可以获得有关他们所面临问题的一些非常重要的信息。我们可以尝试列出一份非常粗略和简单的清单,列出问题限制因素可能的解决方案

企业的目标
  • 库存管理员或志愿者能够逐项记录玩具车模型信息

  • 用户能够搜索记录并找到该车模型可在博物馆的哪个区域查看

问题/挑战
  • 没有系统允许不同的用户同时记录汽车模型数据

  • 没有系统验证所存储的数据,例如颜色拼写

  • 游客没有简单的方法来查找或搜索特定汽车模型在博物馆中的展示位置

限制因素
  • 该项目仅关注玩具车模型库存

  • 只有注册的博物馆工作人员才能将数据输入库存

解决
  • 为玩具车模型建立一个简单的库存系统

  • 构建一个带有表格的简单页面,供访问者查看库存

我们能够就业务场景列出一系列非常重要的要点。归根结底,我们列出的所有项目最终都会满足一件事,那就是解决企业想要实现的目标。这是最重要的一点。我们在制定解决方案时,首先要正确理解问题所在。而在解决问题之后,我们必须确保我们已经解决了企业想要实现的目标。

image 2023 10 23 09 13 38 019
Figure 1. Figure 2.3 – The solution

我曾有过这样的经历:我看到开发人员花费大量时间构建软件,而当项目移交给我时,我才意识到他们的开发方向是完全错误的。因此,软件有多好并不重要—​如果它不能解决真正的问题,如果它不能帮助实现业务目标,那么它就没有任何价值。

既然我们已经明确了企业想要实现的目标,并确定了企业面临的问题和挑战,那么现在就可以开始整理一份清单,列出解决问题需要做的事情。