一、Definition
The acronym INVEST helps to remember a widely accepted set of criteria, or checklist, to assess the quality of a user story. If the story fails to meet one of these criteria, the team may want to reword it, or even consider a rewrite (which often translates into physically tearing up the old story card and writing a new one).
A good user story should be:
- "I" ndependent (of all others)
- "N" egotiable (not a specific contract for features)
- "V" aluable (or vertical)
- "E" stimable (to a good approximation)
- "S" mall (so as to fit within an iteration)
- "T" estable (in principle, even if there isn't a test for it yet)
譯文
首字母縮略詞 INVEST有助于去記住一個(gè)被廣泛接受的一套標(biāo)準(zhǔn)先舷,或清單温圆,來評(píng)估用戶故事的質(zhì)量置鼻。如果故事不符合下述條件之一圆裕,團(tuán)隊(duì)可能要改寫它陋桂,甚至可以考慮重寫(這往往轉(zhuǎn)化為實(shí)際撕毀老故事卡逆趣,寫一個(gè)新的)
二、原則 (INVEST)
2.1 Independent(獨(dú)立的)
- 每個(gè) User Story 都是獨(dú)立的嗜历,不要考慮與該 User Story 無關(guān)的事情宣渗。
例如:
作為一個(gè)用戶,我希望可以看到登錄界面梨州,這樣我就可以登錄到系統(tǒng)中痕囱。
那么就不要考慮與登錄無關(guān)的事情,專注于登錄就好暴匠。
2.2 Negotiable(可協(xié)商的)
- User Story 不是寫好了就不修改了鞍恢,客戶和開發(fā)者需要經(jīng)常溝通來確定最終的 User Story。因?yàn)楹芏嗉?xì)節(jié)往往在開發(fā)過程中才會(huì)考慮到每窖。
例如:
用戶可以選擇學(xué)校
假設(shè)這是最初的 User Story 之一帮掉,開發(fā)到了一定階段,會(huì)出現(xiàn)新的問題:
用戶選擇學(xué)校之后可不可以選擇專業(yè)窒典?
這就需要開發(fā)者和客戶好好溝通蟆炊,而且是口頭溝通,以達(dá)到最好的效果瀑志。
2.3 Valuable(有價(jià)值的)
- 每個(gè) User Story 對(duì)于用戶要有一定的實(shí)現(xiàn)價(jià)值涩搓。
例如:
作為用戶肩祥,我希望點(diǎn)擊邏輯題,可以進(jìn)入到邏輯題頁(yè)面缩膝,這樣我就可以開始做題了混狠。
對(duì)于用戶來說,這個(gè) User Story 的價(jià)值就是他可以通過點(diǎn)擊邏輯題疾层,進(jìn)入到邏輯題頁(yè)面将饺,這樣才可以答題。
2.4 Estimable(可估的)
- 對(duì)開發(fā)人員來說痛黎,能估算故事的大小予弧,或者是把故事變?yōu)榭捎玫拇a的時(shí)間量是很重要的。一般有以下3個(gè)原因會(huì)導(dǎo)致故事不可估計(jì)湖饱。
- 開發(fā)人員缺少領(lǐng)域知識(shí)
- 開發(fā)人員缺少技術(shù)知識(shí)
- 故事太大了
例如:
一個(gè)找工作的人可以找到一份工作掖蛤。
這個(gè)故事就太大了,不可估計(jì)井厌。我們要估計(jì)它蚓庭,就要把它分解成多個(gè)更小的故事。
2.5 Small(較小的)
- 故事的大小很關(guān)鍵仅仆,故事太大或者太小器赞,都無助于制定計(jì)劃。
- 合適的故事大小最終取決于團(tuán)隊(duì)墓拜、它的容量及所使用的技術(shù)港柜。
例如:
用戶可以登錄。
這個(gè)就有點(diǎn)大咳榜,就可以分為:
1. 作為一個(gè)用戶夏醉,如果輸入正確賬號(hào)及密碼,我可以登錄到系統(tǒng)中涌韩。
1. 作為一個(gè)用戶畔柔,如果輸入錯(cuò)誤密碼,那么我將無法登錄到系統(tǒng)中贸辈。
2.6 Testable(可測(cè)試的)
- 必須是可測(cè)試的释树,成功通過測(cè)試可以證明開發(fā)人員正確的實(shí)現(xiàn)了 User Story。
例如:
用戶絕不需要花很多時(shí)間等待窗口出現(xiàn)擎淤。
這個(gè)就是不可測(cè)試的奢啥。這個(gè) User Story 可以改為:
在95%的情況下,新窗口會(huì)在2秒內(nèi)打開嘴拢。
三.推薦閱讀
1.INVEST in Good Stories, and SMART Tasks