SCRUM 實踐之 DOD

你的團隊是不是經(jīng)常會對于每次迭代是否完成塌忽,無法達成一致意見:有的認為我編碼完成葱绒,就表示我的任務完成了谬以;有的認為還需要簡單自測一下,確保功能能跑通圆雁;還有的認為需要把自動化用例寫完并測試通過忍级。

為了解決這個常見問題,團隊需要對完成的定義伪朽、完成的標準或完成的準則做統(tǒng)一的要求轴咱,這就有了 DoD 的誕生。這也逐漸變成了敏捷開發(fā)方法中的一個重要實踐烈涮。

scrum-guide-dod1.png

DoD 定義

DoD 全稱 Definition of Done朴肺, 是我們敏捷中常說的“完成的定義”
這里需要注意幾點:
1 DoD 就是完成準則,完成就是不需要再做其他任何事情坚洽,可以直接交付了戈稿。DoD就是100%完成,而不是99%讶舰,95%器瘪,90%的完成。
2 DoD定義了達成目標的最小活動集绘雁,不增值的橡疼、無用的活動不在此清單上。
3 DoD就是產(chǎn)品的質量活動的標準庐舟,代表了團隊為保證交付質量欣除,對質量投入的共識與承諾。

DoD 作用

明確對完成的預期挪略,確保項目中的內外部的干系人對完成的含義達成理解一致历帚。
承諾的可視化,隱藏的杠娱、內部的質量投入對外暴露出來挽牢,增強團隊的透明性。
避免快而臟的開發(fā)模式摊求,不留技術債務禽拔,不遺留問題給后續(xù)迭代。
作為迭代策劃的前提與約束條件,幫助我們合理估算工作量睹栖,制定切實可行的計劃硫惕。
聚焦目標,減少不必要的活動野来,定義完成任務的最小活動集合 恼除。
在做計劃時判斷是否有遺漏的活動。
在驗收時檢查是否有遺漏的活動曼氛,比如作為 Sprint Review的檢查單的一部分豁辉。

Dod1-836x461.jpg

如何定義

團隊成員協(xié)商一致輸出,并確保所有人都可視舀患。不要讓領導定義DoD秋忙。
不同的活動有不同的完成定義,要區(qū)別對待构舟。
隨著迭代的進展灰追,逐步完善DoD。保證隨著時間會改變狗超。組織的幫助和團隊能力的增加可以移除掉更多障礙弹澎,使得更多的活動可以包含到 Sprint 或者 Feature 的DoD中來。
在迭代回顧會議上是討論對DoD的優(yōu)化修改努咐。
DoD越弱苦蒿,欠債越多,后期風險越大渗稍。
質量投入的活動要包含在DoD定義中佩迟,如各種測試、評審竿屹、重構活動等报强。

不同活動DoD

在敏捷軟件開發(fā)中,存在多級的不同的完成定義拱燃。一上來不需要全部覆蓋秉溉,可以共同約定適合團隊的 DoD,然后在過程中過不斷完善和修改。

30e9f0e0-9f42-4429-911f-9c86150d49f0.jpg

迭代DoD
常見的迭代DoD條款有:
1 所有完成的用戶故事得到PO的驗證碗誉。
2 所有代碼得到靜態(tài)分析召嘶,糾正最高級別的不符合項。
3 所有新增代碼得到人工評審哮缺。
4 所有完成的用戶故事都有對應的測試用例弄跌。
5 測試用例都已執(zhí)行。

發(fā)布DoD

1 完成發(fā)布規(guī)劃所要求的重點內容尝苇。
2 通過發(fā)布的全量測試铛只,回歸測試范圍是全范圍埠胖,回歸比率不低于50%。
3 修復所有等級為1格仲、2押袍、3的缺陷诵冒,4級及4級以下缺陷不超過200個凯肋。1、2級缺陷必須修復汽馋,3級缺陷經(jīng)過缺陷發(fā)布審批后可以發(fā)布侮东。
4 至少通過一次全量回歸測試。

區(qū)別:
由于發(fā)布需要達到比迭代更高的要求豹芯,所以一般很難強制規(guī)定發(fā)布測試所需要的時間長度悄雅,也就是說敏捷中常用的時間箱方法不適宜用在發(fā)布前的測試上,因為高質量發(fā)布是第1要務铁蹈,如果到了原計劃測試結束的時間宽闲,仍然留有妨礙發(fā)布的缺陷的話,應當修復后才能發(fā)布握牧。
而迭代成果一般是為了內部或者可控范圍內的展示容诬,相對發(fā)布而言,要求較低沿腰,所以適用時間箱方法览徒,當然迭代本身就是時間箱,迭代內的測試本來就有時間限制颂龙。采用時間箱來安排迭代內的測試可以獲得時間箱安排的種種好處习蓬,在這樣的安排下,回歸覆蓋率就應當是一個變量措嵌,用于觀察躲叼,而不應當是一個要求指標。

版本DoD

版本DoD就是針對每個版本上線前后的一些規(guī)則企巢,比如:
1 產(chǎn)品文檔已全部更新
2 代碼已部署到產(chǎn)品服務器上
3 運維在驗收測試環(huán)境上冒煙通過
4 原始需求提交人對功能已經(jīng)驗收通過
5 對運維押赊、市場、客服的新功能培訓已完成

每日DoD

