用戶故事地圖
[TOC]
一帜消、前言
??本文是我在閱讀Jeff Patton所著的《用戶故事地圖》(User Story Mapping)一書后的感悟和理解的整理。
二绝骚、用戶故事
??用戶故事描述了對(duì)用戶胞皱、系統(tǒng)或軟件購(gòu)買者有價(jià)值的功能舌界。一個(gè)好的用戶故事包括三個(gè)要素:
- 角色:誰要使用這個(gè)功能。
- 功能:需要完成什么樣的功能库北。
- 價(jià)值:為什么需要這個(gè)功能爬舰,這個(gè)功能帶來什么樣的價(jià)值。
??用戶故事通常如此表達(dá):作為一個(gè)<角色>, 我想要<功能>, 以便于<商業(yè)價(jià)值>
??需要注意的是寒瓦,用戶故事不是另一種寫需求的方式情屹,講述用戶故事,在過程中用文字和圖片相結(jié)合的方式輔助討論杂腰,是一種建立共識(shí)的機(jī)制垃你;用戶故事也不是需求,用戶故事是關(guān)于問題解決方案的討論喂很,解決公司的問題惜颇,解決客戶的問題,解決用戶的問題少辣,目的是我們對(duì)要開發(fā)的功能達(dá)成共識(shí)凌摄。
三、為什么要使用用戶故事地圖
??使用故事地圖來組織用戶故事漓帅,是為了保持對(duì)產(chǎn)品全景圖的理解锨亏,避免只見樹木,不見森林忙干。
??通常使用用戶故事的方法是先組織需求故事列表器予,排列優(yōu)先級(jí),討論故事捐迫,然后逐個(gè)進(jìn)行開發(fā)乾翔。這聽起來似乎非常合理,實(shí)際上卻會(huì)造成嚴(yán)重的問題:
- 容易聚焦于開發(fā)什么功能施戴,而忽略了期望達(dá)成的業(yè)務(wù)成果反浓;
- 優(yōu)先級(jí)排序是基于用戶故事的一維、線性的赞哗,忽略了不同種類的用戶也應(yīng)該按優(yōu)先級(jí)排序勾习;
- 未經(jīng)組織的用戶故事,難以闡明用戶故事的順序懈玻、不同順序可能的分支、不同故事之間可能的替換關(guān)系,因此團(tuán)隊(duì)成員難以對(duì)產(chǎn)品全景圖達(dá)成完整涂乌、一致的共識(shí)艺栈;
- 容易過早地陷入各種細(xì)節(jié)上的爭(zhēng)論,而未聚焦于故事的整體湾盒。
??用戶故事地圖是一個(gè)模式湿右,通過組織用戶故事,使團(tuán)隊(duì)對(duì)整個(gè)產(chǎn)品或整個(gè)特性達(dá)成共識(shí)罚勾,將大的用戶故事進(jìn)一步拆分毅人。
四、計(jì)劃
1.為了更少的開發(fā)
??想要開發(fā)的功能尖殃,總是超出你能投入開發(fā)的資源丈莺,所以必須通過計(jì)劃決定做什么以及不做什么。判斷系統(tǒng)內(nèi)某功能做與不做送丰,應(yīng)該以系統(tǒng)外的預(yù)期成果為標(biāo)準(zhǔn)缔俄。每一個(gè)發(fā)布發(fā)布計(jì)劃,也都應(yīng)該以產(chǎn)品發(fā)布后用戶能夠使用和感知的東西器躏,即成果為導(dǎo)向俐载。
??用戶故事地圖聚焦的正是用戶能使用和感知的東西,即成果登失,而非某具體功能遏佣。
??使用用戶故事地圖能帶來的主要收益之一,是能夠有一個(gè)空間充分思考各類可行方案揽浙,從而找到一條可以最大化投入產(chǎn)出的路子状婶。
2.為了更快的學(xué)習(xí)
??與《精益創(chuàng)業(yè)》中的觀點(diǎn)類似,我們應(yīng)該通過最小可行產(chǎn)品實(shí)驗(yàn)實(shí)驗(yàn)捏萍,快速獲得經(jīng)證實(shí)的認(rèn)知太抓,并迭代開發(fā)直至可行。
??使用故事地圖來劃分出可行產(chǎn)品更小的發(fā)布令杈,用它來支撐最小可行產(chǎn)品實(shí)驗(yàn)走敌,以迭代方式發(fā)現(xiàn)什么才是真正的可行。
3.為了按時(shí)發(fā)布
??為了開發(fā)新特性逗噩,需要團(tuán)隊(duì)所有成員達(dá)成一致的理解掉丽。團(tuán)隊(duì)成員需要能夠指出設(shè)計(jì)方案中的問題和改進(jìn)點(diǎn),并對(duì)需要投入多少開發(fā)時(shí)間迸行估計(jì)异雁。這才是構(gòu)建故事地圖的最終目的捶障。畢竟,最靠譜的估算纲刀,來自于真正理解自己在估算什么的工程師项炼。
五、如何創(chuàng)建故事地圖
1.分步驟寫出故事
??每個(gè)步驟都是一個(gè)用戶任務(wù),以動(dòng)詞開頭锭部。同時(shí)要注意暂论,不同用戶在使用軟件時(shí),有不同的目的拌禾;用戶也會(huì)在不同情況下使用軟件取胎,有時(shí)還必須考慮其他人和事情的影響。
??使用目標(biāo)層級(jí)的概念湃窍,可以幫助匯總小任務(wù)或分解大任務(wù)闻蛀。
2.組織情節(jié)
??以從左到右的順序組織卡片(用戶故事),每個(gè)故事之間用“然后您市,我這樣做”連接觉痛,形成敘事流。這是人們講故事最自然的方式墨坚。
??通過敘事流來組織故事秧饮,發(fā)現(xiàn)并補(bǔ)充之前遺漏的細(xì)節(jié)。
3.探索替代故事
??用戶執(zhí)行任務(wù)的順序往往不會(huì)一成不變泽篮,敘事流也不會(huì)只是一條線往下發(fā)展盗尸。對(duì)于每個(gè)用戶故事,如果有不同的執(zhí)行方式帽撑,就形成一個(gè)替代故事泼各,敘事流中也從此處衍生出一個(gè)分支。
??細(xì)節(jié)亏拉、替代扣蜻、變化和異常,構(gòu)成故事地圖的主體及塘。
4.提取主干
??部分用戶故事高度相關(guān)莽使,需要放到一起,對(duì)這些用戶故事提煉出更高目標(biāo)層級(jí)的任務(wù)笙僚,即“活動(dòng)”芳肌。活動(dòng)由一群相似的人在相似時(shí)間完成的任務(wù)組成肋层。
5.切分出能達(dá)成特定目標(biāo)的任務(wù)
??按照特定目標(biāo)亿笤,將故事地圖水平切分。對(duì)每一個(gè)目標(biāo)(通常也是一個(gè)迭代)栋猖,水平切分中的從左到右的任務(wù)净薛,就是為了達(dá)成此目標(biāo)所需要完成的全部任務(wù)。與此目標(biāo)不相關(guān)的任務(wù)不會(huì)出現(xiàn)在此切分中蒲拉。