2020/03/15
2020/03/16 (新增trello投影片)
2021/03/17 (更新內容)
2024/02/14 (補充內容)
2024/02/28 (微調內容)
2024/03/16 (Details for English references added)
有時候的需求內容是相對的較大的,有些人(如: Mike Cohn)會把較大的故事稱為史詩(Epic),通常這些Epic很大沒辦法排進一個Sprint,所以,這樣的需求被排進Sprint時,就必須被拆解為更小的故事(Story)。
列出需求
有些需求比較大,沒辦法一次完成,列為Epic,再分解為User Story
有些需求比較小,可以將幾個User Story統整為一個Epic
Epic說明Story之間的關係
例如:
訂貨 (epic)
依類別尋找產品 (user story)
依關鍵字尋找產品 (user story)
推薦商品 (user story)
看產品詳細資訊 (user story)
比較產品 (user story)
加入購物車 (user story)
下訂單 (user story)
帶入使用者資料並下訂單 (user story)
後來Jeff Patton更進一步提出User Story Mapping的概念(詳參: User Story Mapping),把不同程度的User Story做一個對應關係 (詳參: 使用者故事對照),在User Story Mapping中,Jeff Patton把較大的故事稱為User Activity (其實就是Epic只是Jeff不喜歡Epic),相對較小的稱為User Task,最小的就稱為User Story。有些人將User Activity稱為Epic,有些人(如:EpicCards的開發團隊)則將User Task稱為Epic。有些人則將三種命名為Theme、Epic、User Story (如: Overview of Agile Product Backlog Hierarchy)。
有些人(如: Mike Cohn)只分兩種大小: Epic及User Story。也有些人認為不需要Epic,認為應該採用Minimum Marketable Feature (MMF),他們認為使用theme或epic會誤導我們去將功能歸類,然後去根據這些功能上的邏輯單元去開發,而忘了應該專注在最重要的功能。所以,他們認為應該專注在MMF (MMFs: What they are and why they matter),定義MMF後,再將拆分成user story(The Humanizing Work Guide to Splitting User Stories) 。其實,這個概念跟一般常提的Minimum Viable Product (MVP)是很類似的。
Jeff Patton認為User Activity是適合商業考量的規模,User Task是適合使用者或客戶考量的規模,而User Story則是適合開發考量的規模,舉個例子,訂貨是個典型的User Activity,為了消費者要能訂貨,使用者必須能註冊、登入、尋找產品、看產品資訊、加入購物車並且下訂單,而登入就是個User Task,就開發的角度,又將User Task分為三個User Story,分三個階段完成。
Patton(2014)的User Story Mapping包括
User Story Map
User Activity
User Task
User Story
應用User Story Map在敏捷的流程 (Mapping)
構思問題
從機會開始 (Patton, 2014)
從了解使用者開始 (Design Thinking)
整理為User Story
整理User Story
將相關的user story放在一起
將這些user story依順序排列
準備user story map
利用Trello
List可以放很多Card
Card (User Story)
Power-ups (強化功能)
可以利用Epic Card的功能,串聯User Task及User Story
可以利用Kanban的概念,將所有的User Story放在To do,進行中就拉到進行中的list (如:撰寫驗收條件、設計畫面、開發),並安排負責的同學,完成就拉到Done
User Task可以自動彙整有哪些user story已完成
探索可能性
切割功能 (切割為多個開發階段/sprint)
進入開發階段(sprint)
利用對話討論驗收條件確認細節
利用對話討論驗收條件確認是否有遺漏
驗收條件 (情境取向的寫法)
情境
前提
When (使用者採取哪些行動)
Then (使用者得到的回饋)
User Story Map
應用User Story Map在敏捷的流程 (Mapping)
構思問題
整理為User Story
整理User Story
探索可能性
切割功能 (切割為多個開發階段/sprint)
進入開發階段(sprint)
User story mapping
切割User Story
How to Write High-Quality User Story
基本概念介紹
Overview of Agile Product Backlog Hierarchy
Theme
Objective, Key results
How to Create, Split, and Schedule Epic in Agile
Theme, Epic, User Story
Epic
Description, Child PBIs, NFR
User Story
Description, Acceptance Criteria
9 Patterns of User Story Splitting (原始來源: The Humanizing Work Guide to Splitting User Stories , Story Splitting Cheat Sheet)
Workflow Steps
Business Rule Variations
Major Effort
Simple/Complex
Variations in Data
Data Entry Methods
Defer Performance
Operations (e.g. CRUD)
Break Out a Spike
Business Spike and Technical Spike
完整性的檢查
利用CRUD檢查是否有遺漏的user story
如果I want的內容一致,兩個user story可以合併,如果I want的內容不一致,應該分為兩個user story
排優先順序: 1-3 1:high, 2:medium, 3:low
預估難度
以費氏數列: 1, 2, 3, 5, 8
超過8可能就應該分割為兩個user story
User story mapping tools
7 Best Story Mapping Tools for Distributed Agile Teams (2015)
JIRA Agile
Team Foundation Server
BoardThing
StoriesOnBoard (30天免費試用)
FeatureMap (Starter for free, 2 maps)
Symphonical
Trello
Top Tools for User Story Mapping: From Post-Its to the Best Digital Apps (2016)
headliners
StoriesOnBoard (30天免費試用)
FeatureMap (Starter for free, 2 maps)
potentials
Agile User Story Map for JIRA/Atlassian
Mural
Cardboard
Realtimeboard
使用Trello
Create a Visual User Story Mapping in Trello
Power-ups (強化功能)
Scales for Trello (free) **NEW**
Group cards into larger bodies of work with epics (原Epic Cards的功能)
Set dependencies between cards
Assign estimates to cards
Set priorities and sort cards according to their importance
Track the progress of your work
Epic Cards for Trello (free)
選單/使用更多Power-Up...
選擇Epic Cards by Screenful
先開一個List列一些User Task
將這個List的內容轉為Epic Card
每一張Epic Card就是一個User activity,並列出所有的user tasks
可以有多個Epic Card
可以設定三種List: Open、In Progress、Close
List上的每一個Card就是一個user story
在Open裡新增user story,再將每個user story對應到一個Epic (user task)
利用Epic Card的設定,可以設定將User Story移到某一個/些List(如:Close)就是結束
Introducing Epic Cards for Trello v2.0
完成一個Epic的方法改變了
Say Hello To Card Dependencies With The Hello Epics Power-Up
可以設定Story之間的從屬關係 (跟Epic Cards類似但只能試用14天)
可以多人使用同一個map
Group = user activity, list = user task, layer=階段
加總總難度,將所有的user story分為不同階段 (如:4個階段)
登入
建立看板
邀請同學
新增列表及卡片
點選卡片可以填user story的內容
設定優先順序
設定Epic
設定完成的列表