用户故事最重要的是要解决用户什么问题,这是用户故事最核心的部分,这部分必须要了解和吃透,只有这部分是用户故事的必填项,这里最好能贴用户的原话,要反映原汁原味的需求。
举个例子,有这样一个用户故事:
1. 要解决的问题:
一家物流公司抱怨:
尤有的司机提货也会比较多,七八票的小票直接点蒙了,尤其是泥城提货的,货的票数多,吨位很小,有时候一天二十几票去一个两个车,司机负担也很大。
有了问题,接下来就是解决方案了,我们怎么改动系统的哪些地方才能解决用户的问题?
2. 解决方案
在运单查询页面,允许用户选择多个运单进行合并安排车辆。多个运单必须满足下列的条件才能合并:
- 提货段条件
- 装货城市相同
- 装货日期相同
- 都没有提货段或者共享提货段
- 中转段条件
- 都没有中转段或者共享的中转段
- 送货段条件
- 送货城市相同
- 要求到货日期相同
- 都没有送货段或者共享的送货段
- 全程段条件
- 装货城市相同
- 装货日期相同
- 送货城市相同
- 要求到货日期相同
- 都没有全程段或者共享的全程段
光有解决方案还不够,如果再有几个例子就好了,所以最后一部分是实例化需求。
3. 实例化需求/验收测试
假设有Job1(上海地址1 —> 北京地址2)和Job2(上海地址3 —> 北京地址4),当我们为这两个Job派车时,
全程段
可以合并派车,并且司机收到的任务如下:
上海地址1(装) —> 上海地址2(装) —> 北京地址3(卸) —> 北京地址4(卸)提货段
可以合并派车,司机收到的任务如下:
上海地址1(装) —> 上海地址2(装) —> 上海中专仓(卸)中转段
可以合并派车,司机收到的任务如下:
上海中转仓(装)—>北京中转仓(卸)送货段
可以合并派车,司机收到的任务如下:
北京中转仓(装)—>北京地址3(卸)—> 北京地址4(卸)
以上的例子都是可以成功拼车的,可以再举一些不能成功拼车的例子,例子要尽量覆盖典型的场景。
如果一个用户故事的影响面较大,最好能分析一下影响点,即会影响到其它哪些模块或功能,还是以这个用户故事为例,影响点如下
4. 影响点
- 车辆预约模块
- 运输地图的展示
这个用户故事模板并不是我们拍脑袋想出来的,每一个部分都是因为之前踩过坑或者碰到过问题才加入进来的,比如我们碰到过BA上来直接写解决方案了,最后我们问了她这个到底要解决什么问题之后,团队觉得有更好的解决方案,一行代码也不用改。