El Salón de Clases Ágil

En el 2001, un grupo de 17 desarrolladores de software se reunieron en el complejo Snowbird, en Utah, para discutir cómo hacer software de una manera más eficiente. Después de esa reunión, publicaron el influyente “Manifiesto para el Desarrollo de Software Ágil”. El origen de la cultura Ágil, o “Agile” en inglés, realmente se remonta a los años 30 y 40 — en los Laboratorios Bell y Toyota — pero el trabajo hecho en Snowbird resultó ser un punto de inflexión. Con este manifiesto se relacionó por primera vez el término Agile al desarrollo de software, y fue el primer documento que definió explícitamente los 4 valores (ver imagen abajo) y los 12 principios de la cultura Ágil.

Agile Values

Quince años después de la escritura de este manifiesto, Agile se ha convertido en un movimiento global que se ha expandido más allá de la industria de software. Se ha propagado en un conjunto de organizaciones y funciones, e incluso ha calado en la alta gerencia. Según una reciente publicación de Harvard Business Review:

“La Radio Pública Nacional emplea métodos ágiles para crear nueva programación. John Deere los utiliza para desarrollar nuevas máquinas, y Saab para producir nuevos aviones de combate. Intronis, líder en servicios de copia de seguridad en la nube, los utiliza en marketing. C. H. Robinson, un proveedor global de logística de terceros, los aplica en recursos humanos. Mission Bell Winery los utiliza para todo, desde la producción de vino hasta almacenamiento y la organización de su grupo de liderazgo de alto nivel. Y GE depende de ellos para acelerar una muy publicitada transición de un conglomerado del siglo 20, a una ‘empresa industrial digital’ del siglo 21.”

¿Por qué ocurrió esto? Porque en su esencia, Agile es sobre innovación. Agile permite hacer frente a la incertidumbre asociada a crear algo novedoso. Se basa en el trabajo incremental e iterativo, entregado por equipos autónomos y motivados, que son capaces de adaptarse y responder al cambio. En la economía de hoy, que cada vez es más digital, navegar a través de la incertidumbre es esencial para sobrevivir. “[Agile] permite a las empresas”, escribe Steve Denning en Forbes, “prosperar en un mundo que es cada vez más volátil, incierto, complejo y ambiguo”.

Es común confundir Agile con una metodología. Después de todo, la gente suele hablar y escribir sobre métodos ágiles, los marcos ágiles, prácticas ágiles y técnicas ágiles. Incluso existe un sitio web llamado agilemethodology.org. Curiosamente, la primera línea en el sitio web dice lo siguiente: “Agile no es una metodología”. Y es cierto: Agile no es una metodología; es una forma de comportarse, es una cultura, es una forma de pensar. Por eso, precisamente, el Manifiesto Agile es una composición de valores y principios — los dos elementos más importantes que sustentan una cultura.


AGILE EN EL AULA

Al entender Agile como una cultura, queda claro que sus valores y principios se pueden aplicar a cualquier organización y a cualquier aspecto del trabajo. Y eso es precisamente lo que nos aventuramos a hacer en Laboratoria. Estamos aplicando los valores y principios Agile a la educación. Este blog describe cómo la cultura Agile ha dado forma a la enseñanza de desarrollo web y desarrollo personal en Laboratoria. Hemos definido nuestros propios principios, muy inspirados por el Agile Manifiesto:

I. Sprints, no maratones

Un principio clave de Agile es trabajar en el “desarrollo incremental del producto, haciendo entrega frecuente en semanas, en lugar de meses”. En otras palabras, es mejor correr varias carreras cortas (Sprints), que un maratón. Trabajar en periodos cortos de desarrollo permite un ciclo de retroalimentación más corto; por lo tanto, es más fácil adaptarse y responder al cambio. El final de cada Sprint es una oportunidad para reflexionar sobre lo sucedido, identificar mejoras y ajustar el rumbo. En entornos de alta incertidumbre (que son, por ende, impredecibles) ciclos largos de retroalimentación pueden ser una receta para el desastre.

