自娱自乐地使用 User Story

本来打算上周写的,结果还是拖到了现在。一周一写的计划目前是达不成了。这篇主要记录使用 User Story 快速地熟悉新项目的一次经过,其中对 User Story 的思考可以参见上一篇

项目背景

背景是两周前,临时被要求帮忙共同完成一个新项目的交互稿。因为主要是面向 B 端的项目,在对整个框架有了大致的了解后,觉得并不困难,只是对列表、字段的组织和结构划分,工作量大而已。此前已经接触过类似的 B 端 Web 后台,加之是临时进行帮忙的,很多需求点无暇深入挖掘,时间又紧,埋头苦干便是。

后来因为协作的同事安排不过来项目中移动端的设计,就分配给我做。也有了写这篇文章的契机。

在做这个部分时,恰好给了一天的时间用于产出大致流程。上午先熟悉了需求文档,下午在与产品经理沟通后,明白了大致流程,不过此时我脑中仍然无法将并不完善的文档转换成流程,再用交互稿进行表达。是因为这对我而言仍是一个陌生的领域。因为是进行中的项目,在这里我就用外卖服务来类比。

我们都知道外卖服务面向 C 端用户是如何运作的:选择外卖 -> 下单 -> 等待外送人员上门。在打开 App 到吃到热乎乎的饭菜之间,作为用户的我们并不关心外卖平台是如何培训、分配外送人员的,也不关心餐馆与外送人员之间是如何联系的。如果要让一个普通用户了解外卖平台背后的逻辑,势必要花上一段时间才能了解清楚,更不用说梳理出流程了。而这就是我面临的问题。

将这个项目的需求进行类比,我们可以想象,外送人员在送外卖的时候需要装备一套公司专有的设备,需要公司员工在发放、收回设备的时候进行对应记录与计算。文档中只粗略列出了系统功能与字段,在产品经理的交代中,这个需求的解决方式是设计一个给员工使用的移动端,结合后台员工的操作对设备和外送人员进行管理。因产品经理有事在外,无法时刻回复我的问题,首次沟通后,才算是明白了项目需求。但细节、流程还是像被打乱的拼图,无法整合,无从下手。

尝试用户故事

就像故事版中常常出现在火柴人头顶的灵感灯泡,我的灵感灯泡也一闪,为什么不试试描述用户故事?虽然明知没有收集到一手用户的资料,只有产品经理的需求描述,但因为最近都在看用户故事的相关资料,实在想尝试编一编故事,也算是一种锻炼。

于是我根据产品经理的描述确定了两个主要角色,分别是公司管理人员和外送人员,并根据桌面上有的东西给他俩起好了名字。故事从管理人员小唐收到后台通知写起,到外送员小何结束工作归还设备为止。在写故事的时候,我发现了几个好处。

用户故事的好处

找准入口

我该如何切入这个项目?在开始前我不安地想着,要考虑的似乎很多,与后台的交接、系统本身在时间上的跨度,等等,让我思维活跃又混乱。随手画了几个草稿、梳理了几个状态,似乎又不对。

在决定要写用户故事后,我按照时间的顺序将发生在两人之间的故事描述出来,专注于他们会遇到的事情,专注于故事本身。在故事接近尾声的时候,我不仅理清了思路,也发现了之前对状态的一些误解。

挑出重点功能

文档中列出的功能并没有标示优先级,我想要知道用户最关心哪些功能,系统出于商业需求最看重哪些功能。

同样的,通过用户故事,小唐作为管理设备的员工、小何作为借用设备的员工,他们对接触到的设备情况都需要特别注意,而公司本身也不希望在设备的损坏与归责上出现意外的麻烦,所以在他们在取、还设备的时候各自都会做什么,由谁仔细检查?这些“重要的故事元素”促使我思考检查设备的功能顺序与操作问题。

探究人与系统是如何交互的

最初一头雾水的时候,依据需求粗略地画出线框图,我并不知道这样的流程与设计是否能解决问题,而问题又在哪里?我只是将功能放在了界面上而已。在开始写故事后,我按照时间顺序进行描述,我发现小唐不止要在系统上操作,他还要找到对应的设备,并把设备交给前来领取的小何。那么,他是如何找到设备的?又是如何认出小何是哪位?

通过写故事,我发现看起来很简洁的功能并没有包括这些“人的问题”,而这些“人的问题”恰恰是在故事中无法忽略的。当想要写出一个好故事的时候,起承转合,缺一不可,迫使着故事编写者去关注角色与系统之间的交互、变化。

问题收集器

这恰好是因为产品经理不在身边,无法及时回应我,所以我需要把问题列出来,以最小的时间消耗一次性问清楚。在写故事前,我对不完整的文档存有很多疑问,又不知道从何问起。

在写故事时,一个个问题随着故事的展开呈现在我眼前,我将这些不清楚或者有疑问的地方用别的颜色标记出来,在故事结束后以问题的形式再次记录。这样做能避免问题的遗漏,在询问对方的时候也能保证是按照一定的逻辑顺序,一次问清相关问题,让回答者也能有一个逻辑线。


在写完故事,并询问产品经理后,我发现我对故事中角色之间关系的理解有些许偏差,但在产品经理的反馈下,很快就明白了该如何修正。然后简略地沟通交互的构思,产出交互稿,就是后话啦。

怎么说,这对我而言算是一个有趣的体验,未必准确,但确实解决了一些问题,一种小的自我迭代。希望在这种探索下我能一边练习快速构建用户故事,一边尝试讲述故事。:)