Por Abhay Talreja
28/12/2025
Mi ΓΊltimo artΓculo - Empirical Process Control - The Key to Agile Success
Definition of Done:
Estandares de Calidad para Cada Increment
La Definition of Done (DoD) es un compromiso formal en Scrum y Agile que establece los criterios de calidad que cada item del Product Backlog e Increment debe cumplir antes de considerarse completo. No es solo una checklist - es un entendimiento compartido entre todo el Scrum Team sobre lo que significa "done", creando transparencia y asegurando Increments potencialmente entregables.
Caracteristicas clave: La Definition of Done se aplica universalmente a TODO el trabajo (a diferencia de los Acceptance Criteria que varian por story), evoluciona a medida que maduran las capacidades del equipo, y es innegociable - el trabajo que no cumple con DoD no puede liberarse. Tipicamente incluye revision de codigo, pruebas automatizadas con umbrales de cobertura especificos, actualizaciones de documentacion, escaneos de seguridad y verificacion de despliegue.
Distincion critica: La Definition of Done define estandares de CALIDAD (ej., "codigo revisado," "tests >80% cobertura"), mientras que Acceptance Criteria define requisitos FUNCIONALES (ej., "el usuario puede iniciar sesion con email"). Ambos deben cumplirse para que el trabajo este realmente Done.
| Aspecto | Detalles |
|---|---|
| Definicion | Descripcion formal de estandares de calidad que un Increment debe cumplir |
| Proposito | Crea transparencia sobre lo que significa "done" para todo el equipo |
| Alcance | Se aplica a cada item del Product Backlog y Sprint Increment |
| Quien la Crea | Scrum Team colaborativamente (con estandares organizacionales como base) |
| Ejemplos | Codigo revisado, tests >80% cobertura, escaneo de seguridad pasado, desplegado a staging |
| Principio Clave | El trabajo que no cumple DoD NO esta Done - no puede liberarse ni demostrarse |
| Evolucion | Los equipos fortalecen DoD con el tiempo a medida que mejoran las capacidades (basico β intermedio β avanzado) |
| Error Comun | Confundir DoD con Acceptance Criteria (DoD = calidad, AC = funcionalidad) |
En esta guia completa, descubriras:
La Definition of Done no es solo otra formalidad de Scrum - es el guardian de calidad que previene la acumulacion de deuda tecnica y asegura que cada Sprint entregue Increments potencialmente entregables. Este compromiso critico permite a los equipos:
Ya sea que estes estableciendo DoD para un nuevo equipo Scrum, fortaleciendo DoD para un equipo en maduracion, o asegurando cumplimiento en industrias reguladas (salud, finanzas, gobierno), esta guia proporciona marcos probados para el exito.
Insight Clave: La Definition of Done es innegociable. Cuando la presion aumenta para cumplir los Sprint Goals, la respuesta correcta es reducir el alcance (entregar menos items completamente Done) en lugar de comprometer la calidad (entregar mas items incompletos). Los equipos que comprometen DoD acumulan deuda tecnica paralizante y socavan la base empirica de Scrum.
Exploremos como crear, implementar y evolucionar una Definition of Done que transforme las capacidades de calidad y entrega de tu equipo.
En Scrum, "doneness" se refiere al estado de completitud de un Product Backlog Item (PBI) o un Increment.
Indica que el trabajo ha sido terminado a un nivel de calidad y completitud que es aceptable para el Scrum Team y los stakeholders.
Para asegurar un entendimiento compartido de cuando un PBI o Increment se considera completo, los Scrum Teams usan la Definition of Done.
La Definition of Done (DoD) es un entendimiento compartido entre los miembros del Scrum Team de los criterios que deben cumplirse para que un PBI o Increment se considere completo.
Establece un conjunto claro y consistente de expectativas, asegurando que todos en el equipo sepan que se requiere para terminar una tarea exitosamente.
La Definition of Done es esencialmente una checklist acordada de tareas y criterios que deben cumplirse antes de que un proyecto o user story pueda considerarse completo.Mientras las especificidades pueden variar de una organizacion a otra, una DoD tipica abarca items clave como:
Estos checkpoints colectivamente sirven como guardian, distinguiendo entre trabajo "en progreso" y el que esta genuinamente "done."
Actuan como una red de seguridad para mantener calidad y completitud a lo largo del proceso de desarrollo.
Segun la Guia Scrum, la Definition of Done sirve como un blueprint formal del estado que un Increment debe alcanzar para cumplir con los estandares de calidad requeridos para el producto.
Una vez que se cumplen los criterios de la Definition of Done, el Increment gana el codiciado estado de "Done" y esta listo para entrega.
Uno de los objetivos principales de DoD es fomentar un entendimiento comun dentro del equipo sobre calidad y completitud.
Cuando todos estan de acuerdo en lo que significa 'done', elimina confusion y agiliza el proceso de desarrollo.
DoD actua como una checklist confiable contra la cual se verifican las User Stories o Product Backlog Items.
Esto asegura que nada se escape, y cada aspecto de una tarea sea examinado meticulosamente.
En ultima instancia, el objetivo primordial de DoD es asegurar que el increment enviado al final del Sprint sea de alta calidad.
Esta calidad debe ser claramente entendida por todos los miembros del equipo, stakeholders y cualquier persona involucrada en el proyecto.
Tener una Definition of Done bien definida es esencial en el desarrollo Agile por varias razones:
Definir la DoD debe ser un esfuerzo colaborativo que involucre a stakeholders y aquellos responsables del trabajo real.
Ya sea que comience con brainstorming o un marco propuesto por el equipo tecnico, amplias oportunidades para retroalimentacion y apoyo unanime para la DoD final son esenciales.
Asignar propiedad a cada criterio ayuda a resolver disputas y mantener consistencia.
En adherencia al principio Agile de simplicidad, la DoD debe ser concisa. Su proposito es asegurar calidad consistente, no crear obstaculos burocraticos.
Complicar demasiado la DoD puede impedir el progreso en lugar de facilitarlo.
Para crear una Definition of Done efectiva para tu Scrum Team, sigue estos pasos:
Colaborar: Involucra a todo el Scrum Team en la creacion de la DoD, asegurando que se considere la perspectiva de todos, y se establezca un entendimiento compartido.
Definir Criterios: Identifica los criterios que deben cumplirse para que un PBI o Increment se considere completo. Incluye aspectos como funcionalidad, calidad, rendimiento, documentacion y cumplimiento.
Mantenerla Visible: Haz la DoD facilmente accesible y visible para todo el Scrum Team, asegurando que los miembros del equipo siempre esten conscientes de las expectativas.
Revisar y Actualizar: Revisa y actualiza regularmente la DoD basandote en los aprendizajes, experiencias y requisitos cambiantes del Scrum Team.
Para determinar donde pertenece una actividad en la jerarquia de DoD, tres preguntas deben guiar tu proceso de toma de decisiones:
Muchos equipos confunden Definition of Done con Acceptance Criteria - pero sirven propositos diferentes y deben trabajar juntas.
Alcance: Se aplica a TODO el trabajo en TODOS los Product Backlog items
Proposito: Define estandares de calidad y practicas tecnicas
Quien la Define: Scrum Team colaborativamente (a menudo heredada de estandares organizacionales)
Ejemplos de Items de DoD:
Punto Clave: DoD es consistente entre todos los features - cada item debe cumplir la misma barra de calidad.
Alcance: Unico para cada Product Backlog item o user story especifico
Proposito: Define requisitos funcionales y logica de negocio
Quien la Define: Product Owner (con input de Developers sobre viabilidad)
Ejemplo de AC para Story "Login de Usuario":
Punto Clave: AC varia por story - cada feature tiene requisitos funcionales unicos.
| Aspecto | Definition of Done | Acceptance Criteria |
|---|---|---|
| Se aplica a | Todo el trabajo igualmente | Cada story unicamente |
| Responde | "Es trabajo de calidad?" | "Funciona como se pretende?" |
| Define | Estandares tecnicos | Comportamiento funcional |
| Ejemplo | "Codigo revisado" | "Usuario puede resetear contrasena" |
| Creada por | Scrum Team | Product Owner |
| Cambia | Raramente (evoluciona gradualmente) | Cada story (unica cada vez) |
Ambas deben cumplirse: El trabajo solo esta "Done" cuando cumple tanto la Definition of Done (calidad) como los Acceptance Criteria (funcionalidad).
Diferentes industrias requieren diferentes items de DoD basados en cumplimiento, seguridad y requisitos especificos del dominio.
β Codigo revisado y aprobado
β Unit tests pasando (minimo 80% cobertura)
β Integration tests pasando
β Documentacion de API actualizada
β Escaneo de vulnerabilidades de seguridad pasado
β Performance testing completado (< 2s tiempo de respuesta)
β Feature flag configurado
β Monitoreo y alertas configurados
β Runbook de despliegue actualizado
β Product Owner aproboβ Codigo revisado por developer senior
β Todos los tests pasando (unit, integration, E2E)
β Checklist de cumplimiento HIPAA completado
β Encriptacion de datos PHI verificada
β Audit logging implementado
β Controles de acceso probados
β Revision de seguridad pasada
β Evaluacion de impacto de privacidad completada
β Documentacion actualizada (tecnica + usuario)
β Oficial de cumplimiento aproboβ Codigo revisado (revision dual para rutas criticas)
β Tests automatizados pasando (>90% cobertura)
β Cumplimiento PCI-DSS verificado
β Penetration testing completado
β Tests de integridad de transacciones pasados
β Procedimiento de rollback documentado
β Reglas de deteccion de fraude actualizadas
β Capacidad de reporte regulatorio verificada
β Audit trail implementado
β Change Advisory Board aproboβ Codigo peer-reviewed
β Unit + integration tests pasando
β Cross-browser testing completado (Chrome, Safari, Firefox, Edge)
β Diseno responsive movil verificado
β Tiempo de carga de pagina < 3 segundos
β Analytics tracking implementado
β SEO meta tags agregados
β Flujo de carrito y checkout probado
β Integracion de payment gateway probada
β User acceptance testing pasadoβ Codigo revisado
β Unit tests pasando (>75% cobertura)
β UI/UX coincide con specs de diseno
β Probado en iOS (ultima + 2 versiones anteriores)
β Probado en Android (ultima + 3 versiones anteriores)
β Estandares de accesibilidad cumplidos (WCAG 2.1 AA)
β Screenshots y descripciones de app store listos
β Crash reporting configurado
β Analytics events rastreando correctamente
β Privacy policy y permisos actualizadosβ Infrastructure as Code (IaC) peer-reviewed
β Tests automatizados pasando
β Security groups y IAM policies revisadas
β Estimacion de costos completada
β Dashboards de monitoreo creados
β Alertas y runbooks documentados
β Disaster recovery probado
β Ticket de change management aprobado
β Despliegue verificado en staging
β Procedimiento de rollback documentado y probadoSegun Scrum Alliance y expertos Agile, DoD puede existir en multiples niveles - los equipos deben decidir conscientemente donde pertenece cada actividad de calidad.
Actividades realizadas para CADA Product Backlog item
β Codigo escrito siguiendo estandares de codificacion β Unit tests escritos y pasando β Codigo peer-reviewed β Acceptance Criteria cumplidos β Testing local completado
Pregunta: Podemos realisticamente hacer esto para cada feature individual?
Actividades realizadas una vez por Sprint para el Increment completo
β Integration testing entre todos los features del Sprint β Suite de regression testing ejecutada β Performance testing completado β Security scan ejecutado β Documentacion del Sprint consolidada β Increment desplegado a ambiente de staging
Pregunta: Si no es factible por feature, podemos hacerlo una vez por Sprint?
Actividades realizadas antes de liberar a produccion
β User acceptance testing (UAT) con stakeholders β Load testing bajo condiciones similares a produccion β Penetration testing y auditoria de seguridad β Revision de cumplimiento y sign-off β Runbook de despliegue a produccion ejecutado β Materiales de marketing y release notes preparados β Soporte al cliente entrenado en nuevos features
Pregunta: Si no es factible por Sprint, debemos hacerlo antes del release?
Realidad: No todas las actividades de calidad pueden hacerse para cada feature. Ejemplos:
Solucion: Se explicito sobre a que nivel pertenece cada actividad de DoD. Esto crea:
Problema: El equipo trata DoD como requisitos funcionales en lugar de estandares de calidad
Ejemplo: DoD incluye "Usuario puede iniciar sesion con email" (esto es Acceptance Criteria)
Correccion: DoD debe ser estandares tecnicos/de calidad (ej., "Todos los features orientados al usuario tienen >80% cobertura de tests"), no especificaciones funcionales
Problema: DoD incluye actividades que el equipo realmente no puede completar cada Sprint
Ejemplo: "Auditoria de seguridad completa por firma externa" (cuesta $50K, toma 3 semanas)
Correccion: Mover esto a DoD de nivel Release. DoD de Sprint podria ser "Escaneo de seguridad automatizado pasado"
Problema: Declaraciones genericas que no impulsan accion
Ejemplo: "El codigo debe ser de alta calidad" o "Testing completo"
Correccion: Se especifico: "Codigo revisado por developer senior" y "Unit tests >80% cobertura, integration tests pasando, smoke tests pasados"
Problema: El equipo usa la misma DoD por anos a pesar de ganar capacidades
Ejemplo: El equipo aprende automated testing pero DoD aun dice "Solo testing manual"
Correccion: Revisar DoD trimestralmente en Retrospectives. A medida que el equipo mejora, fortalecer DoD (ej., subir cobertura de tests de 70% β 80% β 90%)
Problema: El equipo compromete DoD para cumplir Sprint Goal, acumulando deuda tecnica
Ejemplo: "Saltaremos code review esta vez - estamos atrasados"
Correccion: DoD es innegociable. Si no puedes cumplir DoD, el trabajo NO esta Done. Reduce alcance en lugar de comprometer calidad
Problema: Solo el Scrum Master o tech lead define DoD sin input del equipo
Ejemplo: Tech lead crea checklist de 20 items de DoD sin consultar a Developers
Correccion: Todo el Scrum Team colabora en DoD. Todos deben entenderla y comprometerse con ella
Problema: DoD vive en una wiki que nadie revisa
Ejemplo: "Donde esta nuestra DoD?" "Uh... en algun lugar en Confluence?"
Correccion: Hacer DoD visible en tu board, en Sprint Planning, y durante Sprint Review
Problema: Items de DoD existen pero nadie verifica cumplimiento
Ejemplo: DoD dice "Documentacion actualizada" pero nadie verifica si sucedio
Correccion: Asignar propiedad clara para verificacion de cada item de DoD, o hacerlo parte del checklist de code review
Los grandes equipos no comienzan con DoD perfecta - la fortalecen con el tiempo a medida que mejoran las capacidades.
DoD Tipica:
β Codigo escrito
β Codigo committed a control de versiones
β Testing manual basico completado
β Acceptance Criteria cumplidosCaracteristicas:
Enfoque de Mejora: Introducir automated unit testing y peer review
DoD Tipica:
β Codigo revisado por par
β Unit tests escritos (>60% cobertura)
β Integration tests pasando
β Acceptance Criteria cumplidos
β Desplegado a ambiente de test
β Documentacion basica actualizadaCaracteristicas:
Enfoque de Mejora: Aumentar cobertura de tests, agregar automated deployment
DoD Tipica:
β Codigo revisado y aprobado
β Unit tests pasando (>85% cobertura)
β Integration tests pasando
β E2E tests pasando
β Security scan pasado
β Benchmarks de rendimiento cumplidos (<2s respuesta)
β Estandares de accesibilidad verificados (WCAG 2.1 AA)
β Documentacion actualizada (codigo + usuario)
β Feature flag configurado
β Monitoreo/alertas configurados
β Desplegado automaticamente a staging
β Product Owner aprobo en stagingCaracteristicas:
Enfoque de Mejora: Mejora continua a traves de metricas y feedback
Paso 1: Identificar Brechas Actuales
Durante Sprint Retrospective, preguntar:
Paso 2: Agregar Una Mejora a la Vez
No abrumar al equipo. Fortalecer DoD incrementalmente:
Paso 3: Invertir en Construccion de Capacidades
DoD solo puede mejorar si las capacidades del equipo mejoran:
Paso 4: Medir y Adaptar
Rastrear metricas para validar mejoras de DoD:
La Definition of Done es crucial para mantener transparencia, alinear expectativas de los miembros del equipo, y entregar un increment potencialmente liberable al final de cada sprint.
Va mas alla de la funcionalidad para afirmar la calidad de un feature. Informada por la realidad, se adapta a varios niveles, proporcionando claridad, y fomentando comunicacion dentro del equipo y con stakeholders.
Ayuda a prevenir que trabajo incompleto o de baja calidad se considere "done" y proporciona una guia clara de cuando el trabajo de desarrollo esta verdaderamente completo.
Entender la DoD y aplicarla efectivamente es un viaje hacia entregar no solo software sino excelencia en cada linea de codigo.
Al embarcarte en este viaje, recuerda que la Definition of Done es una herramienta dinamica, siempre lista para evolucionar y guiar a tu equipo hacia mayores 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?