過去幾十年來,軟體開發方法論迅速演進,從繁重的前期瀑布式文件,轉向輕量級、迭代式的敏捷實踐。長久以來,傳統的「使用案例」——物件導向軟體工程的基石——被認為與現代敏捷框架如 Scrum 和 Kanban 不相容。它經常被批評過於以文件為中心且速度緩慢。
進入Use-Case 2.0。由 Ivar Jacobson、Ian Spence 和 Brian Kerr 提出,這個現代框架重新定義了經典使用案例,使其輕量、可擴展且多功能。其設計目的在於彌合使用案例的結構性優勢與敏捷開發的彈性之間的差距。
Use-Case 2.0 是使用案例方法的現代演進,專門為解決傳統需求收集的限制而設計。與其前身不同,後者通常在程式碼開始前需要極其詳細的內容,Use-Case 2.0 則著重於核心要素、迭代交付與垂直切片。
此框架的核心創新在於能夠將使用案例分解為更小、可管理的單元,稱為使用案例切片。這使得團隊能在維持系統架構「整體視野」的同時,以符合 Scrum、SAFe 和有紀律的敏捷實踐的小型、衝刺規模增量,持續交付價值。
Use-Case 2.0 建立在六項指導原則之上,確保流程保持精簡且以價值為導向:
要理解 Use-Case 2.0 如何融入敏捷開發,必須先理解其構件。該框架將過去繁重的文檔簡化為三個主要組件。
用例仍然描述了參與者(使用者)與系統之間以目標為導向的互動。然而,在 2.0 版本中,它並不會一開始就完全詳細說明。它從名稱、簡要描述以及主要成功場景關於替代流程和例外情況的細節,會在開發優先順序確定後「即時」加入。
這個用例切片是此框架中最關鍵的創新。切片是對用例進行垂直切分,形成一個完整的價值流。它包含部分敘事(故事)、相關的測試案例以及實現它所需的程式碼。
切片使得單一用例(例如「處理訂單」)可以拆分到多個迭代中:
每個切片都像一個待辦事項——它可估算、可測試,且可在一次迭代內交付。
雖然切片是在日常工作中處理,但用例模型仍作為地圖存在。它是所有用例的總和,提供了個人使用者故事通常缺乏的上下文與架構概覽。這解決了敏捷開發中常見的問題:團隊完成數百個故事,卻失去了對整體系統行為的掌握。
許多團隊在在使用者故事與用例之間做選擇時感到困擾Use-Case 2.0 主張你不必非得二選一;它提供了用例的結構,同時兼具故事的靈活性。
| 面向 | 傳統用例(2.0 之前) | 使用者故事 | 使用案例 2.0 |
|---|---|---|---|
| 前期努力 | 高(詳細規格) | 非常低 | 低 → 增量式 |
| 整體視野 | 是 | 經常遺失 | 是(透過使用案例模型) |
| 迭代能力 | 差 | 優異 | 優異(透過切片) |
| 可追蹤性 | 強 | 弱 | 強(可導向測試) |
| 測試導向 | 手動/晚期階段 | 接受標準 | 每切片內建(TDD) |
| 最佳環境 | 瀑布式/結構化 | 簡單的敏捷專案 | 複雜/企業級敏捷 |
採用此方法論涉及一個循環式的工作流程,能完美融入標準的敏捷迭代中:
Use-Case 2.0 在企業系統、受監管產業或複雜領域中特別有效,這些領域中簡單的使用者故事往往不夠充分。
它提供可擴展性,讓團隊可以輕量啟動,僅在必要時增加正式性。它確保價值導向,迫使團隊以端到端的使用者旅程思考,而非孤立的技術任務。最後,它解決了文件債務問題;由於使用案例模型是迭代更新的,文件會隨著程式碼演進,成為一個「活的」需求集合,而非陳舊的檔案庫。