本章示範如何透過 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——只要她同時移出等量的工作。