完成的定義 Definition of Done
每個Sprint的輸出的正式名字為“潛在可交付產品增量”。在開始第一個Sprint之前,產品負責人、團隊和Scrum Master必須審視對於把一個產品待事項列表中的事項做到潛在可交付所需要的所有事情。所有為了交付產品所需的活動都應被包含在“潛在可交付”的定義中,並且要在這個Sprint中完成。
遺憾的是,當團隊開始使用Scrum時他們通常做不到在每個Sprint都能交付出“潛在可交付增量”這個目標。這通常是因為團隊缺少自動化或者不夠跨職能(例如,技術文件撰寫者還沒有被包含在跨職能團隊中)。隨著時間的過去,團隊必須要提高從而能夠在每個Sprint交付“潛在可交付產品增量”。但是為了開始,他們需要建立一個他們當前能力的基線。這會被記錄在“完成的定義”中。
在第一個Sprint開始前,產品負責人和團隊要對於“完成的定義”達成共識,“完成的定義”是建立“潛在可交付產品增量”所需要的活動的子集(對於一個好的團隊來講兩者是一樣的)。團隊會根據“完成的定義”來計劃他們在Sprint中的工作。
一個好的產品負責人總是會希望“完成的定義”與“潛在可交付”越接近越好,因為這樣會增加開發中的透明度並降低延遲和風險。如果“完成的定義”不等同於“潛在可交付”,那麼就會有工作被延遲到釋出之前,這會導致風險和延遲。因此被延遲的工作有時被稱為未完成的工作。
Scrum團隊應當持續地改進,這一點會表現在對“完成的定義”的擴充套件上。