SlideShare a Scribd company logo
1 of 53
用戶故事入門工作坊
David Ko
我是誰?
• 台灣敏捷社群發起人之一
– Scrum	community	in	Taiwan
– AgileCommunity.tw
• Scrum	and	XP	from	the	Trenches 繁中譯者
• qCon Shanghai	2013/	AHA	2015	的講者
• Agile Tour Taipei/Hsinchu 組織者
• 部落格: http://kojenchieh.pixnet.net/blog
2
大綱
用戶故事介紹
建立用戶故事
用戶故事拆解
活動回顧
3
用戶故事介紹
4
好的, 這個故事
是:“你給我所
有的功能,否則
你就死定了”
並且每個功能都
需要有個用戶故
事來描述
我無法在第一版
給你想要的所有
的功能
Planning	Game
5
什麼是用戶故事?
6
功能
產生價值用來對話
用戶故事卡片
7
故事標題
故事內容敘述 輔助資訊
格式
• 格式
– As	a	[Role],	I	want	to		[What],	because	[Why]
– 身為 [角色],	我想要 [做什麼],	因為 [理由]
• 範例
8
As	a	recurring	customer,	I	
want	to	re-order	items
from	my	previous	orders	
so	I	don’t	have	to	search	
for	them	each	time.
身為常客, 我想要用以前
的訂單改來下這次的貨,
所以我不需要每次再搜
索他們
非功能性用戶故事
9
身為用戶, 我可以在所有
Windows 版本上執行我
的產品
身為系統維護者, 我想要
這產品能夠將現存資料
升級, 而不是建立新的資
料
身為用戶, 當我要使用產
品時, 我想要我的產品的
availability 是 99.999%
身為拉丁語系的用戶, 我
想要這個產品能夠執行
在拉丁語系的作業系統
用戶故事生命週期
10
11
要 對話, 不是 交棒
參與式 設計
12
用戶故事
不是 一種 寫文件 的方式
而是另一種 做事 方式
討論:	高鐵訂票系統
13
大綱
用戶故事介紹
建立用戶故事
用戶故事拆解
活動回顧
14
產品不是做來自己爽的
15
誰是用戶?
• 誰是高鐵訂票系統的用戶?	
• 挑出使用系統頻率最高的 3	個
16
如何收集用戶故事
17
用戶訪談 問卷調查
觀察 故事編寫工作坊
迭代一:	建立用戶故事
• 根據每個角色列出用戶故事
• 至多 列出 20	個故事來描述 整個 系統
18
迭代二:	精煉用戶故事
• 針對 早鳥優惠 來精煉故事
• 試圖將故事精煉到更小,	更詳細
19
討論:	撰寫用戶故事的反思
• 發生什麼事情
• 你的感受如何
• 你覺得缺少了什麼
• 你覺得下次再進行時要準備什麼
20
用戶故事的問題
21
容易 失去全貌
User Story Mapping	簡介
Persona
推坑王
- 資訊焦慮症
- 喜歡終生學習
- 喜歡接觸新東西
Epics
工作流程順序
優
先
順
序
找書 看內容 購物車 付款
用標
頭找
依作
者選
看摘
要
看目
錄
看封
面
立刻
買
1	click
可儲
存
PayPal
功能 & 故事
發佈 1
發佈 2
信用
卡
User	Story	Mapping	範例
如何進行 User Story Mapping 討論
• 針對用戶 體驗 來討論
• 列出所處理的任務 (tasks)
• 將任務分群並命名
• 依時間順序將群組來排列
• 繼續找出更細的任務
• 講故事給使用者聽
討論:	組織用戶故事
• 利用 故事地圖 重新來組織你的故事
25
工作流程順序
優
先
順
序
找書 看內容 購物車 付款
用標
頭找
依作
者選
看摘
要
看目
錄
看封
面
立刻
買
1	click
可儲
存
PayPal
功能 & 故事
階段 1
階段 2
信用
卡
驗收條件 (Acceptance	Criteria)
• 定義故事的 範圍
• 確認 是否完成
• 是否 照著所想 的運作
26
身為 MVP 用戶
我想要取消保留
所以當我遇上突發狀況
時我可以保有彈性
1. 驗證是否只有 MVP 用
戶可以取消
2. 驗證確認取消信件是
否有被送
3. 驗證確認旅館是否有
收到取消通知
好的驗收條件
• 描述 意圖
• 和實作方法無關
• 相對地高階和抽象
27
討論:	驗收條件
• 針對 2-3	個故事撰寫驗收條件
28
討論:	驗收條件反思
• 下面這個是驗收條件嗎?
– 故事
• 身為音樂愛好者我想透過信用卡來購買唱片
– 驗收
• 用戶拿了一張 Master	card,	2017/6/30	過期,	所以無
法購買成功
• 用戶拿了一張美國運通卡,	但是目前系統不支援,	
所以顯示錯誤訊息給顧客
• 用戶拿了一張 Master	card, 但是刷的金額 10	萬元,	
超過每月消費金額,	系統顯示錯誤訊息給顧客
29
驗收測試
30
驗收條件 +
範例 ( 資料 + 故事情節 )
= 驗收測試
範例
• 故事
– As	a	user,	I	want	to	use	this	Application,	so	I	
need	to	login	successfully
• 驗收測試
– 輸入 (David,	12345),	可以登入成功
– 輸入 (David,	aabbcc),	登入失敗,	顯示 “wrong	ID	
or	password”
– 輸入(大衛,	bcc),	可以登入成功
31
驗收條件 v.s. 驗收測試
32
驗收條件 驗收測試
PO 或是 SA 開始撰寫 由 RD 撰寫
在需求規劃期間 在開發工作期間
要做什麼 如何被完成
說明要滿足的狀況 利用實際資料來說明要
做什麼
會對應到一個或多個驗
收測試
根據驗收條件來產生
用戶故事處理的過程
33
身為音樂愛好者, 我想透過信用
卡來購買唱片
我可以用 VISA 購買唱片
如果 VISA 過期, 我會無法購買
用戶拿了一張 Master	card,	
2017/6/30	過期,	所以無法購買
成功
用戶拿了一張美國運通卡,	但是
目前系統不支援,	所以顯示錯誤
訊息給顧客
畫面設計
架構設計
程式撰寫
撰寫驗收測試
用戶故事 驗收條件
驗收測試 迭代任務
大綱
用戶故事介紹
建立用戶故事
用戶故事拆解
活動回顧
34
你會如何分享蛋糕
35
水平切?
36
垂直切
37
• 端點到端點 (垂直切) • 客戶為中心
拆解故事的準則
38
(1) 驗收條件
(2) 工作流程
(3) 商業規則
(4) 延遲系統品質
(5) 主要代價
(6) CRUD
(7) 各式各樣的資料
(8) 低擬真(Low-fidelity )	
&高擬真(High-fidelity)
拆解方法
39
HW:	拆解用戶故事
• 重新拆解 故事地圖 的故事
• 每兩週完成一些故事
40
工作流程順序
優
先
順
序
找書 看內容 購物車 付款
用標
頭找
依作
者選
看摘
要
看目
錄
看封
面
立刻
買
1	click
可儲
存
PayPal
功能 & 故事
迭代 1
迭代 2
信用
卡
那非功能性需求呢?
• Availability
• Performance
• Reliability
• Reusability
• Scalability
• Security
• Portability
• …
41
(1) 驗收條件
(2) 工作流程
(3) 商業規則
(4) 延遲系統品質
(5) 主要代價
(6)	Use	Case	Scenario
(7) CRUD
(8) 各式各樣的資料
(9) 低擬真(Low-fidelity )	
&高擬真(High-fidelity)
拆解方法
42
以不變應萬變
範例: 延遲系統品質
• 例如:	PCHome 線上購物
– 要能讓 20	萬人同時線上交易
• 拆解方法
43
很多人能同時訂高鐵
對號座
可以 1,000 人同時定票
可以 50, 000 人同時定票
可以 10, 000 人同時定票
大綱
用戶故事介紹
建立用戶故事
用戶故事拆解
活動回顧
44
需求不只是用戶故事
45
系統需求 =
用戶故事 +
對話 +
驗收條件 +
其他資訊
用戶故事處理流程
46
可能的用戶
用戶
用戶故事 用戶故事對照
針對一個
驗收
條件
驗收
測試
拆解
故事
排
順序
評估
故事
47
參與式了解需求
48
撰寫, 檢視, 重寫
49
和要做事的人檢視用戶故事
50
準備好隨時改變
51
開始做之前驗證假設
用戶故事參考數目
52
Q & A
53