La educación, desafortunadamente, es un espacio que tradicionalmente cuenta con ciclos de retroalimentación largos — siendo los semestres la unidad preferida de tiempo para lograr resultados de aprendizaje. En Laboratoria, en cambio, hacemos Sprints de 2-3 semanas para cumplir una meta de aprendizaje. Un Sprint comienza con una reunión de planeación (Sprint Planning Meeting), donde las estudiantes entienden la cantidad de trabajo a realizarse y planifican sus actividades. Al final de cada Sprint, las alumnas hacen una retrospectiva grupal para evaluar su desempeño, documentar las lecciones aprendidas e identificar áreas de mejora.

Los Sprints de aprendizaje permiten a las estudiantes recibir retroalimentación con mucha frecuencia y de manera temprana. Investigaciones muestran que los estudiantes no miden bien su propia habilidad y tienden a sobreestimar su nivel de competencia. Lo más preocupante es que aquellos estudiantes menos competentes son quienes más sobreestiman su nivel de rendimiento — y, por lo tanto, es menos probable que decidan cambiar su comportamiento. En Laboratoria, el final de cada Sprint es una gran oportunidad para que las estudiantes se “calibren”, comparando su rendimiento contra las expectativas y contra el desempeño de sus compañeras. Por otra parte, dado que el Sprint termina con una retrospectiva, las estudiantes también aprenden el poder de la reflexión como motor de mejora continua. Dar retroalimentación temprana también permite que los profesores detecten los problemas rápidamente y hagan las intervenciones apropiadas, lo antes posible.

II. Aprendiendo en Squads

Agile también se trata de trabajo en equipo y colaboración, “valorando a los individuos y las interacciones más allá de los procesos y las herramientas”. Por eso, en Laboratoria, las estudiantes aprenden en equipo. Como tributo a Spotify — un referente mundial de la cultura Agile — llamamos a estos equipos “Squads” (escuadrones).

Un Squad de aprendizaje es un grupo de 6 a 8 estudiantes que trabajan juntas, como un equipo, para completar los objetivos definidos en un Sprint. Los Sprints de aprendizaje están diseñados para tener objetivos tanto a nivel individual, como a nivel de squad. Por lo tanto, las estudiantes no sólo están preocupadas por su propio aprendizaje; también les interesa el avance de sus compañeras de equipo.

Cada equipo tiene un entrenador designado (algo equivalente a un maestro Scrum en un equipo de desarrollo de software). Dado que somos fans de Star Wars, hemos llamado a estos entrenadores “Jedi Masters”. El papel del Jedi Master es identificar y eliminar las barreras de aprendizaje que pueda tener el equipo, y fomentar el trabajo en equipo y la colaboración en su grupo.

Siguiendo el principio Agile de “estrecha cooperación, todos los días entre la gente de negocios y los desarrolladores”, el squad se reúne diariamente con su Jedi para realizar una revisión del día. Durante estas revisiones, llamadas “Daily Standups”, cada estudiante responde a 3 preguntas clave:

  1. ¿Qué logré ayer?
  2. ¿Qué haré hoy?
  3. ¿Qué obstáculos están impidiendo mi progreso?

Los squads son independientes y autónomos. Es decir, cada uno decide cómo planificar su Sprint, cómo se organiza, y cómo monitorear el progreso. Por ejemplo, en cuanto a canales de comunicación, algunos squads deciden utilizar Slack, otros crean grupos en WhatsApp, y otros simplemente utilizan G-chat. En lo que respecta a la organización, a veces los equipos deciden dividir el trabajo en pequeños pedazos y cada estudiante (o un par de ellas) lleva una pieza diferente. Otras veces, todas deciden hacer el mismo trabajo y comparar resultados. Realmente depende del equipo, de la tarea a realizar y de los objetivos a completar. Hemos encontrado que el tener squads de aprendizaje independientes y autónomos, que trabajan hacia un objetivo final, es una gran manera de colocar a las estudiantes en control de su propio aprendizaje. Al mismo tiempo, ha demostrado ser — por mucho — la mejor manera de desarrollar habilidades de comunicación y colaboración en las estudiantes.

Una última nota sobre los squads de aprendizaje: al final de cada Sprint se forman nuevos squads. Hacemos esto para construir habilidades de adaptabilidad. Con esto, las estudiantes aprenden a estar cómodas con la construcción de nuevas relaciones de trabajo cada 2 ó 3 semanas. Es también una manera de mantener el espíritu de equipo a nivel de la clase entera — no sólo a nivel de squads.

III. “Gamifying” la Educación

Otro principio clave de Agile es construir proyectos alrededor de individuos motivados. Con la motivación del estudiante en mente, y tomando ideas del diseño de videojuegos, decidimos re-diseñar la manera de evaluar a nuestras alumnas. En lugar de tener un sistema de clasificación tradicional, en nuestra clase tenemos un sistema de puntos-y-recompensa.

De los juegos hemos aprendido…” menciona la gente de Extra Credit “…que el progreso favorece el progreso, y que el deseo humano de la eficiencia es una motivación mucho más fuerte que el miedo de caer aún más lejos de nuestras metas”.

En Laboratoria, las estudiantes comienzan en cero puntos y ganan puntos a medida que avanzan, de tres maneras:

1. Puntos por esfuerzo: las estudiantes son recompensadas ​​por realizar ciertas actividades (como dar feedback al código de una compañera), independientemente si lo hagan bien o no. Estos puntos valoran el esfuerzo, no el rendimiento.

2. Puntos por rendimiento: las estudiantes también ganan puntos por hacer bien ciertas actividades. Cuanto mejor lo hagan, más puntos ganan. Este suele ser el caso de retos y proyectos (Problem Sets). Para ganar el total de puntos disponible, las estudiantes deben resolver correctamente el caso y demostrar que han utilizado las mejores prácticas de programación.

3. Puntos por comportamiento: las estudiantes también ganan puntos por demostrar un comportamiento excepcional en ciertas áreas, como: el trabajo en equipo, la comunicación y cualquier otro tipo de comportamiento que el equipo de profesores quiera fomentar.

Además, hemos incorporado otros incentivos que fomenten la colaboración entre el Squad y entre el salón. Por ejemplo, si todos los miembros del Squad logran la meta del Sprint, el equipo es invitado a una cena. Del mismo modo, si al menos el 80% de las estudiantes del salón, logra la meta individual, hacemos una noche de pizza y de películas con toda la clase.

Todavía estamos aprendiendo cómo usar el “gamification” como un motivador en la educación, y todavía queda mucho por mejorar. Una consecuencia no deseada, por ejemplo, es que algunas estudiantes se obsesionan por los puntos, y pierden de vista el objetivo principal de aprendizaje. Eso es algo que actualmente estamos trabajando para mejorar.

IV. El Arte de la Reflexión

Agile también trata sobre el uso de la reflexión como motor para la mejora continua. Un principio Agile lee: “cada ciertos intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo, buscando ajustar y
perfeccionar su comportamiento
”. En Laboratoria, fomentamos la reflexión a 3 niveles: i) a nivel individual, ii) a nivel de Squad, y iii) a nivel del aula.

1. Reflexión a nivel individual
La reflexión individual está incorporada en la estructura de una lección. Como se muestra en la siguiente figura, cada lección en Laboratoria sigue una estructura única. Una lección siempre comienza con un pre-trabajo, llevando a las estudiantes enfrentarse al nuevo material por su cuenta (sea leyendo en Internet, viendo un tutorial, etc.). Hay dos razones detrás de esto: en primer lugar, permite a las estudiantes desarrollar habilidades de auto-aprendizaje; y en segundo lugar, hace que la clase sea mucho más productiva, porque las estudiantes ya vienen con conocimiento y dudas que resolver.

Estructura de una lección típica en Laboratoria

Después de completar el pre-trabajo, las estudiantes son evaluadas con un pequeño quiz. Esto les proporciona una retroalimentación inmediata (una “calibración” inicial), y — al mismo tiempo — permite que el equipo docente conozca qué tanto saben las alumnas del tema a ser enseñado. El quiz se califica inmediatamente, y los resultados (promedios y máximos de cada Squad) se comparten con toda la clase (ver imagen abajo).

Resultados de la prueba, por Squad

Después del quiz, se dicta la clase y se deja mucho tiempo para la práctica. Creemos que la práctica hace al maestro, por eso la mayor parte del tiempo en Laboratoria está dedicado a que las estudiantes resuelvan problemas de programación y no a clases magistrales.

Después del tiempo asignado para trabajar en los problemas, las estudiantes reciben las soluciones correctas. Con la solución en mano, se les pide a las estudiantes comparar y analizar sus resultados con las respuestas correctas, y reflexionar sobre el tema. Esta reflexión se compila en una breve encuesta de auto-evaluación que las estudiantes completan al final de cada lección (ver ejemplo a continuación).

La auto-evaluación al final de cada lección

También pedimos a las estudiantes que comparen el solucionario (la clave de respuestas) con el trabajo de una compañera, en lo que llamamos “peer code review”. Este review es una poderosa herramienta para (una vez más) proporcionar retroalimentación y fomentar la colaboración. Por último, la lección termina con acceso a material adicional de lectura, para aquellas estudiantes que desean profundizar en el tema.

2. Reflexión a nivel de Squad
Cada Sprint termina con una reunión llamada “Sprint Retrospective”. Durante esta reunión, cada grupo — de manera independiente — responde a las siguientes tres preguntas clave:

  • Como estudiantes, ¿qué hemos hecho bien?
  • Como estudiantes, ¿qué podríamos haber hecho mejor?
  • Como estudiantes, ¿qué cosa nueva podemos empezar a hacer para mejorar?
Retrospectiva de un Squad

3. Reflexión a nivel de Clase

Con el fin de garantizar que las lecciones aprendidas sean compartidas con todas las alumnas, una representante de cada Squad comparte con toda la clase, los “highlights” de su retrospectiva, junto con 1-2 acciones recomendadas para los próximos Sprints.

Reunión Sprint Retrospective
Propuestas de un squad para toda la clase

Los aprendizajes de la retrospectiva se documentan en dos tableros, que están siempre visibles en el aula: el tablero de “Cosas a Mejorar” y el de “Buenas Prácticas”. El primero, consolida los puntos de acción que deben mejorarse; mientras que el segundo registra las “mejores prácticas” que cada Squad debe seguir para tener éxito.

También, cada cierto tiempo, fomentamos un espacio de “Storytelling”. Esto es cuando un Squad (o un grupo de estudiantes de diferentes Squads) comparte su experiencia de haber logrado algo extraordinario. Por ejemplo, cuando un grupo de estudiantes de Laboratoria en Lima ganó el 3er premio en el hackathon de “Ni Una Menos”, celebrado en la Pontificia Universidad Católica del Perú (PUCP), separamos unas horas durante la clase para que nos contaran sobre su experiencia.

Estudiantes de Laboratoria ganan 3er premio en “Hackathón Ni Una Menos” en la PUCP

V. ¿Qué logramos con el Agile classroom?

Mucho, pero sobre todo mayor involucramiento de las estudiantes y pasión por aprender.
La idea de crear un “Agile Classroom” comenzó como un experimento para enseñar Agile de una manera práctica y divertida. Queríamos que las estudiantes estuviesen mejor preparadas para unirse a equipos de desarrollo de software en empresas de tecnología, que operan bajo esta cultura.

Hoy, sin embargo, después de ver los resultados extraordinarios del “Agile Classroom” — en cuanto a la participación de las estudiantes, la velocidad y la amplitud de conocimientos aprendidos, y el crecimiento de nuestras alumnas en términos de habilidades socio-emocionales — ya no vemos Agile como un elemento más del plan de estudios. Se ha convertido en parte fundamental de nuestro modelo educativo. La realidad es que adoptar la cultura Agile nos ha convertido en mejores educadores. Agile se ha convertido en un ingrediente esencial de nuestra “receta” para crear un modelo efectivo de enseñanza. En Laboratoria nos apasiona el aprendizaje de nuestras estudiantes. Por eso nos emociona haber creado este modelo de enseñanza, que refuerza la confianza de nuestras estudiantes, al mostrarles todo lo que pueden aprender cuando adoptan los valores y los principios correctos. Al final, el “Agile Classroom” no sólo las prepara para sobresalir en su primer trabajo como desarrolladoras de software; Las prepara para convertirse en mujeres valientes, dispuestas a sacar el máximo provecho de este mundo que “es cada vez más volátil, incierto, complejo y ambiguo”.

Otras personas también están experimentando con el concepto de escuelas ágiles. Si quieres conocer otras iniciativas similares, visita: