活动主题:用户故事地图实战工坊 时间:7月12日9:30-17:30 地点:软件园二期望海路39号楼524 主讲人:谷歌孵化器厦门地区负责人暨Scrum导师,王仲涛先生 报名方式:http://form.mikecrm.com/sXeRJy
内容:
本次实战工坊以用户故事地图为主题,以合作沟通的方式来全面理解用户需求。
实战工坊将邀请谷歌孵化器厦门地区负责人暨Scrum导师王仲涛先生,带领大家以工坊形式了解如何以故事地图的方式来讲用户需求,如何分解和优化需求,如果通过团队协同工作的方式来积极吸取经验教训,从中洞察用户的需求,开发真正有价值的、小而美的产品和服务。
背景知识:
什么是用户故事
用户故事(user story)是敏捷软件开发过程中管理需求的重要方法。
它从用户的角度描述了谁(who)要做什么(what),以及为什么要这样做(why)。
最初的想法来自Kent Beck。他发现,使用文档来精确描述我们的需求根本是不可能的,文档只告诉我们做什么,却没有告诉我们为什么要这样做;同样的文档,阅读的人不同,得到的信息也会不一样;如果大家能够坐在一切讨论软件要解决什么问题,哪些用户会用,为什么用,我们就可以得到解决方案,并在这一过程中达成共识。用户故事的要义便在于团队聚在一起对用户故事进行充分讨论。
2001年,Ron Jeffries提出了著名的3C原则,对用户故事进行了概要总结:
卡片(CARD):把用户想要的产品功能写在卡片上。
对话(CONVERSATION):干系人(用户、客户、产品、开发、测试等)聚在一起讨论用户故事,对要解决的问题达成一致理解,并努力找到最佳方案。
确认(CONFIRMATION):确定验收条件是什么。
什么是用户故事地图
2005年,Jeff Patton在他的一篇名为《How You Slice it》的文章中提出了一种协作式的、基于卡片的方法。这是用户故事地图(User Story Mapping)的雏形。
用户故事地图的理念很简单。它强调和他人一起协作来讲述产品的故事,看到故事的全景,然后进一步细分以制定良好的规划决策:
地图的顶部是大故事(big stories),或者叫用户活动(user activities),它通常需要一些小步骤来完成。活动所在的行是用户故事地图的主干,从左到右的活动构成了基本的叙事流。
例如对于一个机器人项目而言,机器人是个大故事,显然这个大故事可以拆解成许多小故事,以机器人运动为例,可以拆解成机器人头部,机器身体以及机器人四肢的动作。这些小故事可以称为用户任务(user tasks),它们是用户为达到一定目标需要完成的动作,也是开发人员可以实现的东西。
– 每个用户故事地图代表一个完整的用户故事
– 地图的核心是一条从左到右的时间线
– 时间线的上部放置最大粒度的内容(可以理解为Epic)
– 时间线的下部的第一行放置二级粒度内容(可以理解为backlog item),并在每个一级粒度下按照从左到右的优先级进行放置
– 每个二级粒度内容的下面,自上而下放置三级粒度内容(可以理解为task)
因为有时间线和卡片放置方式的约束,可以很容易的划分出每个Release所需要完成的需求,如下图:
自上而下,我们可以划分出不同的Release;同时因为每个Release都是和时间线平行的,确保了在放入Release的过程中必须考虑故事的完整性。