第三步:编写用户故事
用户故事把范围转化为可测试的行为。格式很简单:
作为一名 [用户],我想要 [执行某动作],以便 [获得某好处]。
对图书追踪器来说:
- 作为一名读者,我想要按书名和作者添加一本书,以便我能开始追踪它。
- 作为一名读者,我想要把一本书标记为已读完,以便我能看到我的进度。
- 作为一名读者,我想要给读完的书打 1–5 星,以便我记得自己喜欢什么。
每个故事都是一个可独立开发并验证的单元。如果你想象不出怎样靠在应用里点点点来测试一个故事,那它就太含糊了——拆开它,或者重写它。
so that(以便)从句是人们最常丢掉的部分,而它恰恰是最重要的。"作为一名读者,我想要一个搜索框"告诉了 AI 要做什么,却没说为什么,于是它没法做出好的取舍。"作为一名读者,我想要通过输入书名的一部分在我的列表里找到一本书,以便我不必滚动翻过几十条记录"告诉了它真正要干的活——这下,一个简单的即输即筛或许就胜过一个重量级的搜索引擎。好处就是这份规格的规格:它把功能解释得足够清楚,让 AI(以及未来的你)能分辨出好的实现和错的实现。