什么是用户故事及用户故事在敏捷开发中如何编写
1. 角色:誰要使用這個功能。
2. 活動:需要完成什么樣的功能。
3. 商業價值:為什么需要這個功能,這個功能帶來什么樣的價值。
用戶故事通常按照如下的格式來表達:
英文:As a <Role>, I want to <Activity>, so that <Business Value>.
中文:
作為一個<角色>, 我想要<活動>, 以便于<商業價值>
舉例:
作為一個“網站管理員”,我想要“統計每天有多少人訪問了我的網站”,以便于“我的贊助商了解我的網站會給他們帶來什么收益。”
需要注意的是用戶故事不能夠使用技術語言來描述,要使用用戶可以理解的業務語言來描述。
用戶故事來描述產品需求是敏捷開發實踐必須學習和轉變的第一項工作,最經典的三段論,“作為一個…(角色),可以<能夠>…(功能),以便…(客戶價值),這個語法很好地表明了需求的三個最重要的要素:角色,功能,客戶價值。
為什么需要角色,
1. 有利于特定的用戶核實,有一個“角色“字段,都令溝通工作可以與適當的角色進行,完成的產品自然也就令這些角色的人員滿意。
2. 有利于開發人員理解場景,角色與“普通用戶/管理員/執行人“這些區別,可以使開發人員更容易理解產品的用戶,風格、操作人員的熟練程度、操作習慣。
功能描述最好遵從以下兩條規則
1. 主語-謂語原則
比如,作為一個會議系統管理員,可以顯示所有用戶的提問,以便。。。。
是不是別扭,對可以轉換成“可以查看所有用戶的提問“,這樣是通過角色+謂語的方式來描述
2. 動賓詞組原則
在功能動作描述的時候,盡量采用動詞+賓語的描述,如新建用戶,查看所有評論等。
所以對于功能的描述應該是: 把角色作為主語,功能主題的描述采用動賓結構。
用戶價值
用戶價值看似很簡單,但是其實是很難寫,而且很重要。
如:作為會議管理員,可以查看所有用戶的提問,以便了解哪些用戶發表的評論。看上去這種價值描述不錯。但是如果系統只是為了查看的話,會議管理員為什么要查看?如果評論很多,他如何查看?
所以用戶故事的價值描述,給需求分析做了一些價值挖掘的要求,團隊要去挖掘角色做這一動作的價值,要為角色挖掘出必要且合理的理由。
用戶故事作為需求分析和研發的依據,是在敏捷開發實踐過程中首先需要去實踐的一個重要環節,看似簡單的用戶故事,在實際操作中是相對困難的,如何從傳統的功能描述轉變成客戶和研發團隊都能理解的用戶,這里有很多技巧。包括如何確定角色,用戶故事顆粒度,用戶故事的評估等問題。
推薦大家一本書科恩(美)的《用戶故事與敏捷方法》。
總結
以上是生活随笔為你收集整理的什么是用户故事及用户故事在敏捷开发中如何编写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Opencv实现纵横比保持的图像缩放
- 下一篇: 大图片服务器文件缓存,文件和图片缓存机制