如何对一个产品编写完整的用户故事?
用戶故事是敏捷項(xiàng)目管理的核心實(shí)踐之一,除了定義、表達(dá)“公式”,本文將給大家分享用戶故事的價(jià)值,比如用戶故事在非技術(shù)的角度告知研發(fā)團(tuán)隊(duì)需求背景是什么,讓研發(fā)團(tuán)隊(duì)更輕松的了解用戶需求場景、目的、功能預(yù)期和實(shí)現(xiàn)價(jià)值。
用戶故事從終端用戶的角度概述他們想要實(shí)現(xiàn)的功能,其目的是為了闡明這個(gè)功能要給客戶提供的價(jià)值。
我們很容易把用戶故事簡單地認(rèn)為是軟件需求,但它并不等同于軟件需求。 敏捷開發(fā)的一個(gè)核心理念是以人為本,而用戶故事正是以用戶為中心的。用戶故事站在非技術(shù)的角度告知研發(fā)團(tuán)隊(duì)需求背景是什么,讓研發(fā)團(tuán)隊(duì)更輕松的了解用戶需求場景、目的、功能預(yù)期和實(shí)現(xiàn)價(jià)值。
用戶故事是敏捷項(xiàng)目管理的核心實(shí)踐之一,它可以幫助研發(fā)團(tuán)隊(duì)在日常工作中培養(yǎng)以用戶為中心的意識,提高團(tuán)隊(duì)協(xié)作性和創(chuàng)造性,從而打造出更好的產(chǎn)品。
一、什么是敏捷用戶故事
用戶故事是敏捷開發(fā)中最小的工作單元,它代指的不僅僅是一個(gè)功能,而是從用戶角度闡述的一個(gè)產(chǎn)品目標(biāo)。它站在用戶的角度以通俗易懂的方式描述了軟件功能。
用戶故事的目的是闡明一個(gè)軟件功能要傳達(dá)給客戶的特定價(jià)值。需要注意的是,“客戶”不一定是外部用戶,他們還可以是公司內(nèi)部員工。
在經(jīng)過團(tuán)隊(duì)評審達(dá)成一致之前,用戶故事通常是簡單的幾句話,概述了用戶需求的預(yù)期結(jié)果。一旦研發(fā)團(tuán)隊(duì)把用戶故事加入排期之后,就會補(bǔ)充該用戶故事相關(guān)的需求。
用戶故事非常適合敏捷方法,比如 Scrum 和 Kanban 。在 Scrum 敏捷項(xiàng)目中,用戶故事會被添加到迭代(Sprint)中,并在迭代中實(shí)現(xiàn)。而在 Kanban 中,用戶故事會被放入看板的待辦欄中,并隨著 Kanban 團(tuán)隊(duì)工作流進(jìn)行流動、完成。
用戶故事的工作模式可以幫助 Scrum 團(tuán)隊(duì)更好地進(jìn)行工作量評估并完成迭代計(jì)劃,提高團(tuán)隊(duì)目標(biāo)預(yù)估的準(zhǔn)確性和團(tuán)隊(duì)工作的敏捷度。而在 kanban 模式下,則可以幫助團(tuán)隊(duì)了解怎樣管理在制品,并進(jìn)一步完善工作流程。
用戶故事也是更大的敏捷框架(史詩和特性)的組成單元。特性是由多個(gè)用戶故事組成的功能模塊,而多個(gè)特性構(gòu)成了史詩。這些更大的框架有助于確保研發(fā)團(tuán)日常工作是朝著正常的目標(biāo)前進(jìn)。
?
二、用戶故事能帶來哪些優(yōu)勢
對于剛接觸敏捷的開發(fā)團(tuán)隊(duì)來說,用戶故事有時(shí)似乎是一個(gè)額外的步驟:為什么不直接將項(xiàng)目級工作(史詩)分解為一系列步驟來執(zhí)行呢?這是因?yàn)橛脩艄适驴梢詾閳F(tuán)隊(duì)提供了重要的背景,并將任務(wù)與這些任務(wù)帶來的價(jià)值聯(lián)系起來。
用戶故事具有許多優(yōu)勢:
用戶故事以用戶為中心:待辦任務(wù)列表讓團(tuán)隊(duì)專注于需要完成的任務(wù),但用戶故事可以讓團(tuán)隊(duì)專注于用戶真正想解決的問題;
用戶故事促進(jìn)團(tuán)隊(duì)協(xié)作:定義最終目標(biāo)后,團(tuán)隊(duì)可以共同決定如何最好地為用戶提供服務(wù)并實(shí)現(xiàn)該目標(biāo);
用戶故事讓解決方案更具創(chuàng)新性:用戶故事鼓勵(lì)團(tuán)隊(duì)批判性和創(chuàng)造性地思考如何最好地實(shí)現(xiàn)最終目標(biāo)。
用戶故事讓團(tuán)隊(duì)更有動力: 每完成一個(gè)用戶故事,開發(fā)團(tuán)隊(duì)都會享受到攻克一個(gè)小挑戰(zhàn)帶來的勝利,從而更有動力。
三、如何使用用戶故事
用戶故事一般由產(chǎn)品負(fù)責(zé)人(Product Owner)、產(chǎn)品經(jīng)理或項(xiàng)目經(jīng)理撰寫和審核,撰寫完成后將進(jìn)入團(tuán)隊(duì)的研發(fā)流程當(dāng)中。
在迭代前期或迭代計(jì)劃會議期間,團(tuán)隊(duì)要確定本次迭代要完成哪些用戶故事,并討論每個(gè)用戶故事場景下的需求和功能。團(tuán)隊(duì)在為每個(gè)用戶故事構(gòu)建解決方案過程中將激發(fā)成員的創(chuàng)意以及學(xué)習(xí)到其他技術(shù)。當(dāng)研發(fā)團(tuán)隊(duì)對用戶故事的實(shí)現(xiàn)方案達(dá)成一致,就會在用戶故事中補(bǔ)充功能實(shí)現(xiàn)相關(guān)的需求描述。
迭代計(jì)劃會議的另一個(gè)常見事項(xiàng)是根據(jù)用戶故事的復(fù)雜度或完成時(shí)間進(jìn)行工作量評估。研發(fā)團(tuán)隊(duì)一般使用 T 恤尺寸、斐波那契數(shù)列或規(guī)劃撲克牌的方法來估算合適的故事點(diǎn)。用戶故事應(yīng)該被分解成能在一個(gè)迭代中完成的大小,因此當(dāng)團(tuán)隊(duì)估算每個(gè)故事時(shí),他們要確保分解將超過該完成范圍的故事。
四、如何編寫用戶故事
在編寫用戶故事時(shí)需要考慮以下幾點(diǎn):
-
“完成”的定義——當(dāng)概述完一個(gè)用戶故事后,一定要定義其完成的標(biāo)準(zhǔn)是什么。
-
概述子任務(wù)或任務(wù)——確定需要完成哪些特定步驟以及每個(gè)步驟的負(fù)責(zé)人。
-
用戶角色——用戶是誰?如果有多個(gè)用戶,則需要考慮編寫多個(gè)用戶故事。
-
有序步驟——給大規(guī)模流程的每一個(gè)步驟寫用戶故事。
-
傾聽用戶聲音——與您的用戶交談并從他們的角度來描述問題和需求。當(dāng)能夠從客戶那里獲取用戶故事時(shí),就不用猜測客戶需求了。
-
時(shí)間——時(shí)間是一個(gè)敏感的話題。許多研發(fā)團(tuán)隊(duì)在評估時(shí)會忽略用戶故事的實(shí)際完成時(shí)間,只依靠過往的估算經(jīng)驗(yàn)來評估。用戶故事應(yīng)當(dāng)在一個(gè)迭代中完成,因此應(yīng)該把那些數(shù)周或數(shù)月才能完成的用戶故事拆分成更小的用戶故事,或者應(yīng)該把它們上升為特性層級。
一旦明確定義了用戶故事,請確保團(tuán)隊(duì)所有人都能看到它們的進(jìn)度。
五、用戶故事模板和示例
用戶故事通常用一個(gè)簡單的句子來表達(dá),結(jié)構(gòu)如下:
“作為一個(gè)[XX角色],我[想要什么],[以便達(dá)到什么目的]。”
結(jié)構(gòu)分解如下:
-
“作為[XX角色]”:我們是為誰實(shí)現(xiàn)這個(gè)需求?我們不僅要知道用戶的職稱,還要了解用戶角色的特點(diǎn)。研發(fā)團(tuán)隊(duì)?wèi)?yīng)該對用戶角色有一個(gè)共同的理解。團(tuán)隊(duì)?wèi)?yīng)該盡可能多地采訪目標(biāo)用戶,了解他們的工作方式、想法和使用感受,對用戶要有同理心。
-
“想要什么”:這里我們描述的是用戶的意圖——而不是他們想使用的功能。用戶本質(zhì)上想達(dá)到什么目的?這個(gè)描述不用體現(xiàn)功能的實(shí)現(xiàn)——如果你描述的是軟件功能而不是用戶目標(biāo),就沒有抓住重點(diǎn)了。
-
“以便達(dá)到什么目的”:用戶期望做的這件事符合他們的規(guī)劃嗎?他們想實(shí)現(xiàn)的整體效果是什么?需要解決的本質(zhì)問題是什么?
例如,用戶故事的結(jié)構(gòu)可以參考下方:
-
作為小凱,我想邀請我的朋友,以便一起體驗(yàn)這項(xiàng)服務(wù)。
-
作為老王,我想整理我的所有工作,以便我對工作更有掌控感。
-
作為項(xiàng)目經(jīng)理,我希望能夠了解項(xiàng)目成員的工作進(jìn)展,以便更好地匯報(bào)我們的成果和不足。
這些表達(dá)不是固定的,但是有助于定義用戶故事的完成標(biāo)準(zhǔn)。當(dāng)用戶可以精準(zhǔn)表達(dá)他想要實(shí)現(xiàn)的價(jià)值時(shí),一個(gè)用戶故事就誕生了。我們鼓勵(lì)研發(fā)團(tuán)隊(duì)根據(jù)自身情況規(guī)范用戶故事的表達(dá)結(jié)構(gòu)并在工作中堅(jiān)持實(shí)踐。
六、敏捷用戶故事入門
用戶故事解釋了開發(fā)團(tuán)隊(duì)成員日常工作的目的和內(nèi)容,表達(dá)結(jié)構(gòu)通常為“角色 + 需求 + 目的”。讓團(tuán)隊(duì)了解他們交付內(nèi)容的來源用戶及其真實(shí)目的,可以很大程度上促進(jìn)研發(fā)流程的進(jìn)展。
可以從下次評估大規(guī)模的特性項(xiàng)目(Feature)開始,嘗試把特性拆分為一個(gè)個(gè)具體的用戶故事,由研發(fā)團(tuán)隊(duì)共同協(xié)作優(yōu)化。當(dāng)把用戶故事同步給團(tuán)隊(duì)所有成員后,研發(fā)團(tuán)隊(duì)就可以開始工作了。
這里推薦使用 PingCode 研發(fā)管理工具,內(nèi)置標(biāo)準(zhǔn)的用戶故事工作模板,更支持特性、史詩、缺陷、任務(wù)等各種工作類型,幫助您的團(tuán)隊(duì)快速開啟敏捷研發(fā)。
延伸閱讀:
Scrum 開發(fā)指南:?Scrum 框架詳解? | ?Scrum 四個(gè)會議及正確召開方式?| ?正確的計(jì)劃和執(zhí)行Sprint的方式?| ?做好迭代計(jì)劃的4大關(guān)鍵點(diǎn)?| ?做好這4點(diǎn)讓每日站會更適配敏捷團(tuán)隊(duì)? | ?開好迭代評審會的3個(gè)關(guān)鍵步驟? | ?為什么要召開迭代回顧會? |?Scrum 3大角色及其崗位的具體職責(zé)? | ?Scrum三大工件在敏捷開發(fā)中的作用? | ?2022年14個(gè)最佳 Scrum 敏捷項(xiàng)目管理軟件? | ?更多?
Kanban 敏捷指南:?使用看板(Kanban)管理方法的5大好處? | ?看板 VS Scrum:如何選擇??| ?看板和 Scrum 的混合模式適合在哪些場景使用? | ?更多?
規(guī)?;艚?#xff1a;?規(guī)?;艚莸膬r(jià)值及五大規(guī)模化敏捷框架? | ?規(guī)?;艚葜?Spotify 模型? | ?規(guī)?;艚菘蚣苤甃eSS框架? | ?SAFe 規(guī)?;艚菘蚣? | ?Scrum@Scale 模型? | ?敏捷項(xiàng)目組合管理? | ?OKR與敏捷開發(fā)? |?更多?
?
總結(jié)
以上是生活随笔為你收集整理的如何对一个产品编写完整的用户故事?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【BZOJ - 2144】跳跳棋
- 下一篇: 网页无插件播放265/264视频/监控大