More Related Content

What's hot

服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)
服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)
服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)
Souyi Yang
 
User story Mapping - A Brief Primer
User story Mapping - A Brief PrimerUser story Mapping - A Brief Primer
User story Mapping - A Brief Primer
Gopalakrishnan Vasu
 
QM-049-品質中英對照
QM-049-品質中英對照QM-049-品質中英對照
QM-049-品質中英對照
handbook
 

What's hot (20)

はじめてのスクラム体験ワークショップ 〜 アジャイル時代のテスターを目指して
はじめてのスクラム体験ワークショップ 〜 アジャイル時代のテスターを目指して はじめてのスクラム体験ワークショップ 〜 アジャイル時代のテスターを目指して
はじめてのスクラム体験ワークショップ 〜 アジャイル時代のテスターを目指して
 
從無到有建立一個敏捷開發團隊的經驗甘苦談
從無到有建立一個敏捷開發團隊的經驗甘苦談從無到有建立一個敏捷開發團隊的經驗甘苦談
從無到有建立一個敏捷開發團隊的經驗甘苦談
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習
 
User Story 的那些人與那些事
User Story 的那些人與那些事User Story 的那些人與那些事
User Story 的那些人與那些事
 
敏捷用於專案開發的一些想法
敏捷用於專案開發的一些想法敏捷用於專案開發的一些想法
敏捷用於專案開發的一些想法
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出
 
