Definition Of Done

Una de las principales causas de tensión en los proyectos es la diferencia entre lo que un developer entiende por la finalización de una tarea, lo que entiende un jefe de proyecto o lo que entiende el propio cliente. Así es común que la diferencia entre lo que un developer entiende por finalizado al respecto de una funcionalidad diste mucho de lo que espera el cliente a la hora de enseñarle esa funcionalidad.
Este hecho está recogido y solventado por las metodologías ágiles, en lo que se denomina como Definition of Done (DoD). El DoD normalmente se aplica a dos conceptos fundamentales, la historia de usuario (User Story) y a la iteración o Sprint.
El DoD constituye la lista de elementos que deben cumplirse para que algo se pueda dar por Done (Hecho). El DoD es variable y dependerá de lo que usemos en el proyecto en cuestión, en cualquier caso deberá estar consensuado con todo el equipo y aprobado por el cliente (Product Owner).
El DoD además es vital para la estimación de tareas, ya que si por ejemplo el DoD incluye que se deben haber superado pruebas de integración, estamos diciendo que deben existir pruebas de integración y que además deben haberse superado, lo cual implicará el tiempo de su programación, mantenimiento y realización.

 


Unos ejemplos de DoD pueden ser los siguientes:

Definition Of Done. User Story

  • La historia de usuario ha sido revisada por el Product Owner.
  • La historia de usuario ha sido aprobada por el Product Owner.
  • Todo el código asociado a una User Story debe estar escrito y subido al Source Control incluyendo sus test asociados
  • Se deben haber seguido todas las convenciones de código establecidas por el equipo
  • Todos los test unitarios se deben haber pasado y deben haber sido correctos (Green) antes de hacer checkin.
  • Todo el código deber haber sido revisado por al menos dos personas bien en Pair Programming o en Peer Review.
  • La User Story ha debido ser incluida en las distintas Build que existan en el proyecto.
  • La User story debe haberse incluido en la Build Deploy o proceso de despliegue que exista, incluyendo los scripts que sean necesarios.
  • Test de aceptación:
    • Deben existir criterios de aceptación por cada historia de usuario
    • Debe haberse implementado todos los test de aceptación.
    • Deben haberse pasado y superado todos los test de aceptación.
  • El backlog del proyecto debe haberse actualizado:
    • El remaining time es 0 de todas las tareas asociadas a la user story.
    • El estado de la historia de usuario es Done.
    • Las horas empleadas en la realización de la historia de usuario han sido actualizadas.
    • Todas las tareas están en estado Done.
  • La documentación establecida a realizar en el proyecto ha sido actualizada con lo que haya supuesto la realización de la historia de usuario.

Definition Of Done. Sprint

  • Todas las User Stories cumplen el DoD para una User Story.
  • El incremento de producto ha supuesto una nueva versión de producto, generando los artefactos, ramas, etc que supone una nueva versión.
  • Todos los bugs que han sido detectados durante la iteración sobre el product backlog que se estaba desarrollando han sido corregidos.
  • Los test cubren un 80% de la cobertura del código.
  • Todos los test de integración se han pasado y se han superado correctamente.
  • El Sprint retrospective ha tenido lugar y se han tomado todas las acciones de mejora que se han identificado.
  • El Sprint review ha tenido lugary el Product Owner ha estado presente.
  • Todos los test de Performance se han completado y las acciones de mejora detectadas han sido incluidas como nuevos elementos del product backlog.

Autor: Javier Valero | COO Chief Operating Officer | Grupo Solutio

Comparte

0 comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *