7.3. 编写封闭的故事
Soren Laueson(2002)
在他的《Software Requirements》一书中引入了任务闭包性的想法。这个想法统一适用于用户故事。
一个封闭的故事是指随着一个有意义的目标的实现而结束的故事,能让用户使用后觉得他完成了某个任务。
例如,假设招聘网站项目包含故事“招聘者可以管理他发的招聘广告”,这不是一个闭合的故事。管理他发布的招聘广告是没有办法彻底完成的事情。相反,它是一个持续进行的活动。
这个故事可以更好的创建成一个闭合故事的集合。
- 招聘者可以审核针对他发布的招聘广告发的简历
- 招聘者可以更改招聘广告的过期日期
- 招聘者可以删除不适合的申请
- ……
这种封闭的每个故事都是原来那个非封闭故事的一部分。使用完这些封闭故事之后,用户可能会有一种成就感。
编写封闭故事其实是在互相冲突的各种需求之间权衡的结果。因为,故事也要小到能做评估,小到可以方便的安排一轮迭代中。
但故事也要足够大(粗颗粒的、高层次的、抽象的),从而避免过早捕获当下还不需要的细节。