Son muchos los problemas y riesgos que tiene que enfrentar la industria de juegos en la actualidad. Muchos de ellos tienen que ver las cambios en los cronogramas y fechas de entregas. Muchos de los productos dependen de determinadas temporadas de alto índice de consumo en la que deben ser lanzados. Si no están listos para las fechas indicadas podría traer consigo un fracaso total.
Otros de los factores que influyen en el éxito de un juego es que una vez terminado no llegue a los niveles esperados en comparación con sus semejantes que estén en el mercado.
El avance tecnológico en el desarrollo de los juegos es cada vez más acelerado. En las consolas por ejemplo, los desarrolladores deben tener en cuenta que las consolas tienen un tiempo de vida util desde el año en que son lanzadas al mercado (4- 5 años). Esto significa que a lo sumo da para realizar 2 proyectos que utilicen una tecnología específica, luego hay que desarrollar y/o adaptar los juegos a las nuevas tecnologías que surjan.
Por ser una industria tan dinámica, el nivel de exigencia es muy alto. Los programadores, diseñadores, artistas, ingenieros se especializan en un área específica, por lo que se crea una dependencia de ese especialista y cuando renuncian (sucede con frecuencia debido a la carga de trabajo) hacen que los cronogramas se retrasen.
Debido a estos y otros tantos problemas que están presentes en la industria de juegos, que como podemos percatarnos, muchos de ellos no se dan con la misma intensidad en la industria de software, es que se ha hecho necesario plantearse la aplicación de metodologías de desarrollo que permitan estandarizar muchos procesos, actividades y documentación generada.
Debido a la semejanza en los procesos de desarrollo de software tradicional y los procesos de desarrollo de los juegos se decidió utilizar las mismas metodologías existentes para el desarrollo de software con adaptaciones que incluyeran las actividades y documentación necesaria para la construcción de un juego.
Game Unified Process
Esta metodología fue se desarrollo producto de un proyecto de un videojuego de casino online. Durante este proceso, el patrocinante del proyecto decidió que deberían hacerse cambios a la forma de desarrollo de manera que pudieran cumplirse con los plazos, y de esta manera se decidió utilizar una combinación de dos metodologías de desarrollo utilizadas comúnmente en el software tradicional.
La primera es la utilización del Rational Unified Process el cual plantea un diseño estricto y una documentación rigurosa de cada paso y funcionalidad a implementar. Luego de dividir el equipo se decidió que aquellos familiarizados con el proceso (ingenieros en su mayoría) utilizaran este enfoque, dándoles una organización mayor durante el proceso y el trabajo en equipo.
El otro equipo adoptó la metodología eXtreme Programming con algunas variaciones para que pudiera ser aplicado por personas de otras disciplinas. En este proceso los ciclos cortos ayudaron a mantener la comunicación fluida entre equipos y el componente artístico se sentía menos restringido que con el RUP y con mayor capacidad comunicativa.
Extreme Game Development (XGD)
Es una adaptación de eXtreme Programming (XP), una práctica muy común en el desarrollo de software ágil. Esta metodología está enfocada especificamente para programadores, por lo que se hizo necesario hacer adaptaciones para que pudiera ser utilizada por artistas, diseñadores, gerentes, productores, etc. Esta metodología utiliza un elemento análogo a los casos de uso, que se denomina historia de usuarios.