在敏捷軟件開發 (Agile Development) 中,需求是從用戶的價值點捕獲的。通常有幾個參與者在稱為用戶角色的系統上起作用(例如:用戶、管理員、客戶、供應商等)。它不應該從開發人員、測試人員或經理的角度編寫。
用戶故事是敏捷團隊中捕捉功能願望的事實上的標準。用戶故事通常是從最終用戶或系統用戶的角度編寫的。換句話說,用戶故事描述了用戶的類型、他們想要什麼以及為什麼。用戶故事有助於創建需求的簡化描述。根據項目的不同,用戶故事可能由不同的利益相關者編寫,包括客戶、用戶、經理或開發團隊成員。
產品負責人 (product owner) 和團隊 (Development team) 通常會編寫用戶故事,產品負責人向開發團隊解釋用戶故事,並澄清團隊可能遇到的任何問題。
用戶故事可以根據功能特徵和驗收標準編寫,最初應該由產品負責人編寫,然後與團隊一起審查。
也可以為技術故事編寫用戶故事,這些故事間接為功能性用戶故事帶來價值(例如:Java 更新、Hibernate 升級等)。
測試人員也可以與產品負責人一起參與團隊討論,並幫助團隊提出任何缺失的點。
他還幫助產品負責人審查他為特定故事編寫的測試用例,以驗證他的理解。
如何使用 INVEST 指南編寫好的用戶故事
許多測試人員依賴INVEST 縮寫詞來理解和分析用戶故事
- 獨立 (Indepentent) : 避免引入依賴,在單個 Sprint 中組合交付
- 可協商 (Negotiable):故事不是合同;需要靈活調整實施的數量
- 有價值的 (Valuable):如何為用戶、客戶和利益相關者創造價值
- 可估算 (Estimable): 團隊需要足夠的細節來估算工作量
- 小 (Small):故事,大小適合在 Sprint 中完成(包括測試)
- 可測試 (Testable): 滿足客戶需求;所有人都明白,盡可能自動化
注意:
INVEST是用於快速評估用戶故事質量的指南,源自 Bill Wake 的一篇文章,該文章還將首字母縮略詞SMART(特定、可衡量、可實現、相關、限時)重新用於用戶故事技術分解所產生的任務。
用戶故事模板:角色-行動-收益
用戶故事僅捕獲需求的基本要素。格式為“作為<誰>我想要<什麼>以便<受益>”:
用戶故事示例
- 作為<招聘人員>我可以<發布新工作>以便<求職者可以通過搜索找到這些工作>
- 作為<求職者>我可以<限制誰看到我的簡歷>這樣<我有隱私>
用戶故事的 3 C(卡片、對話、確認)
卡片 (Card)——用於計劃和估算的故事的書面描述。
對話 (Conversation) – 與他人討論您的想法。讓他們問很多問題。共同努力提出理想的解決方案。目標是建立共識。
確認 (Confirmation) ——努力就構建內容達成一致。將該協議記錄為一組確認測試。
不良用戶故事示例
- 該軟件是用C++編寫的
- 數據庫會有一個連接池
- 敏捷與 Scrum 基礎
- Comprehensive Scrum Guide
- Agile Product Management with Scrum in a Nutshell
- What are Scrum's Three Pillars?
- What is Agile Software Development?
- What is Agile Project Management?
- Scrum in 3 Minutes
- What are the 5 Scrum Values?
- What is the Evolution of Scrum?
- Classical Project Management vs Agile Project Management
- Why is Scrum Difficult to Master?
- What is Velocity in Scrum?
- What is Agile? What is Scrum?
- What are the Three Amigos Development Strategy in Agile?
- Empirical Process Control vs Defined Process Control
- How to Maintain Transparency in Scrum?
- Scrum vs Waterfall vs Agile vs Lean vs Kanban
- What is 3355 in Scrum Framework?
- Why Scrum? How Does Scrum Overcome 8 Pain Points We Always face?
- The Best Free and Commercial Agile Tools - Every Scrum Team Needs!
- What are the 8 Wastes in Lean?
- Extreme Programming (XP) vs Scrum
- What is Timeboxing in Scrum?
- Agile Myth: Documentation and Planning not Needed?
- How Scrum or LeSS Apply Empirical Process Control Principle?
- Scrum Checklist for Every Scrum Teams
- Agile Development: Sprint Zero or Not Sprint Zero?
- Top 6 Common Misconceptions in Agile Development
- Agile Framework Tools - From Small Teams to Scaling Agile
- Comparison of Agile Teams
- Why Agile Project Management? Transitioning from Traditional PM to Agile
- The Top 7 Popular Agile Development Approaches
- Agile & Scrum Principles