1 搭建每日構建環(huán)境包斑,晚上自動靜態(tài)代碼檢查流礁、編譯、部署和測試罗丰,每日修復前一日構建和測試發(fā)現(xiàn)的缺陷和問題神帅。
2 下班前必須檢入當天書寫的代碼,check in的backlog要填寫清晰萌抵。
3 當天的代碼必須在當天或者第2天邀請同伴進行代碼評審找御。
4 搭建持續(xù)集成環(huán)境元镀,當天上下午必須至少各檢入代碼一次(這與第1條可能沖突)。
5 采用TDD霎桅,凡是檢入的功能代碼必須要有對應的單元測試(嚴格采用TDD)栖疑。
6 每天晚上觸發(fā)靜態(tài)代碼檢查、自動化回歸測試滔驶。
7 當天持續(xù)集成遇革、構建環(huán)境中的問題,請當天解決揭糕。

用戶故事DoD

1 用戶故事最終的描述符合INVEST
2 用戶故事得到測試用例的對應覆蓋
3 用戶故事得到對應的自動化測試用例
4 用戶故事得到用戶代表試用并初步認可

[image:5434D691-9A15-4D2D-9AB8-11431D82E8D0-82946-0002A9EE64E13EB9/640.png]
每周DoD

1 上上周發(fā)現(xiàn)的缺陷是否解決萝快。
2 上周新增功能的自動化測試是否加入到每周測試集。

AC vs DoD

definition-of-ready.gif

最后記得著角,不要將 AC(Accept criteria )與 DoD 混淆了揪漩,它們都是敏捷開發(fā)中實踐,不可相互取代吏口。AC 是針對每個需求定義的奄容。DoD是針對所有需求,任務产徊,迭代昂勒,交付定義的。
滿足了AC確保我們做了正確的事情囚痴,AC是站在最終用戶的角度定義的叁怪,定義了產(chǎn)品的外部質量。
滿足了DoD確保我們采用了正確的方法做事深滚,DoD是站在利益相關者的角度定義奕谭,未必一定是最終用戶的角度,它定義了產(chǎn)品的內部質量痴荐,保證了產(chǎn)品的長久的適應性血柳。
最終用戶驗收時只關注了AC,而沒有關注DoD生兆。

微信公眾號:Cindynan77

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末难捌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鸦难,更是在濱河造成了極大的恐慌根吁,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件合蔽,死亡現(xiàn)場離奇詭異击敌,居然都是意外死亡,警方通過查閱死者的電腦和手機拴事,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門沃斤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圣蝎,“玉大人,你說我怎么就攤上這事衡瓶∨枪” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵哮针,是天一觀的道長关面。 經(jīng)常有香客問我,道長诚撵,這世上最難降的妖魔是什么缭裆? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任键闺,我火速辦了婚禮寿烟,結果婚禮上,老公的妹妹穿的比我還像新娘辛燥。我一直安慰自己筛武,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布挎塌。 她就那樣靜靜地躺著徘六,像睡著了一般。 火紅的嫁衣襯著肌膚如雪榴都。 梳的紋絲不亂的頭發(fā)上待锈,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音嘴高,去河邊找鬼竿音。 笑死,一個胖子當著我的面吹牛拴驮,可吹牛的內容都是我干的春瞬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼套啤,長吁一口氣:“原來是場噩夢啊……” “哼宽气!你這毒婦竟也來了?” 一聲冷哼從身側響起潜沦,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤萄涯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后唆鸡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涝影,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年喇闸,在試婚紗的時候發(fā)現(xiàn)自己被綠了袄琳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片询件。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖唆樊,靈堂內的尸體忽然破棺而出宛琅,到底是詐尸還是另有隱情,我是刑警寧澤逗旁,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布嘿辟,位于F島的核電站,受9級特大地震影響片效,放射性物質發(fā)生泄漏红伦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一淀衣、第九天 我趴在偏房一處隱蔽的房頂上張望昙读。 院中可真熱鬧,春花似錦膨桥、人聲如沸蛮浑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沮稚。三九已至,卻和暖如春册舞,著一層夾襖步出監(jiān)牢的瞬間蕴掏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工调鲸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盛杰,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓线得,卻偏偏與公主長得像饶唤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子贯钩,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容

  • 在之前文章中我們提到了募狂,每個Sprint都要驗收才能算結束,而驗收標準遵循DoD原則角雷。那么究竟什么是DoD原則呢祸穷?...
    眾易閱讀 620評論 0 1
  • DoD 原文地址:http://www.woshipm.com/it/1673051.html 一、什么是DoD勺三?...
    AmberLi00000閱讀 269評論 0 0
  • 1雷滚、問:你在測試中發(fā)現(xiàn)了一個bug,但是開發(fā)經(jīng)理認為這不是一個bug吗坚,你應該怎樣解決祈远? 首先呆万,將問題提交到缺陷管理...
    小灰輝先生閱讀 1,333評論 0 3
  • -----轉載----- 1、問:你在測試中發(fā)現(xiàn)了一個bug车份,但是開發(fā)經(jīng)理認為這不是一個bug谋减,你應該怎樣解決? ...
    花開沉浮閱讀 7,372評論 4 88
  • 1扫沼、在項目的Sprint回顧會后出爹,團隊成員指出那是抱怨會,不是非常有效缎除。Scrum主管應該怎么做严就?A 建議團隊尊重...
    隔壁老李頭閱讀 12,079評論 1 16