¿Qué es la Definition of Done (DoD) en Agile?
La Definition of Done o DoD es un tipo específico de acuerdo de trabajo. Captura el entendimiento compartido de un equipo sobre qué significa "hecho" para ellos. El concepto de Definition of Done se popularizó a través del framework Scrum.
La Guía Scrum establece:
"La Definition of Done crea transparencia al proporcionar a todos un entendimiento compartido de qué trabajo se completó como parte del Incremento. Si un Product Backlog Item no cumple con la Definition of Done, no puede ser liberado ni siquiera presentado en el Sprint Review. En su lugar, regresa al Product Backlog para consideración futura."
Muchos equipos consideran su Definition of Done como una especie de lista de verificación para asegurarse de que han cubierto todos los requisitos necesarios antes de declarar que un ítem está hecho. Esto también significa que la DoD representa en última instancia una verificación de calidad para el equipo por el equipo.
Más que una formación
Embárcate en tu viaje personal de habilitación sostenible con algunos de los mejores educadores del mundo y triunfa en tu nuevo rol.
¿Qué es la Definition of Done en SAFe u otros frameworks de escalado?
El Scaled Agile Framework o SAFe no tiene una descripción específica de una Definition of Done más allá de que reconocen y promueven su existencia. SAFe en última instancia consiste en un mayor número de equipos Scrum/Agile, por lo que también promueve los principios básicos de Scrum.
Para cada enfoque escalado de desarrollo de productos, es decir, múltiples equipos trabajando juntos en el mismo producto, se recomienda que estos equipos funcionen de manera sincronizada y compartan las piezas esenciales de una Definition of Done. Cualquier equipo puede agregar más ítems a su Definition of Done, pero ningún equipo debe entregar ítems que otros equipos no consideren como hechos.
¿Por qué es importante una Definition of Done, qué propósitos cumple?
En el momento en que uno comienza a trabajar en un equipo, es importante crear un entendimiento compartido sobre múltiples cosas. Cualquier equipo debe estar alineado en la visión/misión de ese equipo. Cualquier equipo debe tener acuerdos de trabajo co-creados en su lugar. Y como parte de los acuerdos de trabajo, cualquier equipo debe estar alineado sobre qué significa "hecho" para ellos.
Este entendimiento compartido de "hecho" permite que diferentes personas trabajen en diferentes ítems pero aún así entreguen calidad y experiencia de usuario consistentes. También resulta en simplificar el proceso de incorporación de nuevos miembros del equipo. Además, hace que la colaboración entre equipos en un entorno escalado sea mucho más fácil. Y finalmente, asegura que el trabajo de cada equipo y sus miembros cumpla con los requisitos de la organización.
¿Cuándo se crea la Definition of Done?
Se recomienda que los equipos creen sus definiciones de "hecho" lo antes posible y a más tardar antes de la primera planificación del sprint. Sin un entendimiento compartido de qué significa "hecho", es básicamente imposible alinearse sobre cuánto trabajo un equipo puede incorporar en un sprint.
Si un equipo no está dispuesto a crear una Definition of Done antes de la primera planificación del sprint, se darán cuenta durante el sprint o a más tardar en la revisión del sprint de que la calidad que han estado entregando no es consistente y muy probablemente no cumple con las expectativas de los stakeholders.
¿Quién crea la Definition of Done en Scrum?
Múltiples partes están involucradas en la creación de la Definition of Done. En última instancia, es responsabilidad del equipo Scrum crear este entendimiento compartido. Deben considerar la entrada de varios stakeholders para cumplir con sus expectativas.
¿Qué se incluye típicamente en la Definition of Done?
Una Definition of Done típica incluye respuestas a las siguientes preguntas:
- ¿Cómo nos aseguramos de que cumplimos con los requisitos del negocio?
- ¿Cómo nos aseguramos de que tenemos una calidad consistente?
Como ejemplo, una Definition of Done podría ser esta:
- Todos los criterios de aceptación se cumplen
- Todas las pruebas necesarias se han completado exitosamente
- Hemos tenido múltiples verificaciones del trabajo
- Toda la documentación necesaria ha sido creada
- El Product Owner ha revisado el trabajo y está satisfecho
Dependiendo del dominio de trabajo, los equipos pueden tener definiciones de "hecho" más largas (más detalladas) y a veces más cortas (de alto nivel). En la mayoría de los casos, una Definition of Done evoluciona durante el curso de un proyecto y se vuelve más granular.
¿Cuál es la diferencia entre la Definition of Done y la Definition of Ready?
La Definition of Done se refiere a un ítem que está completamente desarrollado, es decir, terminado. Contrario a eso, la Definition of Ready describe el requisito de que un ítem sea lo suficientemente bueno para que un equipo pueda comenzar a trabajar en él.
Además, la Definition of Done se menciona en el Framework Scrum, mientras que la Definition of Ready no. Este es un artefacto que los equipos pueden agregar. Hay, como siempre, pros y contras de hacer eso.
¿Qué es la Definition of Ready en Scrum?
La Definition of Ready captura el entendimiento compartido de los pasos que un equipo necesita tomar para asegurar que un requisito esté bien definido y un equipo pueda incorporarlo en su próximo sprint.
Muchos equipos usan el acrónimo INVEST como su Definition of Ready:
- I = Independiente... ¿es el ítem independiente o hemos considerado dependencias en nuestro proceso de priorización?
- N = Negociable... ¿hemos hablado sobre el ítem?
- V = Valioso... ¿tenemos sentido del valor que estamos creando para nuestros usuarios?
- E = Estimable... ¿podemos estimar el esfuerzo que se requiere para entregar este ítem?
- S = Tamaño apropiado... ¿cabe en nuestro sprint o vemos opciones de hacerlo más pequeño?
- T = Probable... ¿sabemos qué se espera de nosotros, es decir, hemos capturado/documentado los criterios de aceptación?
Esta es una de muchas formas de crear una Definition of Ready. Los aspectos más importantes son que ningún ítem se comience a trabajar sin que el equipo lo haya discutido.
¿Por qué es importante la Definition of Ready?
Similar a la Definition of Done, la Definition of Ready ayuda a un equipo a trabajar mejor juntos. Es importante para un Product Owner saber qué espera el equipo cuando crean un requisito. Es importante para el equipo saber en qué parte del proceso pueden apoyar al Product Owner para entregar mejores requisitos.
¿Cuándo cambias la Definition of Done?
Tanto la Definition of Done como la Definition of Ready deben ser inspeccionadas y adaptadas regularmente. ¿Significa esto que las refinamos cada sprint? ¡No! Pero con el tiempo los equipos se darán cuenta de que deben actualizar su Definition of Done.
Para darte un ejemplo concreto de uno de nuestros propios proyectos. Hace unos años comenzamos a construir un portal de empleo. Inicialmente era solo para escritorio. Nos dimos cuenta de que el 70% de nuestro tráfico venía a través de dispositivos móviles. Así que dedicamos todo un sprint a actualizar todas las páginas existentes y hacerlas responsivas para móviles. Este requisito luego se movió a nuestra Definition of Done, de modo que en adelante cada vez que construíamos un nuevo sitio, inmediatamente lo construíamos responsivo para móviles.
¿Qué menciona la Guía Scrum 2020 sobre la Definition of Done?
Finalmente, te recomendamos leer la Guía Scrum y especialmente la nueva Guía Scrum 2020 que se publicó el 18 de noviembre. En la Guía Scrum describen los aspectos más importantes de la Definition of Done.
La Definition of Done es una descripción formal del estado del Incremento cuando cumple con las medidas de calidad requeridas para el producto. El momento en que un Product Backlog Item cumple con la Definition of Done, nace un Incremento.
La Definition of Done crea transparencia al proporcionar a todos un entendimiento compartido de qué trabajo se completó como parte del Incremento. Si un Product Backlog Item no cumple con la Definition of Done, no puede ser liberado ni siquiera presentado en el Sprint Review. En su lugar, regresa al Product Backlog para consideración futura.
Si la Definition of Done para un incremento es parte de los estándares de la organización, todos los equipos Scrum deben seguirla como mínimo. Si no es un estándar organizacional, el equipo Scrum debe crear una Definition of Done apropiada para el producto.
Los Developers están obligados a cumplir con la Definition of Done. Si hay múltiples equipos Scrum trabajando juntos en un producto, deben definir mutuamente y cumplir con la misma Definition of Done.
Más que una formación
Embárcate en tu viaje personal de habilitación sostenible con algunos de los mejores educadores del mundo y triunfa en tu nuevo rol.
Curso Online de Scrum Master & Agile Coach
Mejora tus habilidades como Scrum Master o Agile Coach con nuestro curso online.
Sumérgete en el mundo de Ágil y Scrum y aprende a gestionar mejor equipos ágiles con modelos prácticos y ejemplos de la industria.
Obtén el curso online