需求管理

敏捷需求分析

需求新定义

需求是“建立在商业、技术和人之间的一组动态的、待验证的假设”
挖掘和定义需求的过程,是一个不断验证假设、在试错中学习、逐步逼近直至找到与市场的“契合点”的过程。

需求工作的挑战

  • 挑战之一: 需求产生时的“不确定性”。
  • 挑战之二: 需求经过层层分解可能完全失去原有意图。
  • 挑战之三: 需求实现所必须的社会化协作导致的需求失真、或被“污染”。
  • 挑战之四:需求的时效性。在验证假设的过程中,外部市场时刻发生着变化。

敏捷需求分析

核心实践

MVP 思想

用户故事和 INVEST

用户故事

作为一个 [角色]
我想要 [功能]
以便于 [价值]

INVEST 原则

  • 独立的(Independent)
  • 可讨论的(Negotiable)
  • 有价值的(Valuable)
  • 可估算的(Estimable)
  • 小的(Small)
  • 可测试的(Testable)

需求拆分方法和原则

  • 拆分方法:
  1. 工作流系统:横切和纵切;
  2. 按功能模块:按业务规则拆分、1+N 模式;
  3. 复杂业务模型:按照实际需要提供的功能来拆分。
  • 拆分原则:
  1. 满足 Invest 原则;
  2. 80/20 原则:价值先行;
  3. 风险高的需要端到端切分;
  4. 纵向拆分需求促进持续交付;
  5. 其他:易懂、抽象、逻辑性、可验收、MECE 等。

实例化需求

需求工具集

需求交付

需求估算

优先级排序

风险管理

演示和反馈

需求示例

**Narrative**

作为 用户

我可以 查看分类消息列表

为了 方便查找各类消息记录

**Scope In**

1.查看分类消息列表入口
2.分类消息数量


**Scope Out**
1.智能客服问答
2.消息通知设置:关闭开启
3.系统设置
4.具体分类列表跳转详情
5.首页新增推送数量显示

**Acceptance Criteria**

**AC1:**未登录用户查看分类消息列表入口

Given:我是未登录用户,我收到APP消息

When:在“我的”页面进入消息中心

Then:
1. 我可以看到 “最新优惠”、“系统消息”分类
2. 不能看到需要用户身份才能查看的消息分类


**AC2:**已登录用户查看分类消息列表入口

Given:我已经登录,我收到APP消息

When:在“我的”页面进入消息中心

Then:

1. 我可以看到“优惠活动”、“系统消息”、“账户信息”分类


Note:

1. AC1、AC2中的系统分类排序:信息的分类按照包含的信息内容的发布时间从近到远,由上到下排序;包含同一时间发布的消息的分类按照默认顺序:优惠活动、系统通知、账户信息排序;
2. 显示最近的信息的概要;
3. 资讯类消息,前端页面不显示该分类




**AC3:**用户查看“我的”页面、分类消息列表未读消息数量提示

Given:我收到消息

And:没有打开消息分类列表下一级(如果是APP外推送信息,用户也没有打开链接)

When:我在“我的”页面

Or:在消息分类列表(refer to AC1、AC 2)

Then:我可以看到未读消息计数

Note:
1.后端记录用户设备ID和UserID,记录每种消息分类最近的查看时间,根据此时间后的消息数量计算未读消息数量;
2.超过99未读显示省略Icon;
3.分类中没有消息时,显示;暂无消息;
4.时间展示规则
1)一小时内,显示为xx分钟前
2)小于24小时,显示为xx小时前
3)间隔超过24小时且小于48小时,显示:昨天
4)间隔超过48小时,显示:MM-DD
5)间隔超过一年:YY-MM-DD ( eg: 2019-03-01)
5.消息已读不影响AC2的排序