本章示範如何透過 Story 撰寫工作坊,為 South Coast Nautical Supplies 的線上書店專案產出初始的 User Story 清單。
工作坊的進行方式#
團隊決定依照角色和人物誌逐一思考 Story。從人物誌 Teresa(Experienced Sailor)開始,再切換到 Captain Ron(Instructor),最後考慮其他角色。
Teresa 的 Story#
Teresa 追求速度和便利,團隊為她寫出以下 Story:
- 使用者可以依作者、書名或 ISBN 搜尋書籍
- 使用者可以查看書籍的詳細資訊(頁數、出版日期、簡介等)
- 使用者可以將書加入購物車,完成購買
- 使用者可以從購物車中移除書籍
- 購買時輸入帳單地址、寄送地址和信用卡資訊
- 使用者可以評分和評論書籍
- 使用者可以建立帳戶,記住寄送和帳單資訊
- 使用者可以編輯帳戶資訊
- 使用者可以建立 Wish List,對其他訪客可見
- 使用者可以從 Wish List(包括他人的)將書加入購物車
注意 Story 的寫法都是以使用者為主語,描述使用者能做的事,而非系統的技術規格。
約束條件#
因為 Teresa 重視速度,Lori 特別加入一條約束條件:
回頭客必須能在 90 秒內找到一本書並完成訂購。
Captain Ron 的 Story#
Captain Ron 確切知道他要什麼,因此團隊聚焦於重複購買的便利性:
- 使用者可以查看所有歷史訂單
- 使用者可以在查看歷史訂單時輕鬆重新購買
- 網站總是顯示使用者最近瀏覽的 3 個品項,並提供返回連結
Novice Sailor 的 Story#
對於新手水手,Lori 認為能看到推薦書單很重要:
- 使用者可以查看各種主題的推薦書籍
Non-Sailing Gift Buyer 的 Story#
為送禮者設計的功能:
- 使用者(特別是非航海送禮者)可以輕鬆找到他人的 Wish List
- 使用者可以選擇禮物包裝
- 使用者可以附上賀卡並寫自己的祝福語
Report Viewer 的 Story#
Lori 知道需要報表但還沒想好細節,先寫一個佔位 Story:
- Report Viewer 可以查看依書籍類別、流量、暢銷/滯銷書籍等維度的每日報表
- 使用者必須經過認證才能查看報表
Administration Story#
- 管理員可以新增書籍到網站
- 管理員需要審核通過後才能讓評論上線
- 管理員可以刪除書籍
- 管理員可以編輯既有書籍的資訊
約束條件#
- 網站訂單必須與電話訂單存入同一個資料庫
- 系統必須支援最高 50 位同時使用者
最終清單#
工作坊共產出 27 個 Story(包含約束條件),這些 Story 足以讓團隊開始估算和規劃發布。
不需要在初次工作坊就想到所有 Story。因為採用迭代式開發,Lori 隨時可以在後續迭代中加入新的 Story——只要她同時移出等量的工作。