
1.什么是User Story?
定義:? 一件用戶通過系統(tǒng)完成他一個有價值的目標的事,這樣的過程叫做“用戶案列”或者“用戶故事”。
理解:比如:一位市場經(jīng)理告訴我們,用戶往售貨機每塞一個硬幣,售貨機都顯示當(dāng)前改客戶已經(jīng)投放了多少錢,當(dāng)用戶投的錢足夠買一瓶飲料的時候,代表這款飲料的按鈕的燈會亮起,如果那個用戶按了這個按鈕,售貨機就放一罐飲料到出口,然后找零給用戶
2.記錄用戶故事的格式為
名稱:買飲料
事件:2.1、用戶投了一些錢
2.2、售貨機顯示用戶已經(jīng)投了多少錢
2.3、用戶如果投了足夠的錢買某種飲料,改飲料對應(yīng)的按鈕就會亮起
2.4、用戶按了某個按鈕
2.5、售貨機就會把改貨物送到出口
2.6、售貨機找零給用戶
ps:一個用戶故事里的事件描述可以為:
1.用戶做了xxxx
2.系統(tǒng)做了xxxx
3.系統(tǒng)做了xxxx
。。。
2.核心元素
角色(Role)、活動(Activit)、商業(yè)價值(Business Value)
作為一個<角色>、我想要<活動> 、以便于<商業(yè)價值>
理解:作為一個“網(wǎng)站管理員”我想要“統(tǒng)計每天有多少人訪問了我的網(wǎng)站”,以便于“我的贊助商了解我的網(wǎng)站會帶給他們什么收益”
ps:需要注意的是用戶故事不能使用技術(shù)預(yù)研,要使用戶可以理解業(yè)務(wù)語言來描述
Ron Jeffries的3個C
關(guān)于用戶故事,Ron Jeffries用3個c來描述它:
卡片(Card)--用戶故事一般記在卡片上,卡片上可能會寫上故事的簡短描述,工作量等
交談(Conversation)--用戶故事背后的細節(jié)來源于和客戶或者產(chǎn)品負責(zé)人的交流溝通
確認(Confirmation)--通過驗收測試確認用戶故事被正確完成
3.用戶故事的特性
一個好的用戶故事應(yīng)該遵循INVEST原則
獨立性(Independent):盡可能的一個用戶的故事獨立于其他用戶故事,用戶故事之間減少依賴,確定優(yōu)先級,通過組合用戶故事和分解用戶估計來減少依賴性
可協(xié)商性(Negotiable):一個用戶用戶故事的內(nèi)容是可以協(xié)商的,用戶故事不是合同,一個用戶卡片上只對用戶故事的一個簡短的描述,不包括太多的細節(jié),具體細節(jié)在溝通階段產(chǎn)出,一個用戶故事卡有太多的細節(jié),實際上限制了和用戶的溝通
有價值(Valuable):每一個故事必須對客戶具有價值(無論用戶還是購買方)。一個讓用戶故事有價值的好方法是讓客戶來寫下他們,一旦一個客戶意識到這是一個用戶故事并不是一個契約而且可以進行協(xié)商的,
可以估算性(Estimable):一個開發(fā)團隊需要去估計一個用戶故事以便確定優(yōu)先級、工作量、安排計劃,但是讓開發(fā)難以估計故事的問題來自:對于一個領(lǐng)域知識的缺乏(這個時候需要及時的溝通)或者故事太大,需要把故事拆分
短?。⊿mall):一個好的故事在工作量上盡量的短小,最好不要超過10個理想人/天的工作量,至少要確保的是在一個迭代或者sprint中能完成的,用戶故事越大,在安排計劃,工作量估算等方面的風(fēng)險就會越大
可測試性(Testable):一個用戶故事是要可以測試的,以便于確認它是可以完成的,如果一個用戶故事不能夠被測試,那么你就無法知道它什么時候可以完成,一個不可側(cè)視的永固故事例子:軟件應(yīng)該是易于使用的