菜鳥Scrum敏捷實踐系列索引
菜鳥Scrum敏捷實踐系列(三)用戶故事的組織---功能架構的規划
敏捷開發對需求規划的要求是很高的,首先需求是打散的,一個大的項目需求會拆分成很多小的功能完整的需求,以便排定優先級去逐個實現,敏捷開發提升了開發效率,但是對需求規划的要求更高了,就是對產品的需求規划能力提出了更高的要求,必須有清晰的思路,很強的需求規划能力才行,這樣才能保證敏捷開發可以按照既定的設想去一步一步實現產品的設計。
敏捷開發是通過“用戶故事”這個東東來實現傳統軟件開發所說的需求的。
一、什么是用戶故事?
用戶故事就是定義用戶所需功能的文字描述,簡單說就是用戶的需求。一個好的用戶故事包括三個要素:
1. 角色:誰要使用這個功能。
2. 活動:需要完成什么樣的功能。
3. 商業價值:為什么需要這個功能,這個功能帶來什么樣的價值。
二、用戶故事的描述
建議采用兩種方式來進行用戶故事的描述,用戶可以任選一種:
- 作為<用戶角色>,我需要<功能>,以實現<業務價值>
- 為實現<業務價值>,作為<用戶角色>,我需要<功能>
舉例:
作為一個“網站管理員”,我想要“統計每天有多少人訪問了我的網站”,以便於“我的贊助商了解我的網站會給他們帶來什么收益。”
注意事項:
用戶故事不能夠使用技術語言來描述,要使用用戶可以理解的業務語言來描述。
三、用戶故事與任務、測試等對象的關聯
每個用戶故事與多個開發任務、變更、缺陷(Bug)、測試用例和測試歷史相關聯。
1、與任務的關聯
用戶故事通過任務來實現。 實際開發工作比用戶故事更瑣碎。 實際上,每個故事都是多項任務的集合。把故事分解成多個任務,安排到人,完成了所有的任務,就意味着實現了用戶故事。
2、與變更的關聯
敏捷開發就是鼓勵大家“擁抱變化”,每次用戶故事變更都做記錄,與相應的用戶故事相關聯,這樣方便整個團隊了解用戶故事的來龍去脈,減少重復勞動。
3、與測試用例的關聯
每個用戶故事開發完成需要進行測試,測試工程師應當為用戶故事編寫一個或多個測試用例。
4、與測試歷史的關聯
記錄用戶故事經歷了哪些測試,測試的結果和處理情況如何。
5、與缺陷(Bug)的關聯
記錄用戶故事發生的缺陷,查看缺陷的處理情況。
敏捷開發確實是好東東,但是國內由於長期受到傳統軟件開發思想的熏陶,中毒太深,大多數人仍然用模塊化的思維方式來考量需求,始終不能用“價值”來考量需求。
這篇就先寫到這里,下一篇繼續用戶故事的驗收標准和用戶故事編寫原則的撰寫,初學乍練歡迎大家前來拍磚。