在某条河流上有个地方发生了污染泄露,需要提供一个河流应急布点方案,让其能够及时保障污染情况的及时有效监测。具体方案是什么呢?问客户?不知道。如果他知道,就不用找你了。其实很多时候用户并不明白自己需要的东西具体是如何的,作为我们,更重要的是能够提供一个信息化的解决方案而不是根据用户的原始需求去编写代码。站在用户的角度进一步思考,才能提出能抓住用户痛处提供更有价值性的产品。
回到上述例子,假设出现了污染,考虑到河流沿岸的百姓,只给你10分钟的时间,你会怎么解决此布点问题?首先考虑此问题的特点,有几下三点:
第一个要求是实时预测性,能对污染现在的情况做一个实时预测,比如现在污染浓度最高的在什么地方,目前的污染范围在哪里? 根据此情况来进行实时监测,从而发布信息通知给群众。
第二个要求是保障河流沿岸的重要地点如居住点,入水口的情况的可监测性。能够及时了解这些地点在某个时刻的状况。
第三个要求是可操作性,比如能够告知监测点的经纬度,如何导航到那个地方。
此时基本上脑子里就会出一个初步的解决方案,如把河流抽象成一条有向线段,其正方向为河流流向,水源源头为原点。把河流重要的居住点入水口状况获知,并根据其重要程度(比如根据人口的多少)给予权重去衡量。根据水流流速等参数算出污染物现在到了什么地方,结合权重来给出布点。
但仅仅到此还不够,你毕竟不是用户。下面对相应的用户进行走访调查,看你的假设是否是成立的,比如这方面的第三方专家,真正的用户,国家法规等。
- 第三方专家给出了建议,比如说河流的实际情况比较复杂,某些河流上位置的地理情况,水文情况是不适宜布点的,如高山上布置监测点是不太适宜的。监测点的选择要结合实际的水文情况来设定,这些信息在用户那里本身是有记录的。河流上原本一般也会设置一些监测点。这就是对需求的补充。
- 用户说对于河流沿岸的重要的地点都会有登记,预先可以得到河流附近重要地点的信息,并需要提供监测。
- 国家法规规定了布置的点的约束,如污染源前必须布置一个对照断面,以作对比。
经过实地考察之后,我就将此模型修正,得到了这样一个精化的需求:
一条河流在事故点A发生污染泄露,进行应急方案启动:
要求如下:
- 污染源处要设置端点,其上游也要去设置监测点做对照断面。
- 对河流预先设置的重要点预警断面(本身也是在可布置区域)进行布点监测。
- 布置点要布置在结合河流地理情况,水文情况的可布置区域里。
- 可以预测污染范围,并根据预测结果对污染范围设置监测点来实时跟踪变化。
上述点要以直观的形式在地图上展现,并告知具体的经纬度,以便于实施。
基本上根据此需求已经可以进行设计。亨利.福特所说,“如果我最初问客户他们想要什么?他们应该是会告诉我,要一匹更快的马!”但是福特没有给他们更快的马,而是给了一辆汽车。只有根据用户需求不断的去思考并验证自己的假设,才能找到需要解决的用户问题的核心,才能做出有竞争力的产品。