本文從「用戶故事」的概念、準(zhǔn)則、創(chuàng)建用戶故事地圖到建立用戶故事卡的方法無一不包,幫你完整掌握「用戶故事」這個知識點。
1. 什么是用戶故事?
- 迭代開發(fā)的一種工具;
- 代表了可開發(fā)的一個工作單元;
- 幫助我們跟蹤一個功能的生命周期。
2. 什么是用戶故事地圖?
- 一個有風(fēng)向的圖表;
- 橫軸為時間線,放置延時間線的用戶故事;
- 縱軸為優(yōu)先級,自上而下;
- 覆蓋所有用戶故事,表達(dá)需求全景。
3. 為什么使用用戶故事?
從設(shè)計賦能角度來講,用戶故事地圖可以幫助設(shè)計師從產(chǎn)品計劃層面,提升產(chǎn)品用戶體驗,避免沉入細(xì)節(jié)之中;找到一種落地產(chǎn)品思維的方法,即平衡用戶價值、產(chǎn)品價值、開發(fā)成本三者的關(guān)系;關(guān)注項目和產(chǎn)品,設(shè)計出落地、有效的產(chǎn)品方案,避免理想化。
從項目管理角度,用戶故事地圖可以解決以下問題:
- 只見樹木不見森林,重要內(nèi)容埋沒在細(xì)節(jié)中,難以排列優(yōu)先級;
- 無法看到版本貢獻(xiàn)功能的完整價值流;
- 無法方便的使用迭代方法跟蹤、優(yōu)化內(nèi)容,確定版本計劃和目標(biāo)。
從團隊協(xié)作角度,用戶故事可以降低溝通與達(dá)成共識的成本,將關(guān)注力更多集中在產(chǎn)品上。
4. 用戶故事簡述
- 作為一個(角色):誰要使用這個功能。
- 為想要(功能):需要完成什么樣的功能。
- 以便于(價值):為什么需要這個功能,帶來什么樣的價值(用戶價值和組織價值)。
構(gòu)建用戶故事地圖需要:時間線、用戶活動、用戶任務(wù)、用戶故事、故事地圖結(jié)構(gòu)。用于實現(xiàn)目標(biāo)的用戶功能 > 活動 > 任務(wù) > 史詩 > 故事。
- 將用戶要素從左向右拖動到地圖的頂行。地圖頂行中的每個功能都是呼叫用戶活動。
- 創(chuàng)建完成活動所需的許多步驟,稱為用戶任務(wù)。
- 這些用戶任務(wù)中的每一個都可以分解為多個史詩。
- 在史詩下,可以定義用戶故事列表,其大小適合放入 sprint。
1. 用戶故事的3C原則
3C 原則是由 Ron Jeffries 提出的,它包括三個部分:
- Card 卡片,用來簡要描述軟件特性或改進(jìn)點;
- 描述的內(nèi)容簡潔、詞匯含義統(tǒng)一,項目成員不會對同一內(nèi)容有差異性理解;
- 這些卡片用于后續(xù)的溝通、對需求內(nèi)容的組織和排列優(yōu)先級。
Conversation 交談 ,與 Product Owner(或客戶)交談來明確細(xì)節(jié)。
- 卡片的內(nèi)容是由團隊在溝通中獲得,而非由同一個人輸出或更新的,不然它與傳統(tǒng)的需求分析方法無異;
- 項目成員需要一起就卡片內(nèi)容進(jìn)行討論。在復(fù)雜邏輯中,梳理出清晰的需求脈絡(luò),并在這一過程中,達(dá)到共識和理解的統(tǒng)一。
Confirmation 確認(rèn),每個故事應(yīng)具有驗收標(biāo)準(zhǔn)(驗收條件),能夠確認(rèn)被正確完成。
- 以始為終,先行確認(rèn)以怎樣的結(jié)果,來判斷開發(fā)任務(wù)的完成;
- 它保證每個故事都是獨立的、完整的邏輯,可以單獨交付;
- 它為驅(qū)動測試驅(qū)動開發(fā)、行為驅(qū)動開發(fā)和持續(xù)集成提供可能。
2. 用戶故事原則
- I 獨立的(Idependent):獨立且完整,不依賴于其他任何用戶故事;
- N 可談判的(Negotiable):引導(dǎo)團隊跟干系人之間對話和談判的介質(zhì)。在任何時候,用戶故事都可以被改寫甚至丟棄。一個用戶故事不會像石頭一樣固定不變,直到它將要在接下來的 Sprint 里被實現(xiàn);
- V 有價值的(Valuable):需要將價值給干系人,不論是最終用戶還是采購者;
- E 可估算的(Estimable):團隊需要能夠粗略地估算出完成用戶故事所需工作量規(guī)模;
- S 小規(guī)模的(Small):以一個大的「占位符」開始其生命周期。隨著時間的推移,當(dāng)人們對用戶故事所表達(dá)的愿望的復(fù)雜度更加了解時,這個較大的「占位符」就將被拆分成小的用戶故事。當(dāng)最重要的那些用戶故事將進(jìn)入 Sprint 被實現(xiàn)并交付時,它們需要變得足夠小,這樣才能在一個 Sprint 里被完成。
- T 可測試的(Testable)):一個用戶故事必須提供必要的信息,清楚地界定了故事的驗收標(biāo)準(zhǔn),這樣才能在它完成時判斷是否驗收。
用戶故事地圖是一個用于需求收集的 4 級層次結(jié)構(gòu)。故事地圖從不同來源(即積壓)收集的用戶特征集合開始,這些用戶特征將通過執(zhí)行某些任務(wù)作為活動來實現(xiàn)。這些任務(wù)可以轉(zhuǎn)換為史詩后,轉(zhuǎn)換為軟件開發(fā)的用戶故事。
1. 產(chǎn)品定義
一般是在故事編寫工作坊準(zhǔn)備階段,首先由 PD 主導(dǎo)產(chǎn)出,主要有幾點內(nèi)容:
- 產(chǎn)品的目標(biāo)用戶
- 解決了哪些問題
- 用戶目標(biāo)
- 產(chǎn)品目標(biāo)
2. 梳理骨干故事
寫出不同顆粒度的故事,需要設(shè)計師把控故事的大小,這段故事可以再往下梳理一層顆粒度更小一點的故事。這樣骨干故事就有兩層,一級故事和二級故事,故事的發(fā)生從左至右是一個敘事流。
3. 拆分故事
在剛剛梳理的每一個二級故事下面做停留,去拆分二級故事獲取更多細(xì)節(jié)內(nèi)容。項目組會圍繞這個故事寫出很多細(xì)節(jié)來。按照以下幾個維度對細(xì)節(jié)進(jìn)行歸類,分別是:故事細(xì)節(jié)、想法、痛點、機會、情緒。其中情緒可以通過固定的問題獲得,也可以通過用戶想法、用戶的痛點結(jié)合主觀判斷。
4. 溝通確認(rèn)
這里我們的故事已經(jīng)變得很豐滿,甚至變得臃腫,所以溝通確認(rèn)變得極為重要。我們在這步需要花費相對多的時間,大家對內(nèi)容進(jìn)行對標(biāo)、充足討論,把公認(rèn)的留下來,無用的剔除掉。同時可以區(qū)分要做的故事細(xì)節(jié)的優(yōu)先級。
卡與迭代的關(guān)系:
- 卡是迭代開發(fā)的一個工具;
- 卡代表了一個可以的工作單位;
- 幫助我們跟蹤一個功能的生命周期。
管理卡片:
- 估計工時
- 分配工作
- 追蹤進(jìn)度
如何使用?
- 書寫故事卡;
- 將卡放在墻內(nèi)(物理墻/數(shù)字墻);
- 領(lǐng)卡需要與 QA/BA 澄清需求(一人不能有兩張正在做的卡);
- 故事卡完成后需要做 Desck Check(block里的卡片要盡快消滅)。
IPM:Iteration Plan Meeting,迭代計劃會議主要是跟客戶保持溝通與信息更新的會議。
- 下一個迭代的 Story;
- 對下一個迭代的期望;
- 團隊的人員可用性;
- 風(fēng)險的評估總結(jié)。
敏捷宣言里面有一條:客戶協(xié)作優(yōu)于合同談判。在 Scrum 團隊中有一個角色叫做產(chǎn)品負(fù)責(zé)人,他的核心職責(zé)是確保業(yè)務(wù)需求的清晰和透明,保證開發(fā)團隊對業(yè)務(wù)有足夠的了解,并將這些待完成的業(yè)務(wù)需求(Story)按照優(yōu)先級排列出來,按照任務(wù)卡的方式來驅(qū)動團隊的開發(fā)。
IPM 的主要產(chǎn)出是下一個迭代中完成的 Story,這些 Story 即為下一個 Story 要完成的目標(biāo),通過敏捷看板工具來管理它們。
Sprint:業(yè)務(wù)流,Sprint1,Sprint2,Sprint3-N,已交付的故事。業(yè)務(wù)流就是史詩故事,每個史詩故事一個泳道。Sprint1,Sprint2,Sprint3-N 里面是不同史詩故事拆分出來的用戶故事,并且根據(jù)優(yōu)先級放到了不同的 Sprint 里面,橫向的泳道代表的是史詩故事和史詩故事拆分的子故事的對應(yīng)關(guān)系。
burn down chart:燃盡圖,一個sprint 內(nèi),人/時是一個比較固定的值。在這個時間框架充分安排開發(fā)任務(wù),每天進(jìn)行時間結(jié)算,繪制時間燃盡圖。項目成員通過燃盡圖獲知時間進(jìn)展,若項目燃盡所用時間與預(yù)期時間契合,則需求時間預(yù)估和安排合理,若不契合則需要在下一個 sprint 進(jìn)行調(diào)整。
Retro(回顧):即 retrospective 的簡寫,團隊針對目前狀態(tài)總結(jié),目的為保持好的方面及加強,做的欠佳的方面一起討論改進(jìn)措施,并盡力落實。在實踐中摸索出適合團隊的最佳實踐,引導(dǎo)團隊和個人不斷自我完善,追求卓越。
- 確認(rèn)構(gòu)建安全的環(huán)境;
- 建立幾項總結(jié)指標(biāo)(well,less well,suggestion,action)前三項列出看法,第四項針對前三總結(jié);
- 一個點寫在一張便利貼,分欄貼上墻;
- 將同一類的問題歸納起來,總結(jié)出相應(yīng)的解決措施;
- Iteration 欄中的 sticker 指派并落實。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。