Por Abhay Talreja
28/12/2025
Meu ΓΊltimo artigo - Empirical Process Control - The Key to Agile Success
Definition of Done:
Padroes de Qualidade para Cada Increment
A Definition of Done (DoD) e um compromisso formal em Scrum e Agile que estabelece os criterios de qualidade que cada item do Product Backlog e Increment deve cumprir antes de ser considerado completo. Nao e apenas uma checklist - e um entendimento compartilhado entre todo o Scrum Team sobre o que significa "done", criando transparencia e garantindo Increments potencialmente entregaveis.
Caracteristicas principais: A Definition of Done se aplica universalmente a TODO o trabalho (diferente dos Acceptance Criteria que variam por story), evolui conforme as capacidades do time amadurecem, e e inegociavel - trabalho que nao cumpre a DoD nao pode ser liberado. Tipicamente inclui revisao de codigo, testes automatizados com limites de cobertura especificos, atualizacoes de documentacao, scans de seguranca e verificacao de deployment.
Distincao critica: A Definition of Done define padroes de QUALIDADE (ex., "codigo revisado," "tests >80% cobertura"), enquanto Acceptance Criteria define requisitos FUNCIONAIS (ex., "o usuario pode fazer login com email"). Ambos devem ser cumpridos para que o trabalho esteja realmente Done.
| Aspecto | Detalhes |
|---|---|
| Definicao | Descricao formal de padroes de qualidade que um Increment deve cumprir |
| Proposito | Cria transparencia sobre o que significa "done" para todo o time |
| Escopo | Se aplica a cada item do Product Backlog e Sprint Increment |
| Quem Cria | Scrum Team colaborativamente (com padroes organizacionais como base) |
| Exemplos | Codigo revisado, tests >80% cobertura, scan de seguranca passou, deployed em staging |
| Principio Chave | Trabalho que nao cumpre DoD NAO esta Done - nao pode ser liberado ou demonstrado |
| Evolucao | Times fortalecem DoD ao longo do tempo conforme capacidades melhoram (basico β intermediario β avancado) |
| Erro Comum | Confundir DoD com Acceptance Criteria (DoD = qualidade, AC = funcionalidade) |
Neste guia completo, voce descobrira:
A Definition of Done nao e apenas outra formalidade do Scrum - e o guardiao de qualidade que previne o acumulo de divida tecnica e garante que cada Sprint entregue Increments potencialmente entregaveis. Este compromisso critico permite que os times:
Seja voce estabelecendo DoD para um novo time Scrum, fortalecendo DoD para um time em maturacao, ou garantindo cumprimento em industrias reguladas (saude, financas, governo), este guia fornece frameworks comprovados para o sucesso.
Insight Chave: A Definition of Done e inegociavel. Quando a pressao aumenta para cumprir os Sprint Goals, a resposta correta e reduzir o escopo (entregar menos items completamente Done) em vez de comprometer a qualidade (entregar mais items incompletos). Times que comprometem DoD acumulam divida tecnica paralisante e minam a base empirica do Scrum.
Vamos explorar como criar, implementar e evoluir uma Definition of Done que transforme as capacidades de qualidade e entrega do seu time.
Em Scrum, "doneness" se refere ao estado de completude de um Product Backlog Item (PBI) ou um Increment.
Indica que o trabalho foi terminado a um nivel de qualidade e completude que e aceitavel para o Scrum Team e os stakeholders.
Para garantir um entendimento compartilhado de quando um PBI ou Increment e considerado completo, os Scrum Teams usam a Definition of Done.
A Definition of Done (DoD) e um entendimento compartilhado entre os membros do Scrum Team dos criterios que devem ser cumpridos para que um PBI ou Increment seja considerado completo.
Estabelece um conjunto claro e consistente de expectativas, garantindo que todos no time saibam o que e necessario para terminar uma tarefa com sucesso.
A Definition of Done e essencialmente uma checklist acordada de tarefas e criterios que devem ser cumpridos antes que um projeto ou user story possa ser considerado completo.Enquanto as especificidades podem variar de uma organizacao para outra, uma DoD tipica abrange items chave como:
Estes checkpoints coletivamente servem como guardiao, distinguindo entre trabalho "em progresso" e aquele que esta genuinamente "done."
Atuam como uma rede de seguranca para manter qualidade e completude ao longo do processo de desenvolvimento.
Segundo o Guia Scrum, a Definition of Done serve como um blueprint formal do estado que um Increment deve alcancar para cumprir com os padroes de qualidade requeridos para o produto.
Uma vez que os criterios da Definition of Done sao cumpridos, o Increment ganha o cobicado status de "Done" e esta pronto para entrega.
Um dos objetivos principais da DoD e fomentar um entendimento comum dentro do time sobre qualidade e completude.
Quando todos estao de acordo sobre o que significa 'done', elimina confusao e agiliza o processo de desenvolvimento.
DoD atua como uma checklist confiavel contra a qual se verificam as User Stories ou Product Backlog Items.
Isso garante que nada escape, e cada aspecto de uma tarefa seja examinado meticulosamente.
Em ultima instancia, o objetivo primordial da DoD e garantir que o increment enviado ao final do Sprint seja de alta qualidade.
Esta qualidade deve ser claramente entendida por todos os membros do time, stakeholders e qualquer pessoa envolvida no projeto.
Ter uma Definition of Done bem definida e essencial no desenvolvimento Agile por varias razoes:
Definir a DoD deve ser um esforco colaborativo que envolva stakeholders e aqueles responsaveis pelo trabalho real.
Seja que comece com brainstorming ou um framework proposto pelo time tecnico, amplas oportunidades para feedback e apoio unanime para a DoD final sao essenciais.
Atribuir propriedade a cada criterio ajuda a resolver disputas e manter consistencia.
Em aderencia ao principio Agile de simplicidade, a DoD deve ser concisa. Seu proposito e garantir qualidade consistente, nao criar obstaculos burocraticos.
Complicar demais a DoD pode impedir o progresso em vez de facilita-lo.
Para criar uma Definition of Done eficaz para seu Scrum Team, siga estes passos:
Colaborar: Envolva todo o Scrum Team na criacao da DoD, garantindo que a perspectiva de todos seja considerada, e um entendimento compartilhado seja estabelecido.
Definir Criterios: Identifique os criterios que devem ser cumpridos para que um PBI ou Increment seja considerado completo. Inclua aspectos como funcionalidade, qualidade, desempenho, documentacao e cumprimento.
Mante-la Visivel: Torne a DoD facilmente acessivel e visivel para todo o Scrum Team, garantindo que os membros do time estejam sempre cientes das expectativas.
Revisar e Atualizar: Revise e atualize regularmente a DoD baseando-se nos aprendizados, experiencias e requisitos em mudanca do Scrum Team.
Para determinar onde pertence uma atividade na hierarquia de DoD, tres perguntas devem guiar seu processo de tomada de decisao:
Muitos times confundem Definition of Done com Acceptance Criteria - mas servem propositos diferentes e devem trabalhar juntas.
Escopo: Se aplica a TODO o trabalho em TODOS os Product Backlog items
Proposito: Define padroes de qualidade e praticas tecnicas
Quem Define: Scrum Team colaborativamente (frequentemente herdada de padroes organizacionais)
Exemplos de Items de DoD:
Ponto Chave: DoD e consistente entre todos os features - cada item deve cumprir a mesma barra de qualidade.
Escopo: Unico para cada Product Backlog item ou user story especifico
Proposito: Define requisitos funcionais e logica de negocio
Quem Define: Product Owner (com input dos Developers sobre viabilidade)
Exemplo de AC para Story "Login de Usuario":
Ponto Chave: AC varia por story - cada feature tem requisitos funcionais unicos.
| Aspecto | Definition of Done | Acceptance Criteria |
|---|---|---|
| Se aplica a | Todo o trabalho igualmente | Cada story unicamente |
| Responde | "E trabalho de qualidade?" | "Funciona como pretendido?" |
| Define | Padroes tecnicos | Comportamento funcional |
| Exemplo | "Codigo revisado" | "Usuario pode resetar senha" |
| Criada por | Scrum Team | Product Owner |
| Muda | Raramente (evolui gradualmente) | Cada story (unica cada vez) |
Ambas devem ser cumpridas: O trabalho so esta "Done" quando cumpre tanto a Definition of Done (qualidade) quanto os Acceptance Criteria (funcionalidade).
Diferentes industrias requerem diferentes items de DoD baseados em cumprimento, seguranca e requisitos especificos do dominio.
β Codigo revisado e aprovado
β Unit tests passando (minimo 80% cobertura)
β Integration tests passando
β Documentacao de API atualizada
β Scan de vulnerabilidades de seguranca passou
β Performance testing completado (< 2s tempo de resposta)
β Feature flag configurado
β Monitoramento e alertas configurados
β Runbook de deployment atualizado
β Product Owner aprovouβ Codigo revisado por developer senior
β Todos os tests passando (unit, integration, E2E)
β Checklist de cumprimento HIPAA completado
β Criptografia de dados PHI verificada
β Audit logging implementado
β Controles de acesso testados
β Revisao de seguranca passou
β Avaliacao de impacto de privacidade completada
β Documentacao atualizada (tecnica + usuario)
β Oficial de cumprimento aprovouβ Codigo revisado (revisao dual para caminhos criticos)
β Tests automatizados passando (>90% cobertura)
β Cumprimento PCI-DSS verificado
β Penetration testing completado
β Tests de integridade de transacoes passaram
β Procedimento de rollback documentado
β Regras de deteccao de fraude atualizadas
β Capacidade de relatorio regulatorio verificada
β Audit trail implementado
β Change Advisory Board aprovouβ Codigo peer-reviewed
β Unit + integration tests passando
β Cross-browser testing completado (Chrome, Safari, Firefox, Edge)
β Design responsivo movel verificado
β Tempo de carregamento de pagina < 3 segundos
β Analytics tracking implementado
β SEO meta tags adicionados
β Fluxo de carrinho e checkout testado
β Integracao de payment gateway testada
β User acceptance testing passouβ Codigo revisado
β Unit tests passando (>75% cobertura)
β UI/UX coincide com specs de design
β Testado em iOS (ultima + 2 versoes anteriores)
β Testado em Android (ultima + 3 versoes anteriores)
β Padroes de acessibilidade cumpridos (WCAG 2.1 AA)
β Screenshots e descricoes de app store prontos
β Crash reporting configurado
β Analytics events rastreando corretamente
β Privacy policy e permissoes atualizadosβ Infrastructure as Code (IaC) peer-reviewed
β Tests automatizados passando
β Security groups e IAM policies revisadas
β Estimativa de custos completada
β Dashboards de monitoramento criados
β Alertas e runbooks documentados
β Disaster recovery testado
β Ticket de change management aprovado
β Deployment verificado em staging
β Procedimento de rollback documentado e testadoSegundo Scrum Alliance e especialistas Agile, DoD pode existir em multiplos niveis - os times devem decidir conscientemente onde pertence cada atividade de qualidade.
Atividades realizadas para CADA Product Backlog item
β Codigo escrito seguindo padroes de codificacao β Unit tests escritos e passando β Codigo peer-reviewed β Acceptance Criteria cumpridos β Testing local completado
Pergunta: Podemos realisticamente fazer isso para cada feature individual?
Atividades realizadas uma vez por Sprint para o Increment completo
β Integration testing entre todos os features do Sprint β Suite de regression testing executada β Performance testing completado β Security scan executado β Documentacao do Sprint consolidada β Increment deployed em ambiente de staging
Pergunta: Se nao e viavel por feature, podemos fazer uma vez por Sprint?
Atividades realizadas antes de liberar para producao
β User acceptance testing (UAT) com stakeholders β Load testing sob condicoes similares a producao β Penetration testing e auditoria de seguranca β Revisao de cumprimento e sign-off β Runbook de deployment para producao executado β Materiais de marketing e release notes preparados β Suporte ao cliente treinado nos novos features
Pergunta: Se nao e viavel por Sprint, devemos fazer antes do release?
Realidade: Nem todas as atividades de qualidade podem ser feitas para cada feature. Exemplos:
Solucao: Seja explicito sobre em que nivel pertence cada atividade de DoD. Isso cria:
Problema: O time trata DoD como requisitos funcionais em vez de padroes de qualidade
Exemplo: DoD inclui "Usuario pode fazer login com email" (isso e Acceptance Criteria)
Correcao: DoD deve ser padroes tecnicos/de qualidade (ex., "Todos os features orientados ao usuario tem >80% cobertura de tests"), nao especificacoes funcionais
Problema: DoD inclui atividades que o time realmente nao pode completar cada Sprint
Exemplo: "Auditoria de seguranca completa por firma externa" (custa $50K, leva 3 semanas)
Correcao: Mover isso para DoD de nivel Release. DoD de Sprint poderia ser "Scan de seguranca automatizado passou"
Problema: Declaracoes genericas que nao impulsionam acao
Exemplo: "O codigo deve ser de alta qualidade" ou "Testing completo"
Correcao: Seja especifico: "Codigo revisado por developer senior" e "Unit tests >80% cobertura, integration tests passando, smoke tests passaram"
Problema: O time usa a mesma DoD por anos apesar de ganhar capacidades
Exemplo: O time aprende automated testing mas DoD ainda diz "Apenas testing manual"
Correcao: Revisar DoD trimestralmente em Retrospectives. Conforme o time melhora, fortalecer DoD (ex., subir cobertura de tests de 70% β 80% β 90%)
Problema: O time compromete DoD para cumprir Sprint Goal, acumulando divida tecnica
Exemplo: "Vamos pular code review desta vez - estamos atrasados"
Correcao: DoD e inegociavel. Se nao pode cumprir DoD, o trabalho NAO esta Done. Reduza escopo em vez de comprometer qualidade
Problema: Apenas o Scrum Master ou tech lead define DoD sem input do time
Exemplo: Tech lead cria checklist de 20 items de DoD sem consultar os Developers
Correcao: Todo o Scrum Team colabora na DoD. Todos devem entende-la e comprometer-se com ela
Problema: DoD vive numa wiki que ninguem revisa
Exemplo: "Onde esta nossa DoD?" "Uh... em algum lugar no Confluence?"
Correcao: Tornar DoD visivel no seu board, em Sprint Planning, e durante Sprint Review
Problema: Items de DoD existem mas ninguem verifica cumprimento
Exemplo: DoD diz "Documentacao atualizada" mas ninguem verifica se aconteceu
Correcao: Atribuir propriedade clara para verificacao de cada item de DoD, ou torna-lo parte do checklist de code review
Grandes times nao comecam com DoD perfeita - a fortalecem ao longo do tempo conforme as capacidades melhoram.
DoD Tipica:
β Codigo escrito
β Codigo committed no controle de versao
β Testing manual basico completado
β Acceptance Criteria cumpridosCaracteristicas:
Foco de Melhoria: Introduzir automated unit testing e peer review
DoD Tipica:
β Codigo revisado por par
β Unit tests escritos (>60% cobertura)
β Integration tests passando
β Acceptance Criteria cumpridos
β Deployed em ambiente de teste
β Documentacao basica atualizadaCaracteristicas:
Foco de Melhoria: Aumentar cobertura de tests, adicionar automated deployment
DoD Tipica:
β Codigo revisado e aprovado
β Unit tests passando (>85% cobertura)
β Integration tests passando
β E2E tests passando
β Security scan passou
β Benchmarks de desempenho cumpridos (<2s resposta)
β Padroes de acessibilidade verificados (WCAG 2.1 AA)
β Documentacao atualizada (codigo + usuario)
β Feature flag configurado
β Monitoramento/alertas configurados
β Deployed automaticamente em staging
β Product Owner aprovou em stagingCaracteristicas:
Foco de Melhoria: Melhoria continua atraves de metricas e feedback
Passo 1: Identificar Lacunas Atuais
Durante Sprint Retrospective, perguntar:
Passo 2: Adicionar Uma Melhoria de Cada Vez
Nao sobrecarregar o time. Fortalecer DoD incrementalmente:
Passo 3: Investir em Construcao de Capacidades
DoD so pode melhorar se as capacidades do time melhoram:
Passo 4: Medir e Adaptar
Rastrear metricas para validar melhorias de DoD:
A Definition of Done e crucial para manter transparencia, alinhar expectativas dos membros do time, e entregar um increment potencialmente liberavel ao final de cada sprint.
Vai alem da funcionalidade para afirmar a qualidade de um feature. Informada pela realidade, se adapta a varios niveis, fornecendo clareza, e fomentando comunicacao dentro do time e com stakeholders.
Ajuda a prevenir que trabalho incompleto ou de baixa qualidade seja considerado "done" e fornece uma guia clara de quando o trabalho de desenvolvimento esta verdadeiramente completo.
Entender a DoD e aplica-la efetivamente e uma jornada em direcao a entregar nao apenas software mas excelencia em cada linha de codigo.
Ao embarcar nesta jornada, lembre-se que a Definition of Done e uma ferramenta dinamica, sempre pronta para evoluir e guiar seu time para maiores alturas.
Is definition of done a Scrum artifact?
Is definition of done the same as acceptance criteria?
What is definition of done in testing?
Can definition of done be changed?
When is the definition of done created?
Who creates the definition of done in Agile?
Definition of done vs Sprint Goal - what's the difference?
Is the Definition of Done the same for every Agile team or organization?
What happens if work doesn't meet the Definition of Done by Sprint end?
How do you create an effective Definition of Done for a new team?
Can the Product Owner override the Definition of Done?
What are the three levels of Definition of Done?
How does Definition of Done help reduce technical debt?
How does Definition of Done work with distributed or remote teams?
Should Definition of Done include non-functional requirements like performance and security?