專案開發: User Story

專案開發: User Story

更新於 發佈於 閱讀時間約 5 分鐘

撰寫 User Story 的關鍵在於明確需求並將其轉化為可商業化的具體功能,但真正能驅動專案成功的關鍵是將 User Story 進一步延伸,拆解成更具體的小故事、驗收標準以及後續任務。

以下,我將示範如何從一則簡單的 User Story 延伸至完整的功能規劃。


基本 User Story 範例

以Poyapay為例,作為一位寶雅的顧客,我想要查看APP個人購物車的商品,以便確認商品和數量是否正確。


延伸撰寫的步驟

1. 拆解需求:將大故事拆成小故事

一個 User Story 可以細分成幾個更小、更容易執行的故事,這樣開發團隊可以分階段進行開發,並逐步交付價值。

User Story:我想要做的事情,轉化成實際在APP中完成的流程
例如:我想知道我買了那些東西:這個行為包含三件事情,數量名稱價格

  • 我希望可以增加或減少商品數量。-->提供修改功能,提升購物彈性。
  • 我希望可以刪除購物車中的商品。-->提供移除功能,避免誤選或不需要的商品。
  • 我希望畫面可以即時顯示總金額。-->增強用戶體驗,方便即時核對金額。

2. 定義驗收標準(Acceptance Criteria)

每個 User Story 都需要有明確的驗收標準,讓開發團隊和測試人員知道功能是否完成,並具備可測試性。

User Story:我想要看到商品的名稱、價格與數量

驗收標準:

  1. 購物車畫面顯示商品名稱、單價與選購數量。
  2. 商品資訊顯示正確,與資料庫內容同步。
  3. 畫面清晰易讀,資訊排列整齊,符合設計稿標準。


User Story:我希望可以刪除購物車中的商品

驗收標準:

  1. 點擊「+」按鈕時,商品數量增加 1。
  2. 點擊「-」按鈕時,商品數量減少 1,但最低數量為 1,如果小於1,則詢問是否刪除此商品。
  3. 數量更改後,總金額自動更新。

3. 加入技術需求與細節

在延伸 User Story 時,可以加入技術層面的需求與設計細節,讓開發團隊有明確的方向。

技術細節:

  • 前端: 使用 React/Angular 技術實現購物車畫面,提供數量加減按鈕與刪除功能。
  • 後端: 提供 API 端點:
    • GET /cart:取得購物車商品資訊。
    • PUT /cart/{id}:更新商品數量。
    • DELETE /cart/{id}:刪除商品。
  • 資料庫: 設計購物車表格,包含商品 ID、名稱、價格、數量等欄位。
  • 即時更新: 使用 WebSocket 或 AJAX 技術,讓總金額即時更新。

4. 製作子任務清單

為了確保團隊可以有條理地完成 User Story,可以將每個故事拆分成更小的子任務。

User Story:作為一位顧客,我希望畫面可以即時顯示總金額。

子任務:

  1. 設計總金額的 UI 元件。
  2. 實作商品數量變動時觸發金額重新計算的邏輯。
  3. 測試後端 API 資料同步,確保金額計算正確。
  4. 撰寫單元測試與整合測試,確認總金額顯示功能。

5. 進一步延伸至整體使用者流程

透過將多個 User Story 串接起來,我們可以描繪出完整的使用者流程,這樣能夠讓開發團隊更清楚使用者的體驗路徑。

完整流程示意圖:

  1. 用戶登入 →
  2. 瀏覽商品 →
  3. 加入購物車 →
  4. 查看購物車 → 修改數量或刪除商品 → 查看總金額 →
  5. 進行結帳流程

總結

撰寫 User Story 是一個反覆拆解與優化的過程。
從單一需求,例如我想買東西這個簡單的概念開始,透過以下步驟延伸:

  1. 拆解大故事為小故事。
  2. 定義明確的驗收標準。
  3. 加入技術需求與設計細節。
  4. 製作子任務清單,確保團隊成員可以執行落地。
  5. 串接故事,描繪完整使用者流程。

延伸撰寫 User Story 不僅能提高團隊執行效率,更能確保開發的功能真正解決使用者需求,轉化成清晰且可拆解執行的 User Story,畢竟,不能實踐為商業計畫的項目都是空談。

