在你撰寫(xiě)用戶(hù)故事或列出待辦事項(xiàng)清單時(shí),有兩個(gè)問(wèn)題很重要:用戶(hù)故事夠完整嗎?你如何才能知道自己已經(jīng)完成了任務(wù)?
比如,我們看一看斯托爾寫(xiě)的用戶(hù)故事:“作為特種部隊(duì)的醫(yī)生,我必須為學(xué)生們傳授基本的生理學(xué)知識(shí),這樣他們才能了解人體?!?/p>
關(guān)于一則用戶(hù)故事是否完整,我經(jīng)常用一套標(biāo)準(zhǔn)來(lái)衡量。這套標(biāo)準(zhǔn)是比爾·韋克(Bill Wake)發(fā)明的。他認(rèn)為,一個(gè)好的用戶(hù)故事應(yīng)該滿(mǎn)足INVEST標(biāo)準(zhǔn):
獨(dú)立性(Independent)——盡可能讓一個(gè)用戶(hù)故事獨(dú)立于其他的用戶(hù)故事。用戶(hù)故事之間的依賴(lài)使得制訂計(jì)劃、確定優(yōu)先級(jí)和工作量評(píng)估都變得很困難。通常我們可以通過(guò)組合用戶(hù)故事和分解用戶(hù)故事來(lái)減少依賴(lài)性。
可協(xié)商性(Negotiable)——用戶(hù)故事的內(nèi)容要是可以協(xié)商的,用戶(hù)故事不是合同。一張用戶(hù)故事卡片上只是一個(gè)簡(jiǎn)短的描述,不包括太多的細(xì)節(jié)。具體的細(xì)節(jié)在溝通階段提出。如果一張用戶(hù)故事卡片帶有太多的細(xì)節(jié),實(shí)際上會(huì)限制和用戶(hù)的溝通。
有價(jià)值(Valuable)——每個(gè)用戶(hù)故事必須對(duì)客戶(hù)具有價(jià)值。一個(gè)讓用戶(hù)故事有價(jià)值的好方法是讓客戶(hù)來(lái)寫(xiě)下它們。一旦一個(gè)客戶(hù)意識(shí)到這是一個(gè)用戶(hù)故事,并不是一個(gè)契約,而且可以進(jìn)行協(xié)商的時(shí)候,他們將非常樂(lè)意寫(xiě)下故事。
可評(píng)估(Estimable)——開(kāi)發(fā)團(tuán)隊(duì)需要衡量用戶(hù)故事,以便確定優(yōu)先級(jí)和工作量,并便于安排工作計(jì)劃。
規(guī)模?。⊿mall)——一個(gè)好的故事要盡量維持小規(guī)模,至少要確保在一個(gè)沖刺周期中能夠完成。用戶(hù)故事越大,在安排計(jì)劃、工作量評(píng)估等方面的風(fēng)險(xiǎn)就會(huì)越大。
可測(cè)試(Testable)——一個(gè)用戶(hù)故事要可以測(cè)試,以便確定它是可以完成的。如果一個(gè)用戶(hù)故事不能夠測(cè)試,那么你就無(wú)法知道它什么時(shí)候可以完成。
斯托爾的故事是獨(dú)立的,因?yàn)樗膶W(xué)生們就在老撾,他不必考慮學(xué)生們前往老撾所需的直升機(jī)燃油費(fèi)之類(lèi)的事情,他能夠獨(dú)立完成任務(wù)。他的故事是可修改的,因?yàn)殡m然他一開(kāi)始打算為學(xué)生們傳授基本的生理學(xué)知識(shí),但如果他到了那里之后發(fā)現(xiàn)學(xué)生們已經(jīng)具備這樣的知識(shí),或是已經(jīng)有了一定的了解,那么他有其他的教學(xué)方法可以用。他的故事有價(jià)值:學(xué)生們學(xué)到人體知識(shí)之后,可以派得上用場(chǎng)。他的故事規(guī)模?。核唤o學(xué)生們傳授基本的解剖學(xué)知識(shí),而不是教他們運(yùn)用這些知識(shí)去開(kāi)展外科手術(shù)。他的故事可測(cè)試:他很清楚自己想要傳遞的信息,也可以對(duì)學(xué)生開(kāi)展一些小的測(cè)試,以便確認(rèn)他們是否真的吸收了這些信息。
每個(gè)有待落實(shí)的用戶(hù)故事都應(yīng)該要有“完整”的定義(比如是否符合INVEST標(biāo)準(zhǔn)),同樣,最后的結(jié)果也要符合“完成的定義”(比如必須符合什么條件、通過(guò)什么測(cè)試才能結(jié)束等)。在現(xiàn)實(shí)中,我們發(fā)現(xiàn),如果用戶(hù)故事足夠完整,那么團(tuán)隊(duì)在落實(shí)項(xiàng)目的過(guò)程中速度就會(huì)加快一倍。此外,如果一個(gè)階段的沖刺完成了相應(yīng)的用戶(hù)故事,那么,這個(gè)團(tuán)隊(duì)的速度會(huì)再次加快一倍。這就是我們能夠達(dá)到事半功倍之效的一個(gè)原因。