什麽是DoD原則?

當你有兩個或更多的人參與同一個事情的時候,AV国产系列欧美亚洲的“團隊”就產生了,這時AV国产系列欧美亚洲最重要的事情,就是要設定和統一團隊的期望值;在本文中,這就是“完成標準”。

一、什麽是DoD?


當你有兩個或更多的人參與同一個事情的時候,AV国产系列欧美亚洲的“團隊”就產生了,這時AV国产系列欧美亚洲最重要的事情,就是要設定和統一團隊的期望值;在本文中,這就是“完成標準”。


一個迭代做完後,團隊要進行驗收,來決定本個迭代是否完成。


但每個團隊對於是否完成無法達成統一,有的認為編碼完成,就表示任務完成了;有的認為還需要簡單自測一下,確保功能可以正常使用;還有的認為需要把自動化用例寫完並測試通過才算完成。


為了避免這個問題,在敏捷軟件開發中,常用Definition of Done“完成的定義”來表示工作是否已完成,不同的活動有不同的完成定義。


首先要知道:所有的DoD都不是一成不變的,在隨著時間的推移、經驗的積累、成員的變更、項目的變更,AV国产系列欧美亚洲的DoD也會有很大的不同,所以AV国产系列欧美亚洲也需要定期地檢查和改進。


二、DoD的分類


有了上麵的思想準備,AV国产系列欧美亚洲再來看下麵的DoD定義,就會覺得並沒有那麽難了。


1. 迭代DoD


最典型的是迭代DoD,這也是最初DoD應用的地方。


常見的一些規則有:


所有代碼通過靜態檢測,嚴重問題都已修改,靜態分析的規則參見……

所有新增代碼得到人工評審;

所有完成的用戶故事都有對應的測試用例;

測試用例都已執行;

所有完成的用戶故事得到Product Owner的驗證。


2. 發布DoD


對於發布,一般就有更加嚴格的要求,發布DoD的典型條款有:


完成發布規劃所要求的重點需求;

至少通過一次全量回歸測試;

修複所有等級為1、2的缺陷;3、4級缺陷不超過20個。


3. 版本DoD


版本DoD就是針對每個版本上線前後的一些規則,比如:


產品文檔已全部更新;

代碼已部署到產品服務器上;

運維在驗收測試環境上冒煙通過;

原始需求提交人對功能已經驗收通過;

對運維、市場、客服的新功能培訓已完成。


4. 每日DoD


其他典型的DoD有每日DoD,典型條款有:搭建每日構建環境,晚上自動靜態代碼檢查、編譯、部署和測試,每日修複前一日構建和測試發現的缺陷和問題。


下班前必須檢入當天編寫的代碼,check in的backlog要填寫清晰;

當天的代碼必須在當天或者第2天邀請同伴進行代碼評審;

檢入的功能代碼必須要有對應的單元測試(嚴格采用TDD);

每天晚上觸發靜態代碼檢查、自動化回歸測試;

當天持續集成、構建環境中的問題,請當天解決。


5. 用戶故事DoD


還有針對用戶故事(或者用例)的DoD,比如:


用戶故事最終的描述符合INVEST

用戶故事得到測試用例的對應覆蓋

用戶故事得到對應的自動化測試用例

用戶故事得到PO試用並初步認可

當測試集比較大的時候,無法在1天之內完成測試,可以開展每周全量回歸自動化測試,這樣就有每周DoD,典型條款有:


上上周發現的缺陷是否解決;

上周新增功能的自動化測試是否加入到每周測試集。

Tips:DoD 必須是團隊在項目啟動時共同討論出來的,團隊願意共同遵守的原則,一旦確定,團隊就應共同遵守。


三、DoD的實用價值


1. DoD是對軟件有價值的活動的清單


DoD是一個簡單的清單,包含了一係列的活動。


例如:編碼、加注釋、單元測試、集成測試、發行聲明、設計文檔等等,所有這些活動都能夠給產品帶來實際的價值。使用DoD,可以讓團隊集中在那些必須完成的事情上,同時讓那些無用的,僅僅使軟件開發變得複雜的活動被消除掉。


3. DoD是團隊成員的主要狀態參考依據


對於迭代最簡單形式的匯報就隻有一句話:“這個feature完成了”。


畢竟,一個feature或者一個product Backlog Item的狀態隻有兩種:完成或未完成 。


DoD是對“feature完成了”這句話的最佳補充。使用DoD作為參考標準,團隊成員可以迅速有效地讓其他團隊成員或PO了解狀態。


3. DoD不是不變的


DoD隨著時間會改變。


組織的幫助和團隊能力的增加可以移除掉更多障礙,使得更多的活動可以包含到sprint或者feature的DoD中來。


4. DoD是一個可以被審視的列表


feature/用戶故事在sprint plan meeting和sprint中都可以被拆分成task。


DoD可以用來衡量是不是所有的主要工作都被計劃在內的(剩餘的時間),而且,在一個feature或者sprint結束的時候,DoD可以用來考查是不是所有的必須的增值活動都已經完成了。


必須引起注意的是:DoD本身也是存在缺陷的。並不是所有的增值活動都可以應用到每一個feature上麵,而DoD本身是一個大而全的檢查事項的審核製度。團隊需要基於一個feature來審視每項增值活動是否適用於這個feature。


比如說:追求用戶體驗對於web服務這樣的feature來說可以加分,但是對於其他的一些feature來說就是不必要的了。


最後需要注意的是:對於驗收標準,並不一定是由Product owner決定,要根據顯示情況而定,每個團隊都要根據自己的情況選擇合適的DoD原則。


52人收藏.453瀏覽


參與討論

登錄 後參與討論
熱門評論
最新評論