avatar-img
patrick chang的沙龍
1會員
12內容數
留言
avatar-img
留言分享你的想法!
patrick chang的沙龍 的其他內容
記錄自己經手的大型專案 2019 年 7 月 內部需求訪談 - 與內部利益相關者(如行銷、產品PM、客服、IT、財務部門)進行需求訪談,收集功能需求及痛點。 撰寫User Story 確認目標使用者與業務需求範圍,進行初步文件紀錄。 2019 年 8 月 需求分析階段 整理
因為我很懶,花了半年才把孫子兵法13章看完 為便利後人不要像我一樣看到脫窗,決定採用架構方式整理整篇內容 恰巧搜尋到高人程國政老師的作品,整理的非常精美 內容如下,共上中下三篇 以下是我二次整理的內容 知識架構 篇章分類 層次分類
我的第一間工作,是在台北車站開封街的補習班總公司做行銷 每天下班都要經過熱鬧的重慶南路書店街,到武昌街等公車 那時候的書店,最顯眼位置的書籍,都有著相同的特色 就是那種封面是一匹白狼,配上楷書的霸氣文字 "狼性,成功的唯一途徑" "拒絕示弱,做一個強者" "掠奪資源,是你成功的不二法
5/5厚黑學
窮習慣了,身上真的會有味道嗎? 不知道你們有沒有看過《寄生上流》這部電影,裡面的男主人誇讚司機什麼都好,有分寸不越界, 就是身上有股味道越界了,有點像抹布的味道? 在螢幕前的你我很清楚,說的就是貧窮的味道 我想探討的不光是貧窮的味道,貧窮是一種結果,或是一種結界? 也許你會說了
這份文章介紹了《孫子兵法》每一章節的重點,包括開始計算、作戰、謀攻、軍形、兵勢、虛實、軍爭、九變、行軍、地形、九地、火攻和用間等內容。
記錄自己經手的大型專案 2019 年 7 月 內部需求訪談 - 與內部利益相關者(如行銷、產品PM、客服、IT、財務部門)進行需求訪談,收集功能需求及痛點。 撰寫User Story 確認目標使用者與業務需求範圍,進行初步文件紀錄。 2019 年 8 月 需求分析階段 整理
因為我很懶,花了半年才把孫子兵法13章看完 為便利後人不要像我一樣看到脫窗,決定採用架構方式整理整篇內容 恰巧搜尋到高人程國政老師的作品,整理的非常精美 內容如下,共上中下三篇 以下是我二次整理的內容 知識架構 篇章分類 層次分類
我的第一間工作,是在台北車站開封街的補習班總公司做行銷 每天下班都要經過熱鬧的重慶南路書店街,到武昌街等公車 那時候的書店,最顯眼位置的書籍,都有著相同的特色 就是那種封面是一匹白狼,配上楷書的霸氣文字 "狼性,成功的唯一途徑" "拒絕示弱,做一個強者" "掠奪資源,是你成功的不二法
5/5厚黑學
窮習慣了,身上真的會有味道嗎? 不知道你們有沒有看過《寄生上流》這部電影,裡面的男主人誇讚司機什麼都好,有分寸不越界, 就是身上有股味道越界了,有點像抹布的味道? 在螢幕前的你我很清楚,說的就是貧窮的味道 我想探討的不光是貧窮的味道,貧窮是一種結果,或是一種結界? 也許你會說了
這份文章介紹了《孫子兵法》每一章節的重點,包括開始計算、作戰、謀攻、軍形、兵勢、虛實、軍爭、九變、行軍、地形、九地、火攻和用間等內容。
本篇參與的主題活動
在商場江湖上,會計這門內功常被誤認為只有財務長、會計師那種老骨頭才需要修煉。但真相是不懂會計,就像拿著破銅爛鐵去闖天下,怎麼跟別人比劍?
在2022年的某個夜晚,我送走了陪伴我18年的貓咪 那一夜,他靜靜地離開了人世,當時我潰堤落淚,哭到無法站立 這份情感至今仍深藏心底,時而浮現 愛與陪伴的重量,讓人懂得珍惜當下,也讓人學會,帶著思念繼續前行
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
在商場江湖上,會計這門內功常被誤認為只有財務長、會計師那種老骨頭才需要修煉。但真相是不懂會計,就像拿著破銅爛鐵去闖天下,怎麼跟別人比劍?
在2022年的某個夜晚,我送走了陪伴我18年的貓咪 那一夜,他靜靜地離開了人世,當時我潰堤落淚,哭到無法站立 這份情感至今仍深藏心底,時而浮現 愛與陪伴的重量,讓人懂得珍惜當下,也讓人學會,帶著思念繼續前行
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。