Epic,Feature,Theme,Story,Task什么意思

在敏捷項目的估算或計劃時,我們常提到以下幾個概念。

  • Epic Story
  • Feature
  • Minimal Marketable Feature (MMF)
  • Theme
  • User Story
  • Task

本文將說明這幾個概念的意義和他們間的關系。

Feature

Feature是可以為顧客提供價值的東西,它代表一個產(chǎn)品可以做什么,或提供什么服務;是可以滿足用戶的需求,為客戶服務,為用戶帶來真正的價值的成果物的特性。
Feature相對復雜,可由一組動賓結(jié)構(gòu)的句子表達,如一個超市的交易可以描述為:

  1. 掃描條形碼
  2. 顯示單價
  3. 計算總價
  4. 計算稅額
  5. 打印清單

因此,一個Feature是很難進行估算的,它需要被分解成一個個更小的單位,這就是下面要討論的User Story。Feature一般在Release Plan的層次,一個Feature可能需要幾次迭代才能完成。
由于Feature是滿足用戶需求的交付物,因此每次交付的對象應該是一個或多個Feature??梢哉fFeature就是敏捷宣言中的“Working software”。

Minimal Marketable Feature (MMF)

了解了什么時Feature后,我們再來討論MMF。顧名思義,MMF就是一組最小的,可以市場化的機能。首先,它是Feature,其次,它強調(diào)的是市場化這個概念。市場化意味著它能夠提交到用戶手中使用,并可以從用戶那里得到相應的回報。MMF可以使得投資提前取得收益,這對于一個企業(yè)來說,是非常重要和實用的。

User Story

在Feature的討論中提到了,F(xiàn)eature是由一組動賓結(jié)構(gòu)的句子組成的。這些動賓句子描述的就是一個個User Story。一個Feature可以分解成多個User Story,每個User Story不能單獨被使用,而是一起構(gòu)成一個Feature。
一個User Story必須是清晰的,可以為客戶增加價值,而且更重要的是能夠被估算。因此User Story通常是進行估算的基本單位,通常使用Story Point來進行估算。User Story是在迭代的層級,一個User Story要在一個迭代內(nèi)完成。
另外,User Story也是進行需求分析的工具。通過詢問誰、做什么、為什么,能夠簡單明了地撲捉客戶的需求。因此User Story通常寫成以下形式:
As a , I want , so than .
如:
作為文檔編輯者,我希望文檔修改后,在退出編輯時提醒我保存文檔,以便我不會丟失數(shù)據(jù)。
User Story具有以下六大特點(INVEST):
1. Independent:獨立的
2. Negotiable:可變的
3. Valuable:有價值的
4. Estimable:可估算的
5. Small:足夠小的
6. Testable:可驗收的/可測試的
由于User Story具有可驗收的特性,因此使用User Story來跟蹤開發(fā)進度更加準確。也可使用Task來跟蹤開發(fā)進度,但Task的完成度有時不是那么容易清晰的定義或可視的,而User Story的完成度則是可視的。
注意,有的文章中認為User Story是由Feature組成的,那實際上這個Feature,應該是Functionality。

Task

項目中可以執(zhí)行的工作單位,通常就是迭代計劃中項目(如Sprint Backlog中的項目)。一個User Story一般會分解為一個或多個Task,通過這些Task來實現(xiàn)。如顯示單價這個User Story,可以分解成:
· 設計討論會
· 服務器查詢單價編碼
· 服務器查詢單價測試
· 客戶端顯示單價編碼
· 客戶端顯示單價測試
當然一項Task也可能不實現(xiàn)任何User Story。如:Release plan meeting。

Epic Story

顧名思義,Epic Story的規(guī)模和復雜性,要大于User Story,它首先是一個大User Story。由于它非常大,無法或不容易進行估算,因此一般會分解成為更小的User Story,進行估算和開發(fā)。關于Epic和Feature,誰的復雜性更高,誰的規(guī)模更大,則還沒有一個統(tǒng)一的說法,有的項目中,會定義Epic Story在Feature之下;而有的項目中則相反。因此在使用這個概念時,應該在項目中有一個明確的定義。無論Epic Story是在Feature之上還是之下,它與Feature同樣是在Release Plan的層級,一般是通過一個或多個迭代才能完成。

Theme

Theme則是一組User Story(甚至是Epic Story),這些User Story擁有共同的特征,為了更容易開發(fā)這些相關內(nèi)容,通常會將這些User Story作為一組進行開發(fā)和管理。這組User Story就被稱為Theme。比如,有關報表這個機能,包括Excel報表、Word報表、PDF報表等,那么“報表”就是一個Theme。
對于Theme與Epic/Feature的關系,可以在自己的項目中進行明確定義。這取決于項目組成員的喜好。
因此,從層次上講,這幾個概念的關系應該是:
[圖片上傳失敗...(image-662148-1753671721231)]

例:
Epic:可以理解為一個大版本。1.0,2.0,3.0之類的,規(guī)劃的大模塊,比如電商做了自營,接著做商家入駐
Feature:特性嘛,比如1.1,1.2,1.3。比如支付加了支付寶,登錄支持掃碼了。
Backlog:要做的,還沒開始的需求
Task:正在進行的需求
或者是:
[圖片上傳失敗...(image-2d8f90-1753671721231)]

值得注意的是,關于Epic、Feature和Theme這些概念,可以在自己的項目中自行定義,而不用一定遵守本文中的規(guī)則。只要在自己的項目中,通過繪制類似上面的關系圖來明確他們的關系,并得到各個成員的認同即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容