用用戶故事來描述產品需求是敏捷開發實踐必須學習和轉變的第一項工作,最經典的三段論,“作為一個…(角色),可以<能夠>…(功能),以便…(客戶價值),這個語法很好地表明了需求的三個最重要的要素:角色,功能,客戶價值。
為什么需要角色,
1. 有利于特定的用戶核實,有一個“角色“字段,都令溝通工作可以與適當的角色進行,完成的產品自然也就令這些角色的人員滿意。
2. 有利于開發人員理解場景,角色與“普通用戶/管理員/執行人“這些區別,可以使開發人員更容易理解產品的用戶,風格、操作人員的熟練程度、操作習慣。
功能描述最好遵從以下兩條規則
1. 主語-謂語原則
比如,作為一個會議系統管理員,可以顯示所有用戶的提問,以便。。。。
是不是別扭,對可以轉換成“可以查看所有用戶的提問“,這樣是通過角色+謂語的方式來描述
2. 動賓詞組原則
在功能動作描述的時候,盡量采用動詞+賓語的描述,如新建用戶,查看所有評論等。
所以對于功能的描述應該是: 把角色作為主語,功能主題的描述采用動賓結構。
用戶價值
用戶價值看似很簡單,但是其實是很難寫,而且很重要。
如:作為會議管理員,可以查看所有用戶的提問,以便了解哪些用戶發表的評論??瓷先ミ@種價值描述不錯。但是如果系統只是為了查看的話,會議管理員為什么要查看?如果評論很多,他如何查看?
所以用戶故事的價值描述,給需求分析做了一些價值挖掘的要求,團隊要去挖掘角色做這一動作的價值,要為角色挖掘出必要且合理的理由。
用戶故事作為需求分析和研發的依據,是在敏捷開發實踐過程中首先需要去實踐的一個重要環節,看似簡單的用戶故事,在實際操作中是相對困難的,如何從傳統的功能描述轉變成客戶和研發團隊都能理解的用戶,這里有很多技巧。包括如何確定角色,用戶故事顆粒度,用戶故事的評估等問題。推薦大家一本書科恩(美)的《用戶故事與敏捷方法》。
下圖是我們項目的實際用戶故事例子,
原文轉自:http://blog.sina.com.cn/s/blog_74bd788f0101aatg.html