從測(cè)試看需求

一、用戶故事,敏捷環(huán)境

將所有的需求拆解成用戶故事,從用戶角度對(duì)系統(tǒng)的某個(gè)功能模塊所做的簡(jiǎn)短描述(需求文檔剛好相反,關(guān)注的是系統(tǒng)功能,很少會(huì)提及用戶場(chǎng)景)。一個(gè)好的用戶故事包括三個(gè)要素:

角色:誰要使用這個(gè)功能,

活動(dòng):需要完成什么樣的功能。

商業(yè)價(jià)值:為什么需要這個(gè)功能,這個(gè)功能能帶來什么樣的價(jià)值。

例:

作為信用卡客戶Jack

希望可以從取款機(jī)中用信用卡取現(xiàn)金

這樣能夠購(gòu)買只能用現(xiàn)金購(gòu)買的商品

二、驗(yàn)收條件(Acceptance Criteria)


在對(duì)齊用戶故事的過程中,我們可以通過上圖的方向進(jìn)行思考和提問,以達(dá)到澄清需求的目標(biāo)。至于用戶故事的最終呈現(xiàn)形式,并不是那么的重要。

三、用戶故事地圖

如上圖,用戶故事地圖,就是一堵用戶故事墻,大級(jí)別的用戶故事排在第一列,根據(jù)優(yōu)先級(jí),描述用戶需求。對(duì)第一排故事成縱向分解。通過地圖方式,可以讓團(tuán)隊(duì)能夠有一個(gè)空間充分思考各類可行方案,從而找到一條可以最大化投入產(chǎn)出的路子??梢宰尭鞣N干系人對(duì)功能需求有相對(duì)一致的理解和整體認(rèn)識(shí)。同時(shí),根據(jù)這些故事排列出每個(gè)迭代的用戶故事優(yōu)先級(jí)。

用戶故事地圖還可以傳送出很多的信息,比如它的橫縱坐標(biāo),其實(shí)是非常有意義的,橫軸代表了用戶的使用路線圖,縱軸代表了需求的優(yōu)先級(jí)。那幾條紅色的虛線,就代表了每個(gè)迭代需要做的基本內(nèi)容了,相當(dāng)于一個(gè)粗粒度的迭代待辦列表(Sprint Back log)。

注意:這個(gè)地圖是動(dòng)態(tài)變化的。每經(jīng)過一段時(shí)間,團(tuán)隊(duì)都應(yīng)該重新審視這張用戶故事地圖,看看我們的規(guī)劃是否發(fā)生了偏差?還有哪些需要補(bǔ)充的?有沒有更好的意見或者建議?是否有些功能是不必要的?

四、實(shí)例分享

內(nèi)部關(guān)于需求的管理方式,基于Confluence工具,模板如下圖:

通過下面這個(gè)文檔,我們可以很清晰的知道用戶故事的信息:在哪個(gè)迭代被研發(fā),需求內(nèi)容是什么,如何去做驗(yàn)收。

·需求說明

·工作流程

(泳道圖/交互圖等

·驗(yàn)收條件

GIVEN? ? ? ? ? ? ?WHEN? ? ? ? ? ? ? ? ? ? ?THEN? ? ? ? ? ? ? ? ? ? ? ? ?REMARK

·原型/UI設(shè)計(jì)

五、延伸:用戶故事的六個(gè)特性

好的用戶故事滿足INVEST原則

Independent? ?獨(dú)立性

Negotiable? ? ? 可協(xié)商

Valuable? ? ? ? ? 有價(jià)值

Estimable? ? ? ?可估算

Small? ? ? ? ? ? ? ?足夠小

Testable? ? ? ? ? 可測(cè)試性

獨(dú)立性:要盡可能地讓一個(gè)用戶故事獨(dú)立于其他的用戶故事。用戶故事之間的依賴使得制定計(jì)劃,確定優(yōu)先級(jí),工作量估算都變得很困難。通常我們可以通過組合用戶故事和分解用戶故事來減少依賴性。

可協(xié)商性:一個(gè)用戶故事的內(nèi)容要是可以協(xié)商的,用戶故事不是合同。一個(gè)用戶故事卡片上只是對(duì)用戶故事的一個(gè)簡(jiǎn)短的描述,不包括太多的細(xì)節(jié)。具體的細(xì)節(jié)在溝通階段產(chǎn)出。一個(gè)用戶故事卡帶有了太多的細(xì)節(jié),實(shí)際上限制了和用戶的溝通。

有價(jià)值:每個(gè)故事必須對(duì)客戶具有價(jià)值(無論是用戶還是購(gòu)買方)。

可以估算性:開發(fā)團(tuán)隊(duì)需要去估計(jì)一個(gè)用戶故事以便確定優(yōu)先級(jí),工作量,安排計(jì)劃。通常讓開發(fā)者難以估計(jì)故事的問題來自:對(duì)于領(lǐng)域知識(shí)的缺乏(這種情況下需要更多的溝通),或者故事太大了(這時(shí)需要把故事切分成小些的)。

短?。阂粋€(gè)好的故事在工作量上要盡量短小,最好不要超過3天的工作量(我們的實(shí)踐,具體可根據(jù)團(tuán)隊(duì)自行定義),用戶故事越大,在安排計(jì)劃,工作量估算等方面的風(fēng)險(xiǎn)就會(huì)越大。

可測(cè)試性:一個(gè)用戶故事要是可以測(cè)試的,以便于確認(rèn)它是可以完成的。如果一個(gè)用戶故事不能夠測(cè)試,那你就無法知道它什么時(shí)候可以完成。

六、小結(jié)

在需求評(píng)審的階段,從用戶使用場(chǎng)景的角度出發(fā),通過提問,把需求逐步澄清,并形成驗(yàn)收條件,產(chǎn)、研、測(cè)三方共同確認(rèn),形成共識(shí),以保證大家對(duì)需求的認(rèn)知不發(fā)生偏差,為后續(xù)團(tuán)隊(duì)正確的做事提供有價(jià)值的指導(dǎo)。根據(jù)用戶故事的基本特性,做到業(yè)務(wù)可驗(yàn)收、研發(fā)可實(shí)現(xiàn)、測(cè)試可驗(yàn)證、部署可交付。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容