El juego de planificación es parte de un tipo de desarrollo de software conocido como programación extrema. Crea un entorno similar a un juego en el que el personal de negocios y desarrollo, llamados «clientes» y «programadores» en el juego, colaboran para desarrollar una nueva pieza de software. Hay dos partes del juego de planificación: planificación de lanzamientos y planificación de iteraciones.
La planificación del lanzamiento es la fase inicial del juego de planificación, en la que los miembros del equipo determinan qué funciones tendrá el software y cuánto tiempo llevará desarrollarlas. El juego comienza con los clientes creando «historias». Las historias en este contexto son descripciones breves de un resultado final deseado del software. Por lo general, cada historia se escribe en una ficha separada. Los clientes pueden crear historias en cualquier momento del juego.
Luego, los programadores reciben las historias y estiman el costo o la cantidad de tiempo que tomará completar cada historia. Una vez que los clientes tienen las estimaciones de costos, colocan las historias en orden de prioridad. Los programadores y los clientes pueden hacerse preguntas durante todo el proceso para aclarar las estimaciones y prioridades de las historias. El equipo también puede agregar nuevas historias durante el proceso o dividir una historia grande en varias historias. Cada vez que esto sucede, la nueva historia o historias deben tener un costo y una prioridad asignados.
Los programadores tienen la última palabra en las estimaciones de costos y los clientes tienen la última palabra en las prioridades, de modo que cada grupo tiene la máxima autoridad sobre sus áreas de especialización. Una vez que se han finalizado los costos y las prioridades, el equipo se compromete con el plan de lanzamiento. Un plan de lanzamiento podría estar «basado en datos» o «basado en historias».
En el compromiso basado en datos, los clientes eligen una fecha de lanzamiento y los programadores determinan cuánto tiempo pueden dedicar al desarrollo. Finalmente, los clientes eligen historias para sumar ese tiempo. Un plan de lanzamiento basado en historias significa que los clientes comienzan a agregar historias al lanzamiento y los programadores establecen la fecha de lanzamiento de las historias elegidas. Los clientes pueden continuar agregando historias hasta que decidan que las historias elegidas acumulativas pueden funcionar juntas como la próxima versión.
La planificación de la iteración es la planificación continua que tiene lugar durante el desarrollo del software. Las iteraciones en el juego de planificación ocurren en intervalos de dos semanas, durante las cuales los programadores crean software útil para algunas de las historias elegidas durante la planificación del lanzamiento. Al final de cada dos semanas, los clientes eligen las historias que quieren que se creen durante las próximas dos semanas y los programadores calculan la cantidad de trabajo que realmente pueden completar en ese tiempo.