iT邦幫忙

1

編寫有效的用戶故事 (user stories)

  • 分享至 

  • xImage
  •  

如何編寫有效的用戶故事?

用戶故事是一種捕捉早期需求的強大技術。用戶故事捕捉了需求的 WHO、WHAT 和 WHY,這讓每個人都能更容易地儘早達成共識。然而,像其他需求一樣編寫用戶故事需要了解一個好的用戶故事的特徵是什麼。

那麼,我們如何才能寫出有效的用戶故事呢?在開始之前,讓我們先了解用戶故事的基礎知識。

什麼是用戶故事?

用戶故事是一種從外部用戶角度表示軟件系統的功能或用戶需求的流行格式。該格式包含三個關鍵元素,如下所示:
作為 <用戶角色>
我想要 <做某事>
以便我可以 <實現某個目標>

用戶角色代表一種用戶類型(而不是單個用戶)。需求是從這個用戶角色的角度提出的—— **<做某事>。**用戶故事的第三部分是行動的目的。

用戶故事不僅代表系統功能/要求,還解釋了為什麼要這樣做?

用戶故事示例

讓我們舉一個簡單的例子來更好地理解用戶故事的基礎知識。一位客戶希望獲得一個用於預訂機票的旅行門戶。此門戶的要求之一是為商務旅客搜索機票。此案例的用戶故事可以如下所示:

作為 <用戶>,
我想 <根據我的日程安排搜索機票>
這樣我就可以 <這樣我就可以參加商務會議>

用戶故事的好處是每個利益相關者(客戶和開發人員)都對需求有一個完整的了解。

用戶故事示例

讓我們舉一個簡單的例子來更好地理解用戶故事的基礎知識。一位客戶希望獲得一個用於預訂機票的旅行門戶。此門戶的要求之一是為商務旅客搜索機票。此案例的用戶故事可以如下所示:

作為 <用戶>,
我想 <根據我的日程安排搜索機票>
這樣我就可以 <這樣我就可以參加商務會議>

用戶故事的好處是每個利益相關者(客戶和開發人員)都對需求有一個完整的了解。

編寫好的用戶故事

好的用戶故事有哪些特點?編寫好的用戶故事對於項目的成功至關重要。INVEST 代表了一個好的用戶故事的特徵,如下所述:

  • I ndependent -用戶故事應該是盡可能獨立。
  • N egotiable 協商——用戶故事不是合同。它們不是詳細的規格。它們提醒團隊在開發時討論和協作以澄清細節的功能。
  • V aluable -用戶故事應該是溶液的用戶(或擁有者)是有價值的。它們應該用用戶語言編寫。它們應該是功能,而不是任務。
  • E stimable – 用戶故事需要可以估計。他們需要提供足夠的信息來進行估算,但不能太詳細。
  • S small – 用戶故事應該很小。不會太小。但不要太大。
  • T estable - 測試——用戶故事需要以可測試的方式表述,即不要太主觀,並提供關於如何測試用戶故事的清晰細節。

除了 INVEST 原則,在編寫用戶故事時還應該考慮一些重要的點:

  • 在編寫用戶故事時,需求不會很明確。建議捕獲與需求/用戶故事相關的所有假設和約束。這些假設為管理風險提供了基礎。
  • 確保用戶故事寫得清楚,沒有歧義。一個非常著名的例子是雙周刊一詞的使用。許多人將其視為 15 天一次,而其他人可能認為這是一周兩次。
  • 使用雙方同意的用戶故事格式,因為沒有標準的用戶故事格式,這可能會導致混淆。
  • 明確提及驗收標準。驗收標準有助於定義完成嗎?完成定義有助於確定用戶故事何時完成
  • 始終建議不斷完善產品待辦事項。這將確保新的用戶故事被添加到列表中,並且低優先級的故事可能會得到足夠的關注。

主題 vs 史詩 vs 用戶故事 vs 任務

產品通常由數百個需求描述,這些需求組織在產品待辦事項列表中。主題或史詩無法在一個 sprint 中完成,因此它們被分解為更多的用戶故事,然後是一組相關的任務。史詩然後以發行版的形式交付。但即使是來自不同史詩的小用戶故事也可以有一些共同點。這樣一組用戶故事稱為主題。

產品待辦列表項的粒度

您是否曾經對敏捷開發中的主題(或功能)或史詩等術語的使用感到困惑?新人可能不知道有什麼區別,甚至會導致錯誤。

Scrum 沒有“故事”、“史詩”等。Scrum 有產品待辦列表項 (PBI),它們通常按優先級排序、拆分和細化為史詩、用戶故事、技術任務、峰值和錯誤。待辦事項整理過程中的時間方式。

主題/用戶功能 (Theme and User feature)

主題提供了一種方便的方式來表明一組相關的史詩具有一些共同點,例如位於同一功能區域。通過為主題分配財務價值,管理人員可以確保交付最高價值,並且項目/計劃與其目標和組織的戰略方向保持一致。

史詩 (Epic)

Epic 可用作大型需求的佔位符。它可能不適合衝刺,應該分解成故事。史詩通常在最初的產品路線圖中定義,並隨著了解的更多而分解為產品待辦列表中的故事,通常以用戶故事格式編寫。史詩中分解的故事具有共同的目標和特定的結果或高級用戶需求或某人使用服務的旅程或過程的一部分。

用戶故事 (User Story)

用戶故事是敏捷中用戶功能的最小單位,可以在一個敏捷衝刺中交付。它們通常使用故事點進行估計,並使用 INVEST 標准進行定義。用戶故事應該向客戶提供一個垂直的功能切片,這些功能在迭代結束時是有價值的和完整的。用戶故事必須為用戶提供特定的價值,並且必須可以用簡單的語言描述,概述所需的結果。

任務 (Task)

任務是故事的分解部分,涉及故事將如何完成。如果需要,可以估計任務時間。任務通常由從事工作的人員(開發人員、QA 等)定義,而故事和史詩通常由客戶或產品所有者代表客戶創建。因此,任務不再需要業務用戶可以理解,因此可以是高度技術性的。將故事分解為任務的過程也有助於開發團隊更好地了解需要完成的工作。

產品待辦列表結構

使用 Story Map 組織您的產品待辦事項列表

通過 Jeff Patton 和其他人的努力,用戶故事地圖正在成為一種流行的用戶故事管理技術。用戶故事工具允許您通過將用戶需求細分為用戶活動、用戶任務、史詩和用戶故事,為產品待辦事項建立多個級別和維度。通常,敏捷開發團隊在協作會議中使用故事地圖來確定最終用戶想要實現的預期結果。

靈活的結構複雜或簡單的項目

Visual Paradigm 的故事地圖支持 3 或 4 級層次結構 的需求收集,適用於復雜、中等或簡單的項目。故事地圖從從不同來源(即用例、BPMN、WBS 甚至思維導圖)接收到的用戶特徵的集合開始進入故事地圖的待辦事項,這些用戶特徵將被實現為用戶活動並成為相關的行走骨架(用戶任務)。這些任務可以進一步分解為史詩,然後是軟件開發的用戶故事。

中型項目的三層故事地圖

3 級故事地圖涉及三個部分:活動 > 任務 > 故事(默認)

3級用戶故事地圖

更複雜項目的 4 級故事地圖

4級故事地圖將史詩添加到3級地圖中:活動>任務>史詩>故事(可配置為)

4層用戶故事地圖



圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言