如何在敏捷软件开发中开发使用故事?

在敏捷軟件開發 (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++編寫的
  • 數據庫會有一個連接池

Visual Paradigm International