在團隊成立之初沒有建立 Definition of Done,或是沒有逐漸擴展 Definition of Done 讓團隊成長。
在導入 Scrum 時,可能沒有有經驗的 Scrum Master 協助導入,所以沒有在導入之初建立團隊有共識的 Definition of Done。DoD 和 Acceptance criteria 是讓團隊在每次 sprint 結束時,有 potential releasable product 很重要的關鍵,Acceptance criteria 確保 do the right things,DoD 則是確保 do the things right,兩者合在一起,才會 do the right things right。
所以,如果沒有 DoD,在 sprint 結束時,可能會拿到一個有缺陷的產品,或是只能在某人的電腦上建置的版本。當然,一開始團隊沒那麼成熟時,一口氣要求太多的 DoD 可能有反效果,但不能沒有,一個不錯的出發點可能是:程式有版控,加上 CI 搭配單元測試,確保 sprint review 時 demo 的版本都是從 CI 取得的。
隨著團隊步上軌道,Scrum Master 可以鼓勵團隊增加 DoD,像是使用 PR 的方式進行 code review,確保進到某個 branch 的程式都是經過 code review 的,又或者是逐步要求提高 code coverage。總之,DoD 並不是一成不變的,透過擴展 DoD,讓團隊導入更多的 engineering practices,讓團隊成長之外,也更有信心在 sprint 結束時釋出產品。
回到目錄:Scrum Bad Smells