7.3. 编写封闭的故事

Soren Laueson(2002)在他的《Software Requirements》一书中引入了任务闭包性的想法。这个想法统一适用于用户故事。

一个封闭的故事是指随着一个有意义的目标的实现而结束的故事,能让用户使用后觉得他完成了某个任务

例如,假设招聘网站项目包含故事“招聘者可以管理他发的招聘广告”,这不是一个闭合的故事。管理他发布的招聘广告是没有办法彻底完成的事情。相反,它是一个持续进行的活动。

这个故事可以更好的创建成一个闭合故事的集合。

  • 招聘者可以审核针对他发布的招聘广告发的简历
  • 招聘者可以更改招聘广告的过期日期
  • 招聘者可以删除不适合的申请
  • ……

这种封闭的每个故事都是原来那个非封闭故事的一部分。使用完这些封闭故事之后,用户可能会有一种成就感

编写封闭故事其实是在互相冲突的各种需求之间权衡的结果。因为,故事也要小到能做评估,小到可以方便的安排一轮迭代中。

但故事也要足够大(粗颗粒的、高层次的、抽象的),从而避免过早捕获当下还不需要的细节。

扩展阅读