前言
最近在ScrumMaster的工作中收到團(tuán)隊(duì)成員的提問,如何拆分(User Story)用戶故事,如何讓迭代中的用戶故事更適合在迭代中開發(fā)交付?我們知道好的用戶故事要符合INVEST原則铣口,而往往在實(shí)際操作過程中最難做到的是最后兩點(diǎn)Size Appropriately和Testable镜粤。有時(shí)候一次迭代只能做一個(gè)用戶故事;有時(shí)候可能有多個(gè)小的用戶故事,但是彼此依賴要到最后時(shí)刻才能測試髓需,可見如此的場景又回到了小瀑布的形式里面了许师。
那么用戶故事的拆分是否有什么方法可尋嗎?答案是肯定的。今天介紹的就是大師Mike Cohn總結(jié)的5種方法微渠,也是我到目前為止覺得最高效最實(shí)用的一種搭幻,所以今天整理分享給大家,有感興趣的同學(xué)逞盆,推薦看原文的3個(gè)免費(fèi)視頻檀蹋。原文鏈接
“SPIDR”方法
用戶故事一般分兩類:
- 從一開始就非常大且不能分割的用戶場景,但這種情況也極少發(fā)生云芦。
- 復(fù)合用戶故事俯逾,它包含許多較小的故事,因此可以拆分舅逸。
下面介紹的"SPIDR"就是這五種方式的縮寫纱昧,針對(duì)的也是第二種復(fù)合用戶故事拆分的方法,那么讓我們拿好小板凳一起來學(xué)習(xí)吧堡赔。
Spikes
探針(Spikes)识脆,它代表的是一類用于構(gòu)建知識(shí)的研究工作和活動(dòng)∩埔眩可以在迭代中安排一些研究型的用戶故事來解決不確定的因素灼捂。一般來說導(dǎo)致Team無法拆分用戶故事的原因是覺得用戶故事工作量太大了,Team感覺無從下手换团。這個(gè)主要是從如下幾個(gè)方面來的原因:
- Team不熟悉業(yè)務(wù)悉稠,不知道如何實(shí)現(xiàn)它。
- 涉及的技術(shù)不熟練艘包,不知道如何使用的猛。
- 可能的實(shí)現(xiàn)方式有很多,Team背景知識(shí)不夠想虎,不知道用哪個(gè)比較好卦尊。
Tips: 探針類用戶故事一般用在其他4類拆分方式之前,一旦不確定的領(lǐng)域明確了,就可以使用后續(xù)方式對(duì)用戶故事進(jìn)行拆分了舌厨。
Paths
路徑(Paths)岂却,考慮用戶故事可能的執(zhí)行路徑來拆分,每一個(gè)路徑都可以拆分為一個(gè)新的用戶故事裙椭。最簡單的方式就是按照業(yè)務(wù)邏輯的執(zhí)行路徑來拆分躏哩,舉一個(gè)銷售應(yīng)用都會(huì)有的的支付功能的例子,支持信用卡還是Paypal可以分為兩個(gè)Story揉燃,如下圖:
當(dāng)然你可以將信用卡再進(jìn)一步拆分扫尺,根據(jù)信用卡的種類來拆分:
不過這并不是一個(gè)固定拆分的規(guī)則,如果有時(shí)候做完一種信用卡支付功能后其他類型很容易實(shí)現(xiàn)炊汤,那么你就沒有必要繼續(xù)拆分多個(gè)信用卡類型的用戶故事了正驻。
Interface
接口(Interface)弊攘,當(dāng)用戶故事涉及到橫跨多種用戶交互接口或者數(shù)據(jù)交互接口的時(shí)候可以使用該方法來進(jìn)行拆分。例如一般交互系統(tǒng)可以分為移動(dòng)設(shè)備和瀏覽器兩大類拨拓。而瀏覽器也可以根據(jù)不同類型的瀏覽器分為:Chrome肴颊,Edge氓栈,F(xiàn)irefox等渣磷。不過很多時(shí)候根據(jù)開發(fā)團(tuán)隊(duì)技術(shù)的熟悉程度也可以分為可以支持和暫時(shí)無法支持兩類來拆分用戶故事,如下圖:
另一種是通過交互方式的遞增來拆分用戶故事授瘦,例如下面的兩個(gè)交互方式的頁面醋界,在后臺(tái)數(shù)據(jù)類型不變的情況下,根據(jù)工作時(shí)間和任務(wù)緊急程度以及客戶接受程度可以分兩階段來進(jìn)行用戶故事的實(shí)現(xiàn)提完,請(qǐng)注意下面兩圖的頁面和搜索條件樣式的調(diào)整:
除了上面說的兩個(gè)交互接口形纺,我們還可能遇到一類接口是數(shù)據(jù)操作接口,例如你在做一個(gè)數(shù)據(jù)導(dǎo)入功能的時(shí)候支持多種文件類型(Excel,XML,CSV)徒欣,這個(gè)時(shí)候你可以使用這類拆分方式來拆分用戶故事:
Data
數(shù)據(jù)(Data)逐样,按照數(shù)據(jù)類型來進(jìn)行用戶故事拆分〈蚋危可以將一個(gè)用戶故事按照所關(guān)聯(lián)數(shù)據(jù)類型的子集進(jìn)行拆分脂新,例如下面的一個(gè)例子,電影公司希望對(duì)電影進(jìn)行上映排期粗梭。這個(gè)故事可以根據(jù)影片類型對(duì)用戶故事進(jìn)行拆分争便,例如言情類的在圣誕節(jié)檔期,科幻類的可以在暑期等等断医。
Rules
規(guī)則(Rules)按滞乙,照業(yè)務(wù)規(guī)則和技術(shù)標(biāo)準(zhǔn)對(duì)用戶故事進(jìn)行拆分。一些業(yè)務(wù)邏輯會(huì)帶有很多規(guī)則鉴嗤,在一開始的時(shí)候可以嘗試將用戶故事拆分成沒有規(guī)則和有規(guī)則兩類斩启,之后還可以按照規(guī)則進(jìn)行拆分。舉一個(gè)例子:在線售票系統(tǒng)醉锅,一些熱門場次會(huì)需要限制單用戶購票數(shù)量浇垦,那么在一開始的時(shí)候可以考慮先實(shí)現(xiàn)購票流程但無限制,之后再添加限制規(guī)則荣挨。
總結(jié)
用戶故事的設(shè)計(jì)和拆分從來都不容易男韧,很多團(tuán)隊(duì)會(huì)面臨故事過大無法拆分,或者故事拆分方式不對(duì)無法在每次迭代結(jié)束的時(shí)候交付一定的價(jià)值默垄,畢竟好的用戶故事能夠讓Team在完成的時(shí)候獲得激勵(lì)此虑,同時(shí)每次都能夠感到成就感。本文介紹的五種方式只是眾多拆分方式中的一個(gè)方向口锭,作為拋磚引玉朦前,希望大家在工作中不斷嘗試介杆,找到適合自己的,并將他們帶給團(tuán)隊(duì)韭寸,激發(fā)團(tuán)隊(duì)的無限潛能春哨。