项目管理

收藏文章 点赞鼓励

为什么要使用user story?

我们在需求梳理阶段容易遇到以下问题

  • 不知道如何整理项目需求
  • 不知道如何拆分需求成实际的任务
  • 大概知道要去拆分,但是不知道要描述到多详细
  • 如何才能让大家能很快读懂、参与协作

什么是user story?

  • (以用户视角)简单明了的功能叙述
  • 普通人(开发、非开发)都可以很快上手学会撰写、拆分任务和排序
  • 让团队成员能参与一起协作
  • 避免见树不见林,让大家都能有大局观,了解项目方向和目标

范例:

  • 管理员可以新增职缺需求,字段包括标题、内容、薪资范围、联系方式
  • 管理者可以编辑和删除职缺
  • 用户可以申请职缺

撰写user story的秘诀?

  1. 粒度的大小很重要。根据不同的对象划分不同的粒度。
  • 对投资人、金主颗粒度要很大,
  • 对用户颗粒度中等、
  • 对开发人员粒度小;
  1. 如何切分蛋糕很重要。
  • 直着切,不是横着切
  • 拆分故事也是一样,不是用技术来切分
  • 而是具体而微,对用户仍有价值的功能

3.那要切多小

  • CRUD*5个栏位,不需要写20条user story
  • 一个story不是描述中间一个步骤,而是完成一件事情
  • 一个user story大约是半天~数天的实做长度 *用迭代方式而不是组装方式:如 从滑板->滑板车->自行车->摩托车->汽车;而不是做汽车4个轮子+做汽车底盘+做汽车车身+汽车方向盘

4.是要克彻底完成的小故事

  • user story是要完成某个小目标,让用户可以彻底的完成一个任务,而不是发散、模糊、持续进行的故事。
  • 例如:管理员可以管理产品
  • 管理员可以上架商品,字段包括标题、价格、说明
  • 管理员可以编辑上架时间,时间过了会自动下架
  • 管理员可以上传多张图片

5.描述功能需求,不是解决方案。

  • 不会强调技术选型、UI风格
  • 反例:这个项目由ruby撰写或这个程序将透过ActiveRecord与资料库链接
  • 重新思考:这些技术规格带来的商业价值是什么,然后重新用user story不带技术词汇表达出来

6.辨识出用户角色

  • user story要包括用户角色,并只讲清楚他可以办到的事情
  • 作为一个(某个角色)使用者,我可以做(某个功能)事情,如此可以有的好处(某个商业价值)
  • 撰写user story用主动语态
  • 用户角色越多,项目整体复杂度会快速上升
  • MVP阶段请控制在两种:一般用户和超级管理员

练习:什么是好的user story

  1. 用户可以浏览商品的详细资料
  2. 用户可以买到东西
  3. 用户可以添加不同的商品到购物车
  4. 用户可以找到想买的东西
  5. 这个软件是由ruby on rails撰写的
  6. 用户可以在购物进行结账和生成订单
  7. 程序的例外错误信息必须记录起来
  8. 用户可以点选右上角红色醒目的按钮进行结账
  9. 这个网站必须操作流畅
  10. 用户可以输入关键字搜索商品

答案:2不好(模糊),4不好(模糊),5不好(非普通人观点),7不好(非普通人观点),8不好(牵扯UI细节),9不好(非功能性叙述)

如何收集和排序user story?

  • x轴;按时间顺序,按角色顺序
  • y轴:按优先级顺序

排序方式

  • top-down 方式:有明确的目标导向,先分类如:寻找商品,加入购物车,结账,出货
  • botton-up 方式:创意导向,适合brainstorming

评论区

1@1
做的不错,继续努力~