martes, febrero 08, 2011

Agile Game Development with Scrum

Agile Game Development with Scrum de Clinton Keith se basa en la aplicación de metodologías ágiles: Scrum (principalmente), Lean y Kanban en la industria del desarrollo de videojuegos.

Básicamente este tipo de proyectos tiene cuatro fases definidas: concepto, pre-producción, producción y post-
producción o cierre. Sin utilizar metodologías ágiles, estos proyectos sufren muchos problemas.

Por ejemplo, se gasta mucha plata para tener un prototipo jugable y darse cuenta si el proyecto vale la pena o no. Aplicando Scrum, es posible tener entregas parciales jugables que nos dan una idea temprana de a donde se dirige el juego y si vale la pena continuar el proyecto (cuanto antes nos enteremos de esto, mucho mejor).

Luego es muy común que en las etapas de producción se descubra que ciertos conceptos que no se cerraron en pre-producción, temas no terminados o evaluados al 100%, causen mucho retrabajo y la necesidad de cortar ciertas partes del juego por temas de presupuesto. Lo que se logra con esto es que se termine lanzando al mercado un producto pobre. Si se hubiese explorado un concepto a fondo, sin dejar deudas a futuro, como se sugiere en las metodologías ágiles, se podría haber lanzado un producto mucho mas fuerte. Un ejemplo hipotético: para un juego en pre-producción se estableció que el personaje principal puede saltar 10 metros. Sin probar esto, se empezaron a producir los niveles del juego teniendo esto en cuenta. Cuando un productor juego la primera versión del juego (tarde si no se trabaja ágilmente) y vio que este largo era ridículo, se habían creado un montón de niveles teniendo esto en cuenta y el retrabajo va a ser muy costoso. Otro ejemplo puede ser trabajar teniendo en cuenta que las paredes pueden romperse, para luego descubrir que la tecnología actual no soporta eso. Desastroso en ambos casos.

Otro error al dejar deudas a futuro son las interminables "death marches" en el cierre de un juego, donde se hace mucho overtime para cerrar defectos que son mucho mas costosos de cerrar al final del proyecto que si se resolviesen durante la iteración donde son creados. Las metodologías ágiles sugieren terminar lo que se comienza a desarrollar y no dejar los defectos a futuro. Se suelen dejar defectos para un último sprint de estabilización y polishing, siempre que el riesgo de retrabajo sea mínimo.

Muy buen libro para reforzar los conocimientos de Scrum y enterarse bien como se desarrolla un típico proyecto de desarrollo de videojuegos, y como se puede mejorar utilizando metodologías ágiles.

No hay comentarios.: