《实例化需求》读书笔记

英文书名:Specification by Example: How Successful Teams Deliver the Right Software

中文书名:实例化需求:团队如何交付正确的软件

获奖情况:2012 Jolt 震撼奖

实例化需求说明的主要过程模式

主要过程

  • 从目标中获取范围
  • 协作制定需求说明
  • 举例说明
  • 提炼需求说明
  • 自动化验证时不修改需求说明
  • 频繁验证
  • 演化出一个文档系统

中间或最终产物

  • 业务目标
  • 范围(用户故事、用例) 
  • 关键实例
  • 实例化需求说明
  • 可执行的需求
  • 活文档

案例

商业目标

12个月内对现有客户提高50%的重复销售

范围

会员忠诚度管理系统基本功能的用户故事:

  • 为了能对现有客户做产品直销,作为营销经理,我想让客户通过加入VIP计划注册个人信息。
  • 为了吸引现有客户注册VIP计划,作为营销经理,我要系统为VIP客户提供特定物品的免费送货。
  • 为了节省开支,作为现有客户,我希望能收到特价优惠的信息。

关键实例

以用户故事”免费送货“为例:

  • VIP客户购物车中有5本书籍可以获得免费送货
  • VIP客户购物车中有4本书籍就不提供免费送货
  • 普通客户购物车中有5本书籍没有免费送货
  • VIP客户购物车中有5台洗衣机时不提供免费送货
  • VIP客户购物车中有5本书籍和1台洗衣机时不提供免费送货

带实例的需求说明

以用户故事”免费送货“为例:

  • 当VIP客户购买一定数量的书籍时,提供免费送货。免费送货不提供给普通客户或购买非书籍的VIP客户
  • 假定至少买5本书才能获得免费送货服务,那么我们会得到以下预期:
客户类型 购物车中的物品 送货
VIP 5本书 免费,标准
VIP 4本书 标准
普通 10本书 标准
VIP 5台洗衣机 标准
VIP 5本书,1台洗衣机 标准

可执行的需求说明

上图中的代码使用了SpecFlow工具,可实现为自动化测试,运行情况可参考下图。

活文档

这里是个人的理解,正确与否有待检验。

铭记

  • 对于实例化需求说明而言,功能需求、需求说明和验收测试都是一回事;
  • 其结果是一个活文档系统,它解释系统可以做什么,并且与编程语言代码一样确切和可靠,但更容易理解。
posted @ 2016-06-02 17:43  屠一刀  阅读(616)  评论(0编辑  收藏  举报