1. 什麼是用戶故事?
用戶故事描述了對用戶或客戶有價值的功能。用戶故事由如下三方面組成(3C):編程
- 一份書面的故事描述,用來作計劃和做爲提示(Card)。
- 有關故事的對話,用於具體化故事細節(Conversation)。
- 測試,用於表達和編檔故事細節且可用於肯定故事什麼時候完成(Confirmation)。
能夠用故事卡來記錄用戶故事,在故事卡的正面記錄故事的簡短描述,背面則記錄測試要點。
2. 什麼是優秀的用戶故事?
優秀的用戶故事應該具有如下6個特色(INVEST):測試
- 獨立的(Independent)。
- 可討論的(Negotiable)。
- 對用戶或客戶有價值的(Valuable to users or customers)。
- 可估計的(Estimatable)。
- 小的(Small)。
- 可測試的(Testable)。
3. 爲何使用用戶故事?
使用用戶故事可以帶來下面好處:lua
- 用戶故事強調口頭溝通。能夠提供迅速的反饋週期,可以促成對需求的充分理解。
- 用戶故事更容易被人理解。
- 用戶故事的大小適合作計劃。
- 用戶故事適合於迭代開發。能夠很容易的從一個史詩故事入手,並在須要的時候將其分解成多個小故事。
- 用戶故事鼓勵延遲細節。能夠很快的寫出大量用戶故事,迅速的開展工做。
- 用戶故事鼓勵隨機應變的設計。團隊能迅速的在高層及低層細節思考間切換。
- 用戶故事鼓勵參與性設計。
- 用戶故事有利於傳播隱性知識。
4. 用戶故事有哪些不足? 設計
- 大型項目中,用戶故事之間的關係可能錯綜複雜,難以組織好成千上萬的用戶故事。
- 若是開發過程規定要有需求的可追溯性,須要額外的文檔。
- 在特大規模多團隊的項目中,僅靠用戶故事是不夠的,否則難以保證信息在大型團隊中充分共享。
要點: 代理
5. 怎樣開始編寫用戶故事?
首先從識別關鍵用戶角色開始。按如下步驟對用戶角色建模(角色卡):開發
- 經過頭腦風暴,列出初始的用戶角色集合。
- 整理最初的用戶角色集合,代表角色之間的關係。
- 整合角色,合併徹底重疊的角色,丟棄多餘的和不過重要的角色。
- 提煉角色,定義角色的特徵,以便更清楚的瞭解不一樣角色的差別。
要點: 文檔
- 用戶角色表明的是單一用戶。
- 用戶角色定義的是人,而不是其它外部系統。
6. 怎樣發現和收集用戶故事?
如下2種方法有助於發現和收集用戶故事:原型
- 用戶訪談。
- 故事編寫研討會(頭腦風暴,簡單原型)。
要點: 產品
- 使用開放式的,背景無關的提問。
- 應該把重點放在故事的數量上而不是質量上。
7. 當不能或很難接觸實際用戶時該怎麼辦?
如下方法有助於解決問題:io
- 組建由用戶代理領導的用戶顧問團隊(業務分析師和領域專家是較好的用戶代理人選)。
- 儘早的頻繁的發佈產品,以便儘快獲得用戶的真實反饋。
8. 怎樣描述用戶故事?
可使用下面的格式描述用戶故事:
做爲一個(角色),我想要(功能),以便於(商業價值)
9. 怎樣處理非功能需求?
使用約束卡片,若是須要也可使用其它形式的補充需求說明。
10. 怎樣估算用戶故事?
用故事點估算方法估算故事。
要點:
11. 怎樣安排故事的優先級?
故事的客戶價值和風險是安排故事優先級要考慮的重要因素。
12. 怎樣將用戶故事分配到發佈計劃?
按如下步驟分配用戶故事到發佈計劃:
- 肯定客戶預期的大體發佈日期。
- 肯定迭代長度(通常2-4周)。
- 估算用戶故事(故事點估算)。
- 估算團隊初始速率(每一個迭代完成的故事點)。
- 安排故事優先級(按客戶價值和風險等因素)。
- 按故事優先級,故事點,團隊速率分配故事到每輪迭代。
13. 怎樣將用戶故事分解爲多個任務?
如下3方面是分解任務時要考慮的重要因素:
- 有利於估算。
- 有利於協做分工。
- 有利於跟蹤完成狀況。
14. 怎樣將任務分配到迭代計劃?
按如下步驟分配任務到迭代計劃:
- 將用戶故事分解爲多個任務。
- 團隊成員認領任務。
- 團隊成員估算並確認他們本身的任務。
要點:
15. 當用戶界面設計不適合頻繁變動時怎麼辦?
能夠按下面步驟實現以使用爲中心的設計:
- 用戶角色建模。
- 捕獲高層次的用戶故事。
- 排列故事優先級。
- 精煉高優先級和中等優先級的故事。
- 對故事整理分組。
- 創建書面的原型。
- 精煉該原型。
- 開始編程。
16. 怎樣基於用戶故事監控團隊速率和完成狀況?
如下4種方法有助於監控速率和完成狀況:
- 速率圖,用於展示每輪迭代的速率(每輪迭代完成故事點),以便於監測實際速率和計劃速率的誤差。
- 累計完成故事點圖,用於展示每輪迭代完成的故事點,以便於監測累計的實際完成故事點和計劃完成故事點的誤差。
- 迭代燃盡圖(發佈燃盡圖),用於展示每輪迭代末剩餘的故事點,以便於把握項目總體的進展狀況。
- 每日燃盡圖(Sprint燃盡圖),用於展示一輪迭代中每日剩餘工做的小時數,以便於把握每輪迭代的進展狀況