敏捷軟體工程速查表/敏捷需求 - 使用者故事及更高階內容
使用者故事速查表
使用者故事代表著對使用者或客戶有益的小部分需求。
故事可以這樣定義:
- 卡片:作為一個使用者,我想要功能,以便於利益
- 對話:捕捉與故事實現相關的細節,例如我們正在進行的權衡
- 確認:(又稱驗收標準) - 我將檢查什麼以確保故事已完成
一個好的故事應該是
- 獨立的... 其他故事,因此它可以僅根據價值、成本和風險進行優先順序排序
- 可協商的... 因此團隊和產品負責人可以討論權衡
- 有價值的... 對使用者來說,因此價值可以成為優先順序排序的主要考慮因素,並且我們明確知道我們為什麼要這樣做
- 可估算的... 因此我們可以更好地評估投資回報率、計劃和預測,並確保我們真正理解它。可能需要一個峰值來估計一個故事,因為技術挑戰或知識不足導致了很高的不確定性
- 小的... 因此它可以快速流過我們的管道,儘可能減少意外,並且可以以正確的解析度進行詳細說明和討論
- 可測試的... 因此我們有一個很好的方法來知道何時完成
使用者故事可以提供價值的不同方法
- 使用者價值 - 最佳價值 - 使用者故事從使用者的角度提高了我們產品的價值
- 來自使用者的反饋(例如,向用戶演示或展示模型)
- 來自 PM 的反饋
- 消除技術上的不確定性
- 消除進度上的不確定性 - 完成這個故事使我們更接近我們的目標
- 使我們能夠更快地交付(例如,重構資料庫模式,投資於持續整合...) - 這是最糟糕的價值型別,因為使用者更願意不為此付費,並且無法提供相對於其他使用者故事的優先順序指示。這些實際上不是使用者故事,而是工程工作項,最好與使用者故事一起連續處理,但是當它們積累並需要管理時,團隊的一部分注意力和精力將需要分配給這些型別的專案
雖然故事是需求的基本單位,但通常需要更高級別的檢視,並且可能包括
- 主題(故事的廣泛類別,例如貨幣化、移動、SEO...)
- 史詩 - 代表特性級專案的較大型故事,分解成多個使用者故事
- MMFs - 最小可行特性,代表史詩中可以釋出並向用戶營銷的最小故事集。這種級別的需求通常在企業級別進行管理和視覺化,類似於交付團隊管理使用者故事的方式。請注意,MMF 可能包括史詩,反之亦然。
產品的第一個 MMF 是 MVP - 最小可行產品


故事儲存在一個單一的、優先排序的待辦事項中,它代表著我們很快可能開始處理的使用者故事。隨著我們更接近處理這些故事,我們對其進行梳理,將其分解並完善,以便交付團隊可以將其拉入。
故事梳理是將故事準備到可以由交付團隊處理的程度的過程。這是持續進行的,這樣故事就能及時定義,並且我們不會陷入團隊沒有足夠工作的情況。團隊通常每週安排兩次一小時的會議來梳理故事。產品負責人、開發人員、測試人員、使用者體驗設計師、資料庫管理員... 都會參與故事梳理。
代表著團隊在每個故事被認為“已完成”之前承諾要為其做的事情。它應該包含團隊所能合理做的事情,並會最大程度地減少對已完成但尚未準備好釋出的專案的浪費。
完成定義示例
- 所有驗收標準都透過
- 檢入主分支
- 根據測試計劃進行測試
- 向 PM 演示
- 提高單元測試覆蓋率
- 程式碼審查 + 實現所有識別出的必要更改
- 所有錯誤已修復並驗證
- 新增到釋出說明
這應該由團隊建立、使用和維護,並且是特定於團隊的。
人物角色是虛構的角色,用於代表目標人群中可能以類似方式使用網站、品牌或產品的不同使用者型別、態度和/或行為集。在定義故事時使用人物角色可以幫助團隊專注於特定使用者的需求,而不是開發對所有人都不太好的通用功能。它們還有助於我們將注意力集中在使用者的子集上,這樣我們就可以更早地獲得反饋並逐步開發產品。
理想情況下,使用者故事代表著穿過產品所有必要架構層的薄切片。這樣,我們就可以獲得端到端的反饋,並更有可能獲得真正的價值。
團隊通常使用一個清單,它代表著我們在將故事拉入管道之前通常想要考慮的事情。DoR 可以包括以下內容:
- 效能
- 可擴充套件性
- 可支援性(日誌條目、監控和故障排除)
- 部署(升級和回滾、對 的任何更改)
- 相容性(與其他系統和服務的向後和向前相容性)
- 對其他系統/團隊的依賴關係
雖然並非所有專案都適用於所有故事,但這些是我們開始著手創作故事之前需要問自己的問題,以便最大程度地減少遺漏故事重要方面的可能性。
故事有時會被分解成任務,由交付團隊的各個成員執行。任務通常很小(不到半天)。分解成任務通常會暴露一些關於使用者故事需求和設計的問題。
您可以使用以下模式來分解故事
- 將工作流程/順序分解成單個步驟
- 先簡單後複雜(UI、邏輯、格式……)
- 先手動後自動
- 推遲效能和可擴充套件性
- 資料的子集
- 請參閱連結以獲取有關模式的更多資訊
- 將史詩分解成使用者故事的技術
- 這些技術包括故事對映和價值流分析等等。
- 故事對映 - 這種技術最適合包含工作流程的史詩。構成史詩的各種活動以線性順序排列,並細化為使用者故事,並按重要性列出。
另一種在深入到單個流程級別之前,可以很好地用於大局的技術是影響對映,其目標是分解成參與者/利益相關者,然後是怎樣,最後是怎樣。一個高度簡化的例子可能看起來像這樣
- 拆分故事流程圖 - http://www.richardlawrence.info/wp-content/uploads/2012/01/Story-Splitting-Flowchart.pdf
- 二十種拆分故事的方法 - http://xp123.com/articles/twenty-ways-to-split-stories/
- 拆分使用者故事指南 - http://www.rallydev.com/sites/default/files/Splitting_User_Stories_Guide.pdf
- 實踐中的故事對映 - http://www.slideshare.net/chassa/2013-0509story-mapsagilemeetupbp
- 敏捷中的分析不僅僅是使用者故事 - http://www.slideshare.net/kentjmcdonald/analysis-in-agile-its-more-than-just-user-stories-20934958
- 書:使用者故事應用
- 書:敏捷需求