Pasar al contenido principal

La comunicación en las metodologías ágiles para proyectos de desarrollo

Ya en el año 2001, la inquietud generada por los métodos tradicionales del desarrollo software se cuestionaban hasta el punto de favorecer el nacimiento de una nueva corriente de metodologías, las llamadas Metodologías Ágiles.

Un poco de historia…
 
Fue en este año cuando diecisiete críticos del desarrollo basado en procesos firmaron el llamado Manifiesto Ágil basado en cuatro valores fundamentales.

«Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar:

  • Individuos e interacciones sobre procesos y herramientas
  • Software funcionando sobre documentación extensiva
  • Colaboración con el cliente sobre negociación contractual
  • Respuesta ante el cambio sobre seguir un plan

Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.»

Una vez puestos en contexto, parece necesario destacar la importancia de este enfoque hacia la comunicación independientemente de la metodologías ágiles utilizada de entre las que han ido surgiendo con el tiempo.
 
Qué contestarías a la pregunta de «¿Es importante la comunicación en un equipo de trabajo?». Seguramente tu respuesta es e incluso la pregunta parece absurda pero entonces, ¿por qué en la mayoría de equipos de trabajo no se dedica el tiempo suficiente a ella o al menos, no de forma efectiva?
 
Este «detalle» es lo que se defiende en este post, que quiere poner de manifiesto la importancia de una comunicación en equipos de trabajo.
 
Llegados a este punto, vamos a exponer la metodología de Metadrop como organización ágil.

Comunicación entre desarrolladores

Aunque parezca una obviedad, implantamos un sistema consistente en: 

Pequeñas reuniones diarias de planificación, que permiten que todo el equipo tenga claras las tareas que debe afrontar cada día. Esto permite que la desviación del objetivo a conseguir se reduzca al mínimo.

Estas reuniones, no consisten en meros dictados de tareas, sino que son espacios de debate en las que todo el equipo participa activamente, exponiendo problemas detectados, aportando soluciones o planteando ideas que enriquecen a todo el grupo además de reducir los tiempos en investigación mediante la transmisión del know-how.

Comunicación con los clientes

No podemos limitar la interlocución con nuestros clientes a las reuniones tradicionales de toma de requerimientos y entrega final.
Se nos antoja inviable no hacerle partícipe en el proyecto como una parte del equipo, de forma que desde el primer momento empezamos a trabajar juntos.
  
Ya en la etapa inicial, los clientes tienen un papel determinante la especificación de requisitos que pueden hacer de forma sencilla mediante pequeñas frases que definen funcionalidades (historias de usuario) y se alejan de complicados conceptos técnicos.

Durante todo el desarrollo del proyecto se le proporciona acceso a su evolución, usando las mismas herramientas de organización y planificación que usa el equipo técnico.

La evolución del proyecto se compone de pequeñas entregas de funcionalidades completas que el cliente debe validar (siempre con soporte del equipo si lo necesita). Una vez probadas, se requiere la conformidad del cliente o se evalúa algún cambio propuesto, transmitiéndole en todo momento qué esfuerzo se estima si necesitara alguna desviación del requisito inicial.
 
Este método de entregas parciales y comunicación continua permite tener una ágil reacción al cambio, o al menos reduce enormemente el riesgo de recibir un producto que no es el esperado. Permitiendo una adecuación constante del producto a las necesidades reales.   
    
Integrando como una fase adicional al desarrollo la validación por parte del cliente de cada funcionalidad, se consigue además, reducir los tiempos del proyecto eliminando una fase de entrega final y testing del producto al completo (modelo en cascada) que habitualmente llega tarde y requiere un gran esfuerzo en términos económicos y  temporales.    

Por otro lado, involucrando al cliente en el equipo, se consigue una priorización muy clara de las tareas que permite que lo más importante sea lo primero en ser abordado.

Por todo lo expuesto anteriormente, podemos concluir que una comunicación fluida y eficiente puede convertir una organización en una organización ágil con las ventajas que esto supone como hemos visto.