天天看點

Agile - Scrum 使用者故事(User Story)

[b]什麼是使用者故事?[/b]

使用者故事是[color=red]從使用者的角度來描述使用者渴望得到的功能[/color]。一個好的使用者故事包括三個要素:

[list]

[*]1.角色:誰要使用這個功能。

[*]2.活動:需要完成什麼樣的功能。

[*]3.商業價值:為什麼需要這個功能,這個功能帶來什麼樣的價值。

[/list]

[b]使用者故事通常按照如下的格式來表達:[/b]

英文:As a <Role>, I want to <Activity>, so that <Business Value>.

中文:作為一個<角色>, 我想要<活動>, 以便于<商業價值>

舉例:作為一個“網站管理者”,我想要“統計每天有多少人通路了我的網站”,以便于“我的贊助商了解我的網站會給他們帶來什麼收益。”

需要注意的是[color=red]使用者故事不能夠使用技術語言來描述,要使用使用者可以了解的業務語言來描述[/color]。

[b]Ron Jeffries的3個C[/b]

關于使用者故事,Ron Jeffries用3個C來描述它:

[list]

[*]卡片(Card) - 使用者故事一般寫在小的記事卡片上。卡片上可能會寫上故事的簡短描述,工作量估算等。

[*]交談(Conversation)- 使用者故事背後的細節來源于和客戶或者産品負責人的交流溝通。

[*]确認(Confirmation)- 通過驗收測試确認使用者故事被正确完成。

[/list]

[b]使用者故事的INVEST原則[/b]: INVEST = Independent, Negotiable, Valuable, Estimable, Small, Testable。一個好的使用者故事應該遵循INVEST原則。

[list]

[*]獨立性(Independent)— 要盡可能的讓一個使用者故事獨立于其他的使用者故事。使用者故事之間的依賴使得制定計劃,确定優先級,工作量估算都變得很困難。通常我們可以通過組合使用者故事和分解使用者故事來減少依賴性。

[*]可協商性(Negotiable)— 一個使用者故事的内容要是可以協商的,使用者故事不是合同。一個使用者故事卡片上隻是對使用者故事的一個簡短的描述,不包括太多的細節。具體的細節在溝通階段産出。一個使用者故事卡帶有了太多的細節,實際上限制了和使用者的溝通。

[*]有價值(Valuable)— 每個故事必須對客戶具有價值(無論是使用者還是購買方)。一個讓使用者故事有價值的好方法是讓客戶來寫下它們。一旦一個客戶意識到這是一個使用者故事并不是一個契約而且可以進行協商的時候,他們将非常樂意寫下故事。

[*]可以估算性(Estimable)—開發團隊需要去估計一個使用者故事以便确定優先級,工作量,安排計劃。但是讓開發者難以估計故事的問題來自:對于領域知識的缺乏(這種情況下需要更多的溝通),或者故事太大了(這時需要把故事切分成小些的)。

[*]短小(Small)— 一個好的故事在工作量上要盡量短小,最好不要超過10個理想人/天的工作量,至少要確定的是在一個疊代或Sprint中能夠完成。使用者故事越大,在安排計劃,工作量估算等方面的風險就會越大。

[*]可測試性(Testable)—一個使用者故事要是可以測試的,以便于确認它是可以完成的。如果一個使用者故事不能夠測試,那麼你就無法知道它什麼時候可以完成。一個不可測試的使用者故事例子:軟體應該是易于使用的。

[/list]

轉自:[url=http://www.scrumcn.com/scrumptc/html/?191.html]什麼是使用者故事(User Story)?[/url]

繼續閱讀