¿Cuándo podemos dar por terminada una tarea?

En metodologías ágiles se habla de “Definition of Done” o definición de tarea / historia terminada. Se trata de un concepto simple en teoría, pero que puede ser complejo de llevar a la practica.

No se trata de algo complicado, es tan sólo un conjunto de requerimientos que nos permitirán asegurar la calidad de la entrega, la facilidad del soporte y mantenimiento, y la satisfacción de nuestro cliente.

Si no eres capaz de explicar algo de forma sencilla es que no lo entiendes lo suficientemente bien. Albert Einstein.

Consenso y Compromiso

No obstante, para garantizar el éxito, la definición adoptada tendrá que cumplir con dos premisas iniciales. Todo el equipo se comprometerá con los requerimientos y estos serán adoptados por consenso.

  • Consenso: Para esto no necesitamos una democracia. La democracia no deja de ser la dictadura de la mayoría y en un equipo ágil necesitamos el consenso de todos. Es decir, la definición será la que sea, pero sólo funcionará cuando todos y cada uno de los componentes del equipo la asuman como propia.
  • Compromiso: Todo el equipo tiene que sentirla como una obligación contraída, de forma que nadie se sentirá satisfecho de su trabajo hasta que cumpla con todos los requerimientos indicados en la definición.

Pensar para definir

La definición de «terminada» requiere de una recopilación de información del equipo y de una inversión de tiempo en pensar y responder una serie de preguntas importantes:

¿Cuál es el resultado que queremos obtener en la finalización de las tareas?

Una tarea no es únicamente algo que entregamos a un cliente y ya podemos olvidarnos. Generalmente, toda tarea lleva asociada un soporte o un mantenimiento posterior. Esto se traduce en que tenemos en realidad dos clientes. El primero de ellos es el que nos solicito la tarea, pero nuestro equipo es el segundo y hemos de asegurar que tenga lo más fácil posible el mantenimiento o soporte asociado al desarrollo entregado.

¿Existen diversas posibilidades de abordarlo?

No todas las tareas tienen el mismo grado de complejidad. Por esta razón, es posible que la definición tenga variaciones y exista flexibilidad en cuanto a los requerimientos necesarios. Ahora bien, tienen que quedar perfectamente claras las diferentes variantes.

¿Queremos conseguir el resultado más optimo?

Los requerimientos incluidos en la definición tendrán siempre presente la necesidad de ser eficientes. No podemos perder el tiempo en burocracia, todo lo superfluo será eliminado y siempre se optará por la opción más simple.

¿Disponemos de todos los elementos necesarios?

Aunque la simplicidad y la eficiencia son necesarias, tenemos que incluir todos los elementos que consideremos esenciales para asegurar el éxito de nuestro proceso de entregas.

¿Qué tiene que cumplir nuestra definición?

Tal como comentaba al principio como mínimo la definición tiene que conseguir que todas las tareas finalizadas cumplan con las siguientes características :

  • Calidad dentro de los estándares marcados por el equipo.
  • Facilidad de mantenimiento. La solución entregada será fácil de mantener por cualquier persona del equipo. De la misma forma, será sencillo modificar o ampliar funcionalidades existentes en la solución.
  • Satisfacción del cliente. El cliente final tendrá que validar la solución e indicará si cumple con el valor esperado.

Hora de pensar…

¿Te parece sencillo alcanzar una definición de “tarea terminada”?

Particularmente creo que no es sencillo, pero sin duda es necesario disponer de una definición. ¿Cual es tu opinión?

Categoría:
Agile, Herramientas, Organización, Reflexiones
Etiquetas:
, , ,

Deja un comentario