Agile

Durante las 12 semanas que dura el curso, además de desarrollo web, hay clases de "Desarrollo Profesional": habilidades para trabajar en equipo, pautas para una comunicación efectiva, gestión de la marca personal, integración en la comunidad tecnológica… La primera sesión es precisamente sobre Agile.

¿Qué es Agile?

Agile nace en 2001 en EEUU de la mano de varios profesionales del sector que querían dejar plasmado en un manifiesto los valores imprescindibles para el desarrollo de software de la forma más eficiente y satisfactoria posible. Merece la pena leerlo completo, tanto los valores como los principios: Manifiesto Agile.

Las organizaciones ágiles y receptivas están diseñadas para aprender y responder rápidamente gracias a un feedback constante, un flujo de comunicación y colaboración clave para seguir evolucionando. En ellas se anima a experimentar y aprender en ciclos rápidos, auto-organizados en equipos que lideran los avances hacen crecer la empresa. Esto está directamente relacionado con los valores y los principios de la “cultura Agile” patente en el manifiesto, un mindset que muchas empresas del sector tecnológico han incorporado como parte de su ADN.

¿Por qué Agile en Adalab?

Introducir Agile en el momento en que se empieza la formación es clave ya que permite dotar de información y herramientas para una mejor gestión del nuevo contexto. El sector tecnológico es altamante cambiante, con muchísima incertidumbre, donde la capacidad de adaptación es vital y donde las personas son la clave para ello. Entender pronto el porqué de esta cultura de trabajo ayuda a entenderla y ponerla en práctica cuanto antes.

El propio Adalab se centra en esa cultura de empresa. Prueba de ello es que la gestión de Adalab responde a este concepto: se busca la mejora constante a través del feedback de las alumnas, profesores/as, facilitadores/as, voluntarios/as, empresas colaboradoras… para ir adaptando la formación a lo realmente demandado, poniendo foco en las personas que lo hacen posible y que aportan un valor añadido para crear un bootcamp diferenciador.

¿Cómo se aplica en Adalab?

En Adalab utilizamos Scrum (véase la siguiente sección para más detalle) como marco de trabajo ágil a la hora de organizar el trabajo en los proyectos y las actividades del curso. Scrum nos propone una serie de buenas prácticas para organizarnos como equipo de una manera eficiente y recoger el feedback necesario para la mejora del producto, fomentando siempre la colaboración entre todas las partes y la entrega continua de software funcionando que permite aprender a pasos agigantados.

Con Scrum tenemos un marco de prácticas muy concretas que nos permite accionar y poner en valor Agile. Para mejorar la comunicación y obtener el feedback temprano, se trabaja mediante unos ciclos de tiempo corto, conocidos como sprints, de forma iterativa e incremental guiándonos por una serie de eventos que se repiten en cada sprint.

En cada uno de los tres módulos en los que está dividido el curso, se trabaja en equipo para desarrollar un proyecto concreto: en el módulo 1 una página web grupal con HTML y CSS, en el módulo 2 una aplicación web con Javascript para hacer tarjetas de visitas online y en el módulo 3 deben trabajar con código heredado, para reescribir y mejorar el proyecto del módulo 2 utilizando React. Todos estos proyectos se formulan siguiendo la guía de Scrum y cada uno supone un reto diferente que aporta aprendizaje y experiencia.

Cada módulo está dividido en 2 sprints que cuentan con sus correspondientes sesiones iniciales de Sprint Planning, a través de los cuales se discute el alcance del sprint en base a unos requisitos de negocio en forma de Historias de Usuario. Tras eso, definen sus Working Agreements, que les permitirá tomar decisiones como un equipo auto-gestionado. Una vez definidos, comienzan a trabajar en el sprint, realizando Daily diariamente como punto de sincronización donde las alumnas se ponen al día de sus avances, escollos y tareas pendientes, lo que permite que avancen como equipo de forma cohesionada e informada. Al final de cada sprint se realiza un Sprint Review en formato demostración donde se enseña el software funcionando, seguido de una Retrospective posterior. Con estas dinámicas, las alumnas aprenden a testar cada poco tiempo las soluciones propuestas y ver si son las mejores o necesitan reorientar el enfoque. Al finalizar el módulo, las alumnas presentan su proyecto ante una audiencia más amplia para verificar el resultado final y realizan una retrospectiva global del proyecto, en la que valoran de nuevo su trabajo en conjunto con sus compañeras de equipo y determinan las cuestiones que facilitaron o dificultaron el trabajo para mejorar en el futuro. En el siguiente módulo, los equipos cambian para aprender la importancia de saber trabajar con todo tipo de perfiles.

En cada equipo y por sprint, una de las alumnas asume el rol de Scrum Master y, con la ayuda del equipo docente, sirve de guía para sus compañeras en cuanto a la implementación del marco de trabajo de cara a: dinamizar los eventos, promover la consecución de los Working Agreements, ayudar en los impedimentos y, en general, acompañar al resto del equipo a lo largo del sprint.

El objetivo es entender la importancia de adoptar una mentalidad de mejora continua y de búsqueda de la eficiencia, con la capacidad de adaptarse a los cambios, interiorizar nuevos conceptos mediante la práctica y trabajar siempre manteniendo la vista puesta en el usuario y las necesidades que se quieren cubrir.