- Independent 獨立性,避免與其他Story的依賴性。
- Negotiable 可談判性,Stories不必太過詳細,開發人員可以給出適當的建議。
- Valueable 有價值性, Story需要體現出對於用戶的價值
- Estimable 可估計性,Story應可以估計出Task的開發時間。
- Sized Right 合理的尺寸, Stories應該儘量小,並且使得團隊儘量在1個sprint(2 weeks)中完成。
- Testable 可測試性, User Story應該是可以測試的,最好有界面可以測試和自動化測試。每個任務都應有Junit Test.
user story: 代表一個 user feature。基於INVEST原則寫的story,應該是大家看懂的。如果哪個角色看不懂一個 story,那麼大家會認爲有可能這個 story本身有問題。我們可以讓PO去澄清一下,追加 comments補充或者修改一下 story的requirement的描述。一定要強調的是,user story一定是從用戶的角度來描述用戶渴望得到的功能。儘管 user story擁有模板,但是不提倡一個 story就一句話描述,驗收條件對一個 story來說至關重要。我們在jira或者confluence上面同樣還有 Epic的概念,Epic 翻譯成史詩,即非常大(巨大)的用戶故事。一個 Epic會拆分成多個 user story。
user story 的 3C原則:3C是收集用戶故事的有效手段,包括以下。
- 卡片(Card):用戶故事一般在小卡片上寫着故事的簡短描述,工作量估算等。
- 交談(Conversation):用戶故事背後的細節來源於和客戶或者產品負責人的交流溝通。
- 確認(Confirmation):通過驗收測試確認用戶故事被正確完成。