雖然軟件開(kāi)發(fā)項(xiàng)目失敗的原因是方方面面的液斜,但是軟件需求確實(shí)被識(shí)別為最常見(jiàn)的痛苦根源混萝。
敏捷開(kāi)發(fā)近些年十分流行拜秧,因?yàn)樗鼮檐浖_(kāi)發(fā)指引了一個(gè)方向妖混。而用戶(hù)故事是敏捷實(shí)踐中一個(gè)十分重要的環(huán)節(jié)老赤。它能幫助我們高效地收集客戶(hù)真正的需求。軟件開(kāi)發(fā)都起始于需求收集與分析制市。如果一開(kāi)始需求都弄錯(cuò)了抬旺,軟件的成功也就無(wú)從談起。同時(shí)祥楣,用戶(hù)故事帶來(lái)了一個(gè)十分重要的作用开财,即高效溝通,不論是開(kāi)發(fā)團(tuán)隊(duì)與客戶(hù)的溝通误褪,還是團(tuán)隊(duì)內(nèi)部成員之間的溝通床未。溝通使客戶(hù)和團(tuán)隊(duì)成員都朝同一個(gè)方向前進(jìn),這意味著更少的錯(cuò)誤振坚,更少的浪費(fèi)薇搁、風(fēng)險(xiǎn)和成本。
讓我們了解寫(xiě)好故事所需的 5 個(gè)要素渡八,scrum 風(fēng)格啃洋。
1. 吸引讀者的引人入勝的標(biāo)題
這個(gè)故事需要一個(gè)準(zhǔn)確传货,快速地領(lǐng)悟標(biāo)題上面的重要信息,它應(yīng)該簡(jiǎn)短突出重點(diǎn)宏娄,? 吸引用戶(hù)的眼球?问裕。
2. 一個(gè)有待解決的沖突/問(wèn)題
沒(méi)有一點(diǎn)戲劇性的好故事是什么?故事描述通過(guò)清楚地呈現(xiàn)要解決的沖突/問(wèn)題來(lái)奠定基礎(chǔ)孵坚。寫(xiě)得很好的描述將回答故事的人物粮宛、內(nèi)容和原因。
誰(shuí):客戶(hù)/最終用戶(hù)
什么:目標(biāo)/功能
為什么:收益/商業(yè)價(jià)值卖宠。
通常巍杈,使用一個(gè)通用模板:作為(用戶(hù)類(lèi)型/角色),我想要(目標(biāo)/功能)以便(收益/商業(yè)價(jià)值)扛伍,有時(shí)上面還附著
另一張卡片或背面寫(xiě)著驗(yàn)收條件筷畦。在做計(jì)劃和開(kāi)發(fā)的時(shí)候,
團(tuán)隊(duì)可以拿著這個(gè)用戶(hù)故事討論故事細(xì)節(jié)刺洒,故事如何才算完成鳖宾,
,尤其是寫(xiě)在書(shū)面上的時(shí)候逆航,對(duì)于表達(dá)像軟件這么復(fù)雜的需求是比較有限的鼎文。由于它們可能被誤解,所以需要與開(kāi)發(fā)人員因俐、客戶(hù)和用戶(hù)頻繁溝通漂问。:用戶(hù)故事提供了一個(gè)方法,讓我們可以寫(xiě)下我們不會(huì)遺忘且我們可以估算和計(jì)劃的女揭,同時(shí)還鼓勵(lì)溝通。
3. 增加情節(jié)的重要背景信息
一個(gè)好的故事總是包含重要的背景信息栏饮,為情節(jié)增添色彩吧兔。在 Scrum 故事寫(xiě)作中,我們可以將這些背景信息視為史詩(shī)袍嬉,故事的母體太大境蔼、復(fù)雜、未知或風(fēng)險(xiǎn)太大伺通,團(tuán)隊(duì)無(wú)法同意一次性完成箍土。
4. 生動(dòng)的細(xì)節(jié)描繪出準(zhǔn)確的畫(huà)面
?
估計(jì)故事的大小是好的 Scrum 故事寫(xiě)作的關(guān)鍵。正如我們之前所說(shuō)罐监,調(diào)整故事大小的目標(biāo)不是建立對(duì)未來(lái)的萬(wàn)無(wú)一失的預(yù)測(cè)吴藻。相反,它是通過(guò)協(xié)作和信息來(lái)明確 什么 產(chǎn)品所有者 想要 弓柱。為此沟堡,以稱(chēng)為故事點(diǎn)的相對(duì)努力為單位完成故事的估計(jì)侧但。這些故事點(diǎn)是生動(dòng)的細(xì)節(jié),可以最準(zhǔn)確地描繪出項(xiàng)目的規(guī)暮铰蓿或努力程度禀横。
5. 沖突/問(wèn)題的解決方案/解決方案
在 Scrum 框架中 粥血,令人滿(mǎn)意的“結(jié)束”采用 DoD 的形式柏锄,或完成的定義,必須滿(mǎn)足的標(biāo)準(zhǔn)才能考慮故事“完成”复亏。
另外軟件需求是一個(gè)溝通問(wèn)題趾娃。需要新軟件的人(使用或銷(xiāo)售軟件的人)必須與開(kāi)發(fā)新軟件的人進(jìn)行交流。一個(gè)項(xiàng)目的成功蜓耻,依賴(lài)于很多不同的信息,這些信息來(lái)自各有不同人員:一方是客戶(hù)和用戶(hù)茫舶,有時(shí)還有分析人員、領(lǐng)域?qū)<液推渌麖臉I(yè)務(wù)或組織視角來(lái)視軟件的人;另一方是技術(shù)團(tuán)隊(duì)刹淌。一旦任何一方在溝通中把持絕對(duì)地位饶氏,項(xiàng)目就會(huì)遭受損失。如果業(yè)務(wù)方把持絕對(duì)位有勾,他們就會(huì)關(guān)注軟件功能和交付日期疹启,卻很少關(guān)注開(kāi)發(fā)人員是否能夠同時(shí)滿(mǎn)足這兩目標(biāo),或者開(kāi)發(fā)人員是否確切地了解需求蔼卡。如果開(kāi)發(fā)人員把持絕對(duì)地位喊崖,技術(shù)術(shù)語(yǔ)就代替業(yè)務(wù)語(yǔ)言,從而導(dǎo)致開(kāi)發(fā)人員無(wú)法傾聽(tīng)業(yè)務(wù)方的實(shí)際需求雇逞。