23 junio 2025

Análisis del libro "Agile Game Development: Build, Play, Repeat"

Portada del libro

Las técnicas de desarrollo ágiles (Agile Development) están revolucionando la forma de crear software, permitiendo mejorar el trabajo colaborativo y la adaptación al cambio de los equipos de desarrollo, que pasan a adaptarse mucho mejor a los constantes cambios del mercado y a iniciar círculos virtuosos de mejora continua.

En lugar de planear todo el proyecto desde el principio (como en métodos tradicionales de desarrollo en cascada), las técnicas ágiles dividen el trabajo en pequeñas partes llamadas "iteraciones" o "sprints" (normalmente de 1 a 4 semanas). Al final de cada sprint, se entrega una parte funcional del producto. Esta naturaleza iterativa del trabajo busca establecer canales de comunicación constante entre el equipo de desarrollo y sus clientes, capacitar al equipo de desarrollo para responder rápidamente a los cambios en las necesidades de sus clientes, ofrecer entregas frecuentes del software desarrollado para que los clientes empiecen a obtener valor desde el principio y puedan alertar cuanto antes en caso de que el software no responda a sus expectativas. Todo esto se consigue impulsando la autoorganización del equipo de desarrollo y mejorando su motivación.

Partiendo de esos principios generales del desarrollo ágil, hay metodologías que los aterrizan a mecanismos de trabajo concretos y cotidianos. Hay tenemos, por ejemplo, a Scrum que propone los ciclos cortos, antes mencionados, y un abanico de roles y de reuniones periódicas para que todos los implicados en el proyecto (no sólo los desarrolladores) puedan conocer el estado de este e influir en su evolución. También es habitual mezclar con lo anterior las técnicas Kanban, con sus tableros con columnas, para ayudar a visualizar el flujo de trabajo y evitar cuellos de botella; o incluir también las técnicas de Extreme Programming (XP) para mejorar la calidad del código, usando prácticas como la programación en parejas y pruebas automatizadas.

El mundo del desarrollo de los videojuegos no es ajeno a todas estas técnicas. De hecho, la naturaleza extremadamente creativa de los videojuegos y lo cambiante de los gustos de sus consumidores hace muy recomendable huir del encorsetado desarrollo en cascada y acudir a las técnicas ágiles anteriores.

El libro "Agile Game Development: Build, Play, Repeat", de Clinton Keith, me ha parecido la obra ideal tanto para iniciarse como para profundizar en este tema.

Se trata de una obra muy madura, escrita por un profesional de Scrum, que antes lo fue del desarrollo, trabajando primero en desarrollos "clásicos" (para los sistemas de control de cazas estadounidenses) y luego en desarrolladoras de videojuegos de primera línea. Toda esa experiencia previa asoma constantemente con ejemplos reales realmente enriquecedores y divertidos que permiten contextualizar la teoría en la que se quedan muchas obras similares. Otros libros se limitan a explicarte en qué consiste Scrum, pero este parte primero de los problemas que suponía para la industria del videojuego el desarrollo en cascada, y los ejemplos y anécdotas que utiliza para ello son realmente entretenidos, esclarecedores y profundamente humanos (consuela saber que "en todos lados cuecen habas").

Partiendo de esas problemáticas, el autor explica con muchísimo detalle los principios del desarrollo ágil y cómo los aterriza al día a día la metodología Scrum. En los primeros capítulos (aproximadamente el primer tercio del libro), la descripción de las tareas de la metodología son similares a las que se realizan con Scrum en el desarrollo de aplicaciones más genéricas. De hecho, como yo ya había leído otros libros sobre Scrum, mi primera impresión en esos capítulos fue "pues esto del Scrum parece aplicarse exactamente igual en los videojuegos que en las aplicaciones generales". Esto no es una crítica, muy al contrario, creo que ese primer tercio es valioso para los que quieran iniciarse en Scrum ya que los ejemplos que se van poniendo son del mundo de los videojuegos, muy visuales, sencillos de entender y muy divertidos, pero al mismo tiempo perfectamente extrapolables al desarrollo general. 

Los dos tercios restantes es donde, afortunadamente, el libro se despega de otras obras más genéricas sobre Scrum y profundiza en las peculiaridades que obliga el desarrollo de videojuegos. Detalla los casos en los que la aplicación literal de Scrum no funcionaría en un grupo de desarrollo de videojuegos y qué aproximaciones ha conocido él para resolver esas problemáticas. El resultado es, no sólo un manual práctico de referencia sobre cómo dirigir un equipo desarrollador de videojuegos, sino también un testimonio de las grandezas y miserias de este segmento de mercado.

Por tanto, creo que esta obra es imprescindible para todos aquellos que quieran madurar, dando el salto desde el desarrollo en solitario por afición, al desarrollo en equipo con fines comerciales. Desarrollar no es sólo programar, sino entregar algo funcional a nuestros clientes y que estos puedan disfrutarlo. Este libro te enseñará como lograrlo.