敏捷開發是一種專注於軟體產品迭代與增量開發的方法論。它強調跨功能團隊之間的協作、持續反饋,以及在整個開發過程中靈活應對需求變更。敏捷開發中兩種常見的技術是使用者故事與使用者案例。在本全面指南中,我們將探討這兩種技術,並主張只要適當地使用,它們都適合敏捷開發。

使用者故事
使用者故事是從終端使用者的角度出發,對功能所做的簡短且簡單的描述。
它們通常遵循特定的範本:
「作為一名[使用者類型],我想要[某個目標]以便[某個原因].”
使用者故事是敏捷開發中的一項強大工具,因為它們幫助團隊專注於終端使用者的需求,並促進利益相關者之間的溝通與合作。
範例:假設我們的團隊正在開發一個新的電子商務平台。
一個使用者故事可能如下所示:
「作為一名購物者,我想要能夠根據價格範圍過濾搜尋結果以便我能夠找到符合我預算的產品.”
為什麼這是一個適合敏捷開發的選擇?
使用者故事是敏捷開發的絕佳選擇,因為它們輕量、容易撰寫,並能提供對需要建構內容的共識。它們也具有高度彈性,可在整個開發過程中輕易修改。這使得它們非常適合重視協作、持續反饋與適應性的敏捷團隊。
使用者案例
使用者案例是從參與者(通常是使用者或其他系統)的角度,對系統行為所做的詳細描述。它們通常由使用者為達成特定目標所採取的一系列步驟組成,並描述使用者與系統之間的互動。使用者案例是敏捷開發中不可或缺的工具,因為它們幫助團隊理解系統的行為,並在開發初期識別潛在問題。
範例:我們繼續以電子商務平台為例。
一個使用者案例可能如下所示:
「一位購物者在平台上搜尋商品。他們套用價格過濾條件,並依顧客評分排序結果。他們將商品加入購物車,並進入結帳流程。在審核訂單細節後,提交付款資訊並完成購買。」
為什麼這是一個適合敏捷開發的選擇?
使用者案例也是敏捷開發的絕佳選擇,因為它們提供了對系統應如何運作的詳細理解。它們幫助團隊在開發過程早期識別潛在問題,並確保系統滿足最終用戶的需求。它們對於測試和驗證也非常有用,這是敏捷開發中一個重要的方面。
對比使用者故事與使用者案例
雖然使用者故事和使用者案例都適合敏捷開發,但它們在多個方面有所不同。使用者故事輕量且著重於最終用戶的需求,而使用者案例則更為詳細,描述系統的行為。使用者故事通常用於捕捉高階需求,而使用者案例則用於描述用戶與系統之間的具體互動。
最終,選擇使用者故事還是使用者案例取決於專案的具體需求。當需求不清晰或可能變更時,使用者故事更為合適;而當需求明確且具體時,使用者案例則更為合適。實際上,許多團隊會同時使用這兩種技術,以確保對系統行為和最終用戶需求有完整的理解。
範例 – 線上雜貨店
使用者故事範例:「作為一位忙碌的母親,我希望能在應用程式中建立購物清單,以便輕鬆追蹤我需要購買的物品。我也希望能夠在清單中新增或移除物品,並在購物完成後標記物品為已購買。.”
在此使用者故事中,我們描述了一個符合最終用戶(忙碌的母親)需求的具體功能,並為他們帶來價值(輕鬆追蹤購物清單)。使用者故事從最終用戶的角度撰寫,並使用特定的範本以確保清晰與一致。
使用者案例範例:使用者希望在應用程式中建立新的購物清單。他們開啟應用程式並導航至購物清單功能。他們點擊「建立新清單」按鈕,並輸入清單名稱。接著,他們透過點擊「新增項目」按鈕並輸入項目名稱來開始添加項目。他們也可以指定數量或附加說明。當使用者添加完所有需要的項目後,可以儲存清單並稍後再回來查看。他們也可以在購買後標記項目為已購買。
在此使用者案例中,我們描述了一個使用者與應用程式購物清單功能互動的具體情境。我們描述了使用者為達成目標所採取的步驟,以及使用者與系統之間的互動。使用者案例比使用者故事更為詳細,並提供了對該功能應如何運作的完整理解。
使用者故事與使用者案例兩種方法對敏捷開發都有幫助。使用者故事提供了功能的高階概覽,並著重於最終用戶的需求,而使用者案例則提供了功能行為的更詳細描述。同時使用這兩種方法,可確保開發團隊對功能及最終用戶需求有完整的理解,這對於成功的敏捷開發至關重要。
透過三C法詳述使用者故事
以下是使用者故事範例可能的三C分析:
- 卡牌:「作為一位忙碌的母親,我希望能在應用程式中建立購物清單,以便輕鬆追蹤我需要購買的物品。我也希望能夠在清單中新增或移除物品,並在購物完成後標記物品為已購買。」
- 對話:
- 產品負責人:「你能告訴我為什麼你需要追蹤你的購物清單嗎?」
- 忙碌的母親:「當然,作為一位忙碌的母親,我必須確保去雜貨店時不會忘記任何東西。如果我能輕鬆地在手機上建立購物清單,並根據需要新增或移除項目,那會非常有幫助。」
- 產品負責人:「明白了。那麼,你覺得能夠標記項目為已購買有多重要?」
- 忙碌的母親:「這很重要,因為這樣我就能快速看出我已經買了什麼,還需要買什麼。」
- 確認:「作為一位忙碌的母親,我可以在應用程式中建立購物清單,新增或移除清單中的項目,並在購物完成後標記項目為已購買。」
透過使用案例描述詳述使用案例
以下是一個基於問題描述與使用者故事的使用案例描述範例:
使用案例名稱: 建立與管理購物清單
參與者:
- 使用者:希望在應用程式中建立與管理購物清單的人。
前置條件:
- 使用者已在行動裝置上下載並安裝該應用程式。
- 使用者擁有穩定的網路連接。
後置條件:
- 使用者已成功在應用程式中建立並管理購物清單。
事件流程:
- 使用者開啟應用程式並導航至購物清單功能。
- 應用程式顯示現有的購物清單清單,或提示使用者建立新的清單。
- 使用者點擊「建立新清單」按鈕。
- 應用程式提示使用者輸入新清單的名稱。
- 使用者輸入新清單的名稱並點擊「儲存」。
- 應用程式顯示使用者輸入名稱的空購物清單。
- 使用者點擊「新增項目」按鈕。
- 應用程式提示使用者輸入想要加入清單的項目名稱。
- 使用者輸入項目名稱並點擊「新增」。
- 應用程式在購物清單中顯示新項目。
- 使用者重複步驟 7 至 10,直到將所有需要的項目加入清單為止。
- 使用者可點擊項目旁的「移除項目」按鈕,將項目從清單中移除。
- 使用者可點擊項目旁的「標記為已購買」按鈕,將項目標記為已購買。
- 應用程式更新購物清單以反映使用者所做的任何變更。
- 使用者可隨時透過返回應用程式中的購物清單功能來檢視購物清單。
替代流程:
- 若使用者在步驟 5 取消建立新清單,應用程式將使用者返回至現有的購物清單清單,或再次提示使用者建立新清單。
- 若使用者在步驟 9 取消新增項目,應用程式將使用者返回購物清單,而不加入該項目。
使用者故事與使用案例的差異
該表格提供了使用者故事與使用案例之間差異的總結。使用者故事是簡短且簡單的描述,著重於使用者的目標與需求,而使用案例則提供系統行為與功能的詳細逐步描述。
| 使用者故事 | 使用案例 |
|---|---|
| 從使用者觀點出發的簡短、簡單功能描述。 | 使用者與系統互動方式的詳細逐步描述。 |
| 著重於使用者的目標與需求。 | 著重於系統行為與功能。 |
| 強調利益相關者之間的對話與合作。 | 強調採用更正式、結構化的方法。 |
| 通常以較為非正式、對話式的風格撰寫。 | 通常以更正式、技術性的風格撰寫。 |
| 通常用於捕捉高階需求與功能。 | 通常用於捕捉詳細的功能需求。 |
| 通常更容易且更快地撰寫與審查。 | 通常撰寫與審查所需時間較長。 |
摘要
本文探討在敏捷開發中使用使用者故事與使用案例的應用,主張兩種方法在適當地使用時均為合適。使用者故事是從使用者角度出發的簡短、簡單的功能描述,而使用案例則提供使用者與系統互動的詳細逐步描述。
以建立與管理購物清單為例,說明兩種方法如何應用。本文強調在撰寫有效使用者故事時,3C(卡片、對話、確認)的重要性,以及在撰寫有效使用案例時,參與者、前置條件與後置條件的重要性。整體而言,本文為軟體開發人員提供了在敏捷開發中有效運用使用者故事與使用案例的全面指南。
總之,當適當地使用時,使用者故事與使用案例都是敏捷開發中的寶貴工具。使用者故事輕量、易於撰寫且具彈性,非常適合需求不斷演變的專案。使用案例則詳細且能完整理解系統的行為,適合需求明確的專案。透過結合運用這兩種技術,敏捷團隊可確保對系統行為與目標有完整的理解。











