您好,登錄后才能下訂單哦!
一、什么是DoD?
當(dāng)你有兩個(gè)或更多的人參與同一個(gè)事情的時(shí)候,我們的“團(tuán)隊(duì)”就產(chǎn)生了,這時(shí)我們最重要的事情,就是要設(shè)定和統(tǒng)一團(tuán)隊(duì)的期望值,在本文中,這就是 “完成標(biāo)準(zhǔn)”。
一個(gè)迭代做完后,團(tuán)隊(duì)要進(jìn)行驗(yàn)收,來(lái)決定本個(gè)迭代是否完成。但每個(gè)團(tuán)隊(duì)對(duì)于是否完成無(wú)法達(dá)成統(tǒng)一,有的認(rèn)為編碼完成,就表示任務(wù)完成了;有的認(rèn)為還需要簡(jiǎn)單自測(cè)一下,確保功能可以正常使用;還有的認(rèn)為需要把自動(dòng)化用例寫完并測(cè)試通過(guò)才算完成。
為了避免這個(gè)問題,在敏捷軟件開發(fā)中,常用 Definition of Done“完成的定義”來(lái)表示工作是否已完成,不同的活動(dòng)有不同的完成定義。首先要知道,所有的DoD都不是一成不變的,在隨著時(shí)間的推移、經(jīng)驗(yàn)的積累、成員的變更、項(xiàng)目的變更,我們的DoD也會(huì)有很大的不同,所以,我們也需要定期地檢查和改進(jìn)。
二、 DoD的分類
有了上面的思想準(zhǔn)備,我們?cè)賮?lái)看下面的DoD定義,就會(huì)覺得并沒有那么難了。
一、迭代DoD
最典型的是迭代DoD,這也是最初DoD應(yīng)用的地方。常見的一些規(guī)則有:
1. 所有代碼通過(guò)靜態(tài)檢測(cè),嚴(yán)重問題都已修改,靜態(tài)分析的規(guī)則參見...
2. 所有新增代碼得到人工評(píng)審
3. 所有完成的用戶故事都有對(duì)應(yīng)的測(cè)試用例
4. 測(cè)試用例都已執(zhí)行
5. 所有完成的用戶故事得到Product Owner的驗(yàn)證
二、發(fā)布DoD
對(duì)于發(fā)布,一般就有更加嚴(yán)格的要求,發(fā)布DoD的典型條款有:
1. 完成發(fā)布規(guī)劃所要求的重點(diǎn)需求
2. 至少通過(guò)一次全量回歸測(cè)試
3. 修復(fù)所有等級(jí)為1、2的缺陷,3、4級(jí)缺陷不超過(guò)20個(gè)
三、版本DoD
版本DoD就是針對(duì)每個(gè)版本上線前后的一些規(guī)則,比如:
1. 產(chǎn)品文檔已全部更新
2. 代碼已部署到產(chǎn)品服務(wù)器上
3. 運(yùn)維在驗(yàn)收測(cè)試環(huán)境上冒煙通過(guò)
4. 原始需求提交人對(duì)功能已經(jīng)驗(yàn)收通過(guò)
5. 對(duì)運(yùn)維、市場(chǎng)、客服的新功能培訓(xùn)已完成
四、每日DoD
其他典型的DoD有每日DoD,典型條款有:搭建每日構(gòu)建環(huán)境,晚上自動(dòng)靜態(tài)代碼檢查、編譯、部署和測(cè)試,每日修復(fù)前一日構(gòu)建和測(cè)試發(fā)現(xiàn)的缺陷和問題。
1. 下班前必須檢入當(dāng)天編寫的代碼,check in的backlog要填寫清晰
2. 當(dāng)天的代碼必須在當(dāng)天或者第2天邀請(qǐng)同伴進(jìn)行代碼評(píng)審
3. 檢入的功能代碼必須要有對(duì)應(yīng)的單元測(cè)試(嚴(yán)格采用TDD)
4. 每天晚上觸發(fā)靜態(tài)代碼檢查、自動(dòng)化回歸測(cè)試
5. 當(dāng)天持續(xù)集成、構(gòu)建環(huán)境中的問題,請(qǐng)當(dāng)天解決
五、用戶故事DoD
還有針對(duì)用戶故事(或者用例)的DoD,比如:
1. 用戶故事最終的描述符合INVEST
2. 用戶故事得到測(cè)試用例的對(duì)應(yīng)覆蓋
3. 用戶故事得到對(duì)應(yīng)的自動(dòng)化測(cè)試用例
4. 用戶故事得到PO試用并初步認(rèn)可
當(dāng)測(cè)試集比較大的時(shí)候,無(wú)法在1天之內(nèi)完成測(cè)試,可以開展每周全量回歸自動(dòng)化測(cè)試,這樣就有每周DoD,典型條款有:
1. 上上周發(fā)現(xiàn)的缺陷是否解決
2. 上周新增功能的自動(dòng)化測(cè)試是否加入到每周測(cè)試集。
Tips:DoD 必須是團(tuán)隊(duì)在項(xiàng)目啟動(dòng)時(shí)共同討論出來(lái)的,團(tuán)隊(duì)愿意共同遵守的原則,一旦確定,團(tuán)隊(duì)就應(yīng)共同遵守。
三、DoD的實(shí)用價(jià)值
一、DoD是對(duì)軟件有價(jià)值的活動(dòng)的清單
DoD是一個(gè)簡(jiǎn)單的清單,包含了一系列的活動(dòng)。例如:編碼,加注釋,單元測(cè)試,集成測(cè)試,發(fā)行聲明,設(shè)計(jì)文檔等等。所有這些活動(dòng)都能夠給產(chǎn)品帶來(lái)實(shí)際的價(jià)值。使用DoD,可以讓團(tuán)隊(duì)集中在那些必須完成的事情上,同時(shí)讓那些無(wú)用的,僅僅使軟件開發(fā)變得復(fù)雜的活動(dòng)被消除掉。
二、DoD是團(tuán)隊(duì)成員的主要狀態(tài)參考依據(jù)
對(duì)于迭代最簡(jiǎn)單形式的匯報(bào)就只有一句話:“這個(gè)feature完成了”。畢竟,一個(gè)feature或者一個(gè)product Backlog Item的狀態(tài)只有兩種:完成或未完成 。DoD是對(duì)“feature完成了”這句話的最佳補(bǔ)充。使用DoD作為參考標(biāo)準(zhǔn),團(tuán)隊(duì)成員可以迅速有效地讓其他團(tuán)隊(duì)成員或PO了解狀態(tài)。
三、DoD不是不變的
DoD隨著時(shí)間會(huì)改變。組織的幫助和團(tuán)隊(duì)能力的增加可以移除掉更多障礙,使得更多的活動(dòng)可以包含到sprint或者feature的DoD中來(lái)。
四、DoD是一個(gè)可以被審視的列表
feature/用戶故事在sprint plan meeting和sprint中都可以被拆分成task。DoD可以用來(lái)衡量是不是所有的主要工作都被計(jì)劃在內(nèi)的(剩余的時(shí)間)。而且,在一個(gè)feature或者sprint結(jié)束的時(shí)候,DoD可以用來(lái)考查是不是所有的必須的增值活動(dòng)都已經(jīng)完成了。
必須引起注意的是,DoD本身也是存在缺陷的。并不是所有的增值活動(dòng)都可以應(yīng)用到每一個(gè)feature上面,而DoD本身是一個(gè)大而全的檢查事項(xiàng)的審核制度。團(tuán)隊(duì)需要基于一個(gè)feature來(lái)審視每項(xiàng)增值活動(dòng)是否適用于這個(gè)feature。
比如說(shuō),追求用戶體驗(yàn)對(duì)于web服務(wù)這樣的feature來(lái)說(shuō)可以加分,但是對(duì)于其他的一些feature來(lái)說(shuō)就是不必要的了。
最后需要注意的是,對(duì)于驗(yàn)收標(biāo)準(zhǔn),并不一定是由Product owner決定,要根據(jù)顯示情況而定, 每個(gè)團(tuán)隊(duì)都要根據(jù)自己的情況選擇合適的DoD原則。 CORNERSTONE 提供了包括任務(wù)/需求/測(cè)試管理、迭代規(guī)劃、缺陷追蹤、報(bào)表統(tǒng)計(jì)、團(tuán)隊(duì)協(xié)作 、WIKI、共享文件和日歷等功能模塊 ,20人以下團(tuán)隊(duì)可免費(fèi)使用,點(diǎn)擊即可免費(fèi)注冊(cè) CORNERSTONE 。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。