服務設計(Service design)顧客洞察
服務設計(Service design)顧客洞察服務設計(Service design)顧客洞察
服務設計(Service design)顧客洞察
 
也許你需要的是多一點瀑布 - 敏捷八不
也許你需要的是多一點瀑布 - 敏捷八不也許你需要的是多一點瀑布 - 敏捷八不
也許你需要的是多一點瀑布 - 敏捷八不
 
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
 
Stop Retrospective, Start Continuous Improving
Stop Retrospective, Start Continuous ImprovingStop Retrospective, Start Continuous Improving
Stop Retrospective, Start Continuous Improving
 
O.R.I.D 初探 - 新竹敏捷分享.pdf
O.R.I.D 初探 - 新竹敏捷分享.pdfO.R.I.D 初探 - 新竹敏捷分享.pdf
O.R.I.D 初探 - 新竹敏捷分享.pdf
 
服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)
服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)
服務創新AT-ONE國際研討會暨實務工作坊紀錄整理(2013/07/27)
 
敏捷領導力 Agile leadership
敏捷領導力 Agile leadership敏捷領導力 Agile leadership
敏捷領導力 Agile leadership
 
Agile Processes - Scrum
Agile Processes - ScrumAgile Processes - Scrum
Agile Processes - Scrum
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
 
咕唧咕唧,估計估計
咕唧咕唧,估計估計咕唧咕唧,估計估計
咕唧咕唧,估計估計
 
User story Mapping - A Brief Primer
User story Mapping - A Brief PrimerUser story Mapping - A Brief Primer
User story Mapping - A Brief Primer
 
QM-049-品質中英對照
QM-049-品質中英對照QM-049-品質中英對照
QM-049-品質中英對照
 
価値提案キャンバス(Value Proposition Canvas)
価値提案キャンバス(Value Proposition Canvas)価値提案キャンバス(Value Proposition Canvas)
価値提案キャンバス(Value Proposition Canvas)
 
【服務設計的複雜與矛盾:醫院門診個案分享】
【服務設計的複雜與矛盾:醫院門診個案分享】【服務設計的複雜與矛盾:醫院門診個案分享】
【服務設計的複雜與矛盾:醫院門診個案分享】
 

Similar to User story concept for agiletourkaohsiung

Agile introduction
Agile introductionAgile introduction
Agile introduction
Jen-Chieh Ko
 

Similar to User story concept for agiletourkaohsiung (20)

Semp活动 敏捷之用户故事研讨会(一)
Semp活动   敏捷之用户故事研讨会(一)Semp活动   敏捷之用户故事研讨会(一)
Semp活动 敏捷之用户故事研讨会(一)
 
Scrum introduction in hsin chu-agilemeetup
Scrum introduction in hsin chu-agilemeetupScrum introduction in hsin chu-agilemeetup
Scrum introduction in hsin chu-agilemeetup
 
Design Method_20210603
Design Method_20210603Design Method_20210603
Design Method_20210603
 
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程
 
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程
 
Agile introduction
Agile introductionAgile introduction
Agile introduction
 
HP39活動簡介
HP39活動簡介HP39活動簡介
HP39活動簡介
 
Scrum drawing game in agile summit 2018
Scrum drawing game in agile summit 2018Scrum drawing game in agile summit 2018
Scrum drawing game in agile summit 2018
 
拒絕再寫無效規格,來學學實例化需求! (Agile Summit TW 2023)
拒絕再寫無效規格,來學學實例化需求! (Agile Summit TW 2023)拒絕再寫無效規格,來學學實例化需求! (Agile Summit TW 2023)
拒絕再寫無效規格,來學學實例化需求! (Agile Summit TW 2023)
 
關於產品經理的角色與職責
關於產品經理的角色與職責關於產品經理的角色與職責
關於產品經理的角色與職責
 
Mopcon 2021 Scrum 是新的死亡行軍嗎?
Mopcon 2021   Scrum 是新的死亡行軍嗎?Mopcon 2021   Scrum 是新的死亡行軍嗎?
Mopcon 2021 Scrum 是新的死亡行軍嗎?
 
HP41活動介紹-使用者研究
HP41活動介紹-使用者研究HP41活動介紹-使用者研究
HP41活動介紹-使用者研究
 
從教具設計看產品創新 - From UX in the Jungle to Innova Café
從教具設計看產品創新 - From UX in the Jungle to Innova Café從教具設計看產品創新 - From UX in the Jungle to Innova Café
從教具設計看產品創新 - From UX in the Jungle to Innova Café
 
Conference Brochure Scrum Gathering Shanghai 2011
Conference Brochure Scrum Gathering Shanghai 2011Conference Brochure Scrum Gathering Shanghai 2011
Conference Brochure Scrum Gathering Shanghai 2011
 
Agile meetuphsinchu user story mapping workshop
Agile meetuphsinchu user story mapping workshopAgile meetuphsinchu user story mapping workshop
Agile meetuphsinchu user story mapping workshop
 
有效面對技術債
有效面對技術債有效面對技術債
有效面對技術債
 
運用敏捷開發方法與思維打造高效研發團隊
運用敏捷開發方法與思維打造高效研發團隊運用敏捷開發方法與思維打造高效研發團隊
運用敏捷開發方法與思維打造高效研發團隊
 
從乙方PM的角度看敏捷
從乙方PM的角度看敏捷從乙方PM的角度看敏捷
從乙方PM的角度看敏捷
 
成大心理系-Prototyping方法
成大心理系-Prototyping方法成大心理系-Prototyping方法
成大心理系-Prototyping方法
 
Plurk 簡介
Plurk 簡介Plurk 簡介
Plurk 簡介
 

More from Jen-Chieh Ko

The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar GatheringThe right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
Jen-Chieh Ko
 

More from Jen-Chieh Ko (20)

RSG Taipei 2023 LeSS Design Principles
RSG Taipei 2023 LeSS Design PrinciplesRSG Taipei 2023 LeSS Design Principles
RSG Taipei 2023 LeSS Design Principles
 
Practical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamPractical Testing Strategy for Agile Team
Practical Testing Strategy for Agile Team
 
2021 台灣軟體測試現狀調查
2021 台灣軟體測試現狀調查2021 台灣軟體測試現狀調查
2021 台灣軟體測試現狀調查
 
Agile summit2021 - Talk About Exploratory Testing
Agile summit2021 - Talk About Exploratory TestingAgile summit2021 - Talk About Exploratory Testing
Agile summit2021 - Talk About Exploratory Testing
 
啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱
 
Exploratory testing survey in 2020
Exploratory testing survey in 2020Exploratory testing survey in 2020
Exploratory testing survey in 2020
 
Agile Hsinchu 七月線上聚會: 我的教練旅程
Agile Hsinchu 七月線上聚會: 我的教練旅程Agile Hsinchu 七月線上聚會: 我的教練旅程
Agile Hsinchu 七月線上聚會: 我的教練旅程
 
The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar GatheringThe right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
 
Agile tourhsinchushare踩過的scrum event坑
Agile tourhsinchushare踩過的scrum event坑Agile tourhsinchushare踩過的scrum event坑
Agile tourhsinchushare踩過的scrum event坑
 
Design sprint experience at Trend Micro
Design sprint experience at Trend MicroDesign sprint experience at Trend Micro
Design sprint experience at Trend Micro
 
Container and Test Automation Management Practices in TrendMicro
Container and Test Automation Management Practices in TrendMicroContainer and Test Automation Management Practices in TrendMicro
Container and Test Automation Management Practices in TrendMicro
 
Design sprint sharing of DS team
Design sprint sharing of DS team Design sprint sharing of DS team
Design sprint sharing of DS team
 
Beer game-public
Beer game-publicBeer game-public
Beer game-public
 
Agile Summit Taipei 2019 - Agile Testing Strategy
Agile Summit Taipei 2019 - Agile Testing StrategyAgile Summit Taipei 2019 - Agile Testing Strategy
Agile Summit Taipei 2019 - Agile Testing Strategy
 
Agile HR at Titansoft
Agile HR at TitansoftAgile HR at Titansoft
Agile HR at Titansoft
 
From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...
 
Experience sharing-in-scrum
Experience sharing-in-scrumExperience sharing-in-scrum
Experience sharing-in-scrum
 
Nor Chen - Agile Tour Hsinchu 2018 Public edition
Nor Chen - Agile Tour Hsinchu 2018 Public editionNor Chen - Agile Tour Hsinchu 2018 Public edition
Nor Chen - Agile Tour Hsinchu 2018 Public edition
 
Band ofbrother
Band ofbrotherBand ofbrother
Band ofbrother
 
Le ss without scrum
Le ss without scrumLe ss without scrum
Le ss without scrum
 

User story concept for agiletourkaohsiung