Neste post vamos falar sobre a Definição de pronto, também conhecida como DoD (Definition of Done). Ao adotarmos métodos ágeis, este é um conceito-chave, pois ao final de cada iteração, um incremento de produto deve estar pronto pelo time. No Scrum, por exemplo, o pilar de transparência*, menciona que “aqueles que realizam o trabalho e aqueles que inspecionam o incremento resultado do trabalho devem compartilhar uma definição comum de Pronto”.
* os três pilares que apoiam a implementação de controle de processo empírico: transparência, inspeção e adaptação
Definição de pronto
O Scrum então resume os principais aspectos a serem considerados na DoD:
- Quando um item do Backlog do Produto ou um incremento é descrito como “Pronto”, todos devem entender o que o “Pronto” significa, pois será usado pelo time para assegurar quando o trabalho está completado no incremento do produto.
- Ela orienta o time de desenvolvimento no conhecimento de quantos itens do Backlog do Produto podem ser selecionados durante o Planejamento da Sprint.
- Como o time de desenvolvimento entrega um incremento de funcionalidade do produto a cada Sprint. Este incremento é utilizável, então o Product Owner pode escolher por liberá-lo imediatamente.
- Se há múltiplos Times Scrum trabalhando no sistema ou versão do produto, os Times de Desenvolvimento de todos os Times Scrum devem mutuamente definir uma definição de “Pronto”.
- Cada incremento é adicionado a todos os incrementos anteriores e completamente testado, garantindo que todos os incrementos funcionam juntos.
Considerando todos os itens mencionados acima, o desenho abaixo representa um resumo para a definição de pronto :
E alguns exemplos utilizando a Definição de Pronto:
Por fim, a Definição de Pronto traz benefícios ao seu ambiente de trabalho por aumentar a transparência e previsibilidade dos incrementos. Entre os principais, podemos destacar:
- Todos interessados sabem exatamente o que significa um produto pronto
- As entregas passam a ser mais previsíveis
- Serve como um acordo entre o PO e time desenvolvimento
- Ajuda a assegurar que o incremento esteja em condições de ser liberado para produção ao final da iteração
- Ajuda o time no planejamento da sprint