Cuando uno mira las tarjetas de la columna Hecho de un tablero Kanban o Scrum de un equipo de desarrollo, ¿no puede evitar preguntarse qué es lo que aún no se ha hecho? Después de todo, un producto de software no es sólo el código.
Si esto le resulta familiar, se beneficiará de una Definición de Hecho. DoD para abreviar.
Permítame explicarle lo que necesita saber.
En Ágil, se utiliza una Definición de Hecho para decir qué se ha hecho y con qué nivel de calidad cuando se declara algo hecho.
En términos más concretos, enumera los criterios que debe cumplir antes de afirmar que una historia de usuario o un informe de error puede enviarse (liberarse) a sus clientes.
Quizá se pregunte cuál es la diferencia con los criterios de aceptación, que también especifican los criterios que debe cumplir para implementar una historia de usuario o corregir un error.
Una vez aclarado esto, le explicamos por qué quiere claridad y transparencia en lo que hace como equipo.
Los beneficios de crear y utilizar una buena Definición de hecho son:
Usted sabe lo que tiene que hacer y entiende lo que no tiene que hacer. Por ejemplo, sabe que es su trabajo implementar un comportamiento correcto, pero crear vídeos de formación no lo es. Se volverá más predecible en lo que entrega.
Con una lista detallada de lo que tiene que hacer exactamente para conseguirlo, podrá evaluar mejor cuánto puede asumir de forma realista en un Sprint. Será más fiable.
Las listas de control funcionan. La aviación no sería tan segura sin ellas. Cuando se reduce el trabajo que queda sin hacer cuando se declara algo hecho, significa menos (riesgo de) retrabajo más tarde. Será más eficiente.
A medida que madure en sus prácticas de desarrollo, elevará el nivel de calidad que ofrece y reducirá la carga de trabajo del resto del personal. Por ejemplo, un menor número de errores que se escapan significa una menor demanda de personal de apoyo. Ofrecerá una mayor calidad y ayudará a su empresa a ser más eficiente.
Todo esto ayuda a aumentar la confianza que siente un equipo en la entrega de software valioso y a aumentar la confianza que otros equipos y partes interesadas depositan en un equipo.
Pero no se deje llevar todavía. Hay una trampa.
Cómo No Beneficiarse de una Definición de Hecho
Como con todo lo que merece la pena, sólo se obtienen los beneficios si se evitan los errores comunes.
Tener un DoD digital en algún lugar significa que no es probable que lo convierta en una prioridad. No a propósito, sino porque hay muchas cosas que reclaman su atención.
Poner todas sus aspiraciones en su DoD significa que no puede lograr mucho de ello. Eso no es divertido. La evitará o tratará la mayor parte de ella como opcional, lo que le resta importancia.
Seguro que se pregunta qué puede hacer para evitar estas trampas.
Adoptar una Definición de Hecho requiere un cambio de comportamiento, un cambio de hábitos.
Para tener éxito, querrá tratarlo como tal.
El truco está en mantenerlo en mente, hacerlo fácil — y divertido — y reforzarlo hasta que se convierta en una práctica establecida.
¿Cuál es la solución?
Bueno, vamos a desglosarlo:
Pero, apuesto a que todavía tiene algunas preguntas.
Como por ejemplo, quién escribe o define la Definición de Hecho, o cuándo es más apropiado que un equipo de desarrollo cambie la definición de hecho, y qué poner en ella.
a Guía de Scrum dice:
Si «Hecho» para un incremento no es una convención de la organización de desarrollo, el Equipo de Desarrollo del Equipo Scrum debe definir una definición de «Hecho» apropiada para el producto. Si hay varios Equipos Scrum trabajando en el sistema o la liberación del producto, los Equipos de Desarrollo en todos los Equipos Scrum deben definir mutuamente la definición de «Hecho».
y:
El Equipo Scrum se compone de un Product Owner, el Equipo de Desarrollo, y un Scrum Master.
A partir de eso, es bastante claro que un Equipo de Desarrollo decide su DoD. No el Dueño del Producto, no el Scrum Master, no un Gerente de Proyecto, no el Gerente de Desarrollo, sino el equipo de Desarrollo.
Usted quiere definir su DoD antes de trabajar en un producto como un equipo (o se arriesga a no hacerlo en absoluto). Pero ¿cuándo se actualiza?
Muchos dirán: «en una retrospectiva».
Pero las retrospectivas están pensadas para tratar algo más que las acciones para completar un elemento de trabajo.
Es más, su Definición de Hecho sirve como lista de control de calidad. Eso lo convierte en un esfuerzo de mejora continua que merece su propio ciclo de mejora.
Y recuerde que un cambio no es necesariamente una mejora.
Poner una acción de una retrospectiva directamente en tu DoD puede significar que cambiará la DoD más a menudo de lo que es prudente. Los cambios frecuentes — especialmente la eliminación de lo que has añadido hace poco tiempo — disminuyen la percepción que los demás tienen de tu fiabilidad.
Así que, independientemente de la procedencia de los puntos de su DoD — una retrospectiva o algún otro esfuerzo de mejora, pruébelos primero. Ajústelos hasta que consigan lo que pretendía.
Ahora, veamos qué hay en una buena DoD.
Usted personaliza una buena Definición de Hecho a la madurez de sus prácticas de desarrollo. Así que le daré lo básico y lo seguiré con lo que puede añadir a medida que madure.