5 formas de enseñar la metodología ágil a tu equipo de desarrollo

La metodología ágil

¿Qué es la metodología ágil? ¿Cómo se usa la metodología ágil de forma eficaz? La metodología ágil es una forma iterativa de enfocar la gestión de proyectos. En vez de usar un enfoque de “fase única”, las metodologías ágiles se adaptan a requerimientos cambiantes.

En software, desarrollo ágil exige retroalimentación o feedback por parte de clientes-usuarios y de equipos multi-funcionales para tener éxito. La metodología ágil es un enfoque en tiempo real a la gestión de proyectos que ayuda a gestionar el proceso de programación a medida que se va desarrollando, de forma progresiva a medida que va evolucionando.  Con la metodología ágil creas, incorporas retroalimentación a, pruebas y gestionas tus proyectos, todo ello de manera simultánea.

Según un estudio de mercado llevado a cabo por el Instituto de Gestión de Proyectos en 2015, las organizaciones que siguen metodologías ágiles rinden mejor que aquellas que no lo hacen. Por ejemplo:

  • alcanzan el 75% de sus objetivos mientras que las empresas no-ágiles alcanzan el 56%
  • el 65% de proyectos terminados en plazo frente al 40% de organizaciones no ágiles
  • tiene un crecimiento en términos de facturación un 37% más rápido
  • las organizaciones ágiles generan un 30% más de beneficios

Parece obvio que el hecho de utilizar metodologías ágiles tiene sus ventajas, y los que más se benefician de esta forma de enfocar la gestión de proyectos son los equipos de desarrollo.

Si ya estás convencido y preparado para aprender cómo enseñarle la metodología ágil a tu equipo de progarmadores, sigue leyendo las siguientes 5 formas de enseñar la metodología ágil a tu equipo de desarrollo. Es mejor seguir estasf formas que quererlo imponerlo por la fuerza y sin hacer pedagogía del mismo. Estos métodos para implantarlo en tu equipo o departamento de programación sí funcionan.

A. Crea tareas y ejercicios usando el Manifiesto Ágil

El primer paso que podemos dar para introducir a tu equipo de programación en las metodologías ágiles es mostrarles el Manifiesto Ágil. Se fundamenta en 12 principios básicos:

  1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al período de tiempo más corto posible.
  4. Los responsables del negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
  6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
  7. El software funcionando es la medida principal de progreso.
  8. Los procesos ágiles promueven el desarrollo sostenido. Los promotores, desarrolladores y usuarios debemos mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo para, a continuación, ajustar y perfeccionar su comportamiento en consecuencia.

Puedes enseñar estos principios a través de ejercicios y tareas como los que hay en Growing Agile.

El énfasis de estos ejercicios está mas en descubrir y aprender cosas uno por sí mismo, en lugar de simplemente enseñar.

Por ejemplo, comienza preguntando a tu equipo sobre el manifiesto ágil enumerado arriba. Que discutan los principios entre ellos. Luego, haz una sesión de tormenta de ideas con tu equipo para enumerar los principios que serán efectivos en las discusiones grupales. A continuación, puedes darles una tarea escrita para aplicar los principios a sus estilos actuales de desarrollo de software. El objetivo de estas tareas es adoptar y memorizar los principios.

Una gran manera de enseñar lo básico, especialmente para equipos de tecnología recién formados, es crear un simple ejercicio de rellenar los espacios como se ve en el diagrama de abajo.

B. Centra la formación en hacer cosas de en la práctica y no en la teoría

La metodología ágil como mejor se aprende es con casos reales. Hay diferentes formas de aplicar la metodología ágil como con Scrum, XP, Crystal, y Kanban, que quizás los miembros de tu equipo conozcan en un plano teórico ya que es un tema muy de moda, pero lo ideal es poder aprender sobre ello en la práctica con ejemplos reales. La formación “en vivo” con casos reales es recomendable para aquellos que tengan un nivel intermedio y avanzado en metodologías ágiles. Sigue , a modo de guía, los siguientes pasos para ayudarle a tu equipo de programación aprender ágil con ejemplos reales:

  1. Inicia un proyecto basado en tu metodología actual, como Scrum o XP
  2. Define el alcance y las metas del proyecto
  3. Marca las pautas de los requisitos del proyecto
  4. Desarrolla una funcionalidad de software
  5. Integra la función con los métodos ágiles
  6. Prueba la función
  7. Si la prueba es satisfactoria, pasa a la funcionalidad siguiente y repite los pasos 4-6
  8. Registra los errores si la prueba no tiene éxito e introduce cambios hasta que la funcionalidad funcione
  9. Reprioriza los objetivos del proyecto basándote en la retroalimentación del cliente
  10. Libera la funcionalidad al mercado, una vez que incorpores el feedback del cliente
  11. Pasa al siguiente producto y repite los pasos 4-10 hasta que se finalice el proyecto

(Sugerencia: puedes utilizar un software de gestión de proyectos ágil para conseguir aplicar este sistema correctamente la primera vez.)

Los pasos listados arriba son una muestra básica de cómo hacer formación en real con metodologías ágiles. El truco básicamente consiste eb aplicar ágil a tu proyecto actual. La formación con un proyecto en desarrollo es una gran forma de transferir conocimiento en vez de simplemente enseñarlo sin practicarlo.

3. Cursos online de certificaciones Scrum y Kanban

Una de las mejores formas de implementar Ágil es hacer que el equipo haga cursos de certificación online. Esta forma de hacerlo puede ser un poco más caro que hacer formación presencial en la empresa para todos a la vez, pero es mejor a la hora de ahorrar esfuerzos a los responsables de equipo y además permite que cada uno se gestione mejor el tiempo y los esfuerzos. Un curso recomendable sobre metodologías ágiles es el impartido online por Javier Garzás.

4. Pon el énfasis en “nosotros”, no en el “yo”

La colaboración tiene que estar en el centro de la implementación de metodologías ágiles para que el proceso funcione como es debido. Esto se debe a que las partes más importantes de la metodología ágil son el cliente y equipos multi-funcionales. Tiene que existir una comunicación efectiva e inclusión para que puedan proporcionar iteraciones válidas para crear el producto final.

Durante la formación en metodologías ágiles hay que insistir mucho en los marcos de colaboración. Incluye casos de uso en las sesiones formativas con proyectos reales para remarcar cómo los clientes pueden colaborar en el producto final.

Debes centrartee en crear un entorno colaborativo y centrado en el usuario. El primer paso es reorganizar la dinámica del equipo para crear oportunidades de colaboración. Que los miembros de su equipo técnico trabajen juntos en pares, tanto programando como haciendo pruebas.

5. Contrata a un “coach” ágil

Antes de contratar a un coach ágil es importante conocer tu presupuesto y tu cronología. Coordina proyectos en real con los que tu equipo técnico esté trabajando usando métodologías ágiles. Un entrenador ágil debe usar ejemplos de desarrollo en real de proyectos existentes para hacer que la capacitación sea más relevante para tu equipo.

Hay dos estilos de coaching ágil: uno basado en push y otro basado en pull.

El coaching basado en pull inconscientemente compromete a los miembros del equipo a adaptar los principios y los valores dando retroalimentación consistente y alentadora. Este método facilita el aprendizaje con una mínima implicación por parte del coach. La técnica de coaching basada en push es cuando el coach juega un papel directo en la impartición del conocimiento.

¿Quieres saber más sobre metologías ágiles?

Este artículo es simplemente una modesta introducción en cómo empezar a formar a tu equipo de desarrollo de software en metodologías ágiles.

Si quieres saber más sobre metodologías ágiles te recomendamos este libro y que visites el blog de Javier Garzás, que ha impartido varias sesiones de formación de metodologías ágiles en nuestra empresa y por el cual sentimos aprecio profesional y personal.

Este artículo 5 formas de enseñar la metodología ágil a tu equipo de desarrollo es original de Velneo.