Back to top

Ficha Proyecto I.E. 2023-2024



Aprendizaje de procesos de Ingeniería del software e interacción persona-ordenador a través del diseño e interacción con juegos.

Coordinador(a): CRISTIAN MORAL MARTOS
Co-coordinador(a): JOSE MARIA BARAMBONES RAMIREZ
Centro: E.T.S. DE INGENIEROS INFORMÁTICOS
Nivel: Nivel 2. Proyectos promovidos por otros colectivos de profesores de la UPM
Código: IE24.1002
memoria >>
Línea: E2. Gamificación educativa
Miembros de la comunidad UPM que lo componen
Nombre y apellidos Centro Plaza *
ANGELICA DE ANTONIO JIMENEZ E.T.S. DE INGENIEROS INFORMÁTICOS TITULAR UNIVERSIDAD
CRISTIAN MORAL MARTOS E.T.S. DE INGENIEROS INFORMÁTICOS L.D. PRF.CONTR.DOCT.
JOSE MARIA BARAMBONES RAMIREZ E.T.S. DE INGENIEROS INFORMÁTICOS L.D. AYUDANTE
JOSE LUIS FUERTES CASTRO E.T.S. DE INGENIEROS INFORMÁTICOS L.D. PRF.CONTR.DOCT.
LOIC ANTONIO MARTINEZ NORMAND E.T.S. DE INGENIEROS INFORMÁTICOS L.D. PRF.CONTR.DOCT.
RICARDO IMBERT PAREDES E.T.S. DE INGENIEROS INFORMÁTICOS L.D. PRF.CONTR.DOCT.
* La plaza que se muestra corresponde a la ocupada en el momento de la convocatoria
(para PDI/PAS de la UPM, en el resto de casos no se especifica).
DESCRIPCIÓN DEL PROYECTO

La asignatura Fundamentos de Videojuegos y Productos Interactivos se propuso como una nueva asignatura optativa para alumnos de 3ro y 4to en el grado de Ingeniería Informática de la ETS de Ingenieros Informáticos en el primer semestre del curso 2023-24, como marco de trabajo del PIE IE23.1005 (https://innovacioneducativa.upm.es/proyectos-ie/informacion?anyo=2022-2023&id=868)

La asignatura se plantea con el objetivo de proporcionar una primera toma de contacto a los estudiantes en un proyecto software completo a pequeña escala, dando a conocer y experimentar en todas las fases que lo componen. Todo esto, desde una perspectiva realista y acorde a la industria del desarrollo de productos interactivos y concretamente el desarrollo de videojuegos:

  • Propuesta
  • Diseño
  • Prototipado
  • Validación y testeo
  • Documentación
  • Publicación

Con este pretexto, la anterior propuesta de innovación educativa tenía como objetivo principal afianzar las competencias adquiridas en ingeniería del software e interacción persona-ordenador a través de un primer porfolio de producto interactivo. Si bien este objetivo se ha cumplido con excelentes resultados, se ha observado cierta dificultad en mayor o menor medida a la hora de incorporar los siguientes hitos del proceso ágil:

  • La planificación de las tareas.
  • El diseño y prototipado de la funcionalidad previa al desarrollo.
  • La validación de la funcionalidad desarrollada.

La propuesta actual pretende mejorar el ya sobresaliente resultado del anterior PIE, incorporando a la asignatura la gamificación del aprendizaje y refuerzo de elementos críticos en el proceso software iterativo: planificación, diseño, validación. El objetivo principal de la propuesta consiste en afianzar aún más las competencias adquiridas en las asignaturas impartidas a lo largo del grado en Ingeniería Informática (diseño, programación, interacción, matemáticas involucradas, validación, etc.) e incorporarlas correctamente en un proceso de desarrollo software ágil ampliamente extendido en la industria.

Para ello, una vez aceptada la propuesta por parte de los alumnos en grupos, la actividad que se propone consiste en gamificar los diferentes hitos y actividades del proceso Agile User Centered Design (AUCD), el cual combina el diseño centrado en los usuarios con el desarrollo iterativo de software que les permita desarrollar su primer videojuego en la asignatura.

Inicialmente, la propuesta de los grupos tendrá una serie de restricciones que permita facilitar la planificación del trabajo, su asesoramiento y evaluación, a considerar:

  • Temática, género y breve sinopsis.
  • Plataforma (PC), motor gráfico (Unity3D, https://unity.com) e input (Teclado y Ratón o Gamepad).
  • Juego narrativo o centrado en mecánicas para un solo jugador.
  • Miembros y roles (rotativos) con la inclusión del profesor, acorde con la metodología ágil Scrum:
    • Product Owner (profesor)
    • Scrum Master/Facilitador (beca)
    • Scrum Team compuesto por:
      • Desarrolladores
      • Level Designers
      • Quality Assestment

Sobre esta propuesta, se planificará y desarrollará un producto mínimo viable evaluable por jugadores objetivo. Para ello, se plantea un proyecto ágil mejorado con respecto al anterior PIE, basado en 5 iteraciones de 2 semanas cada uno, con entregas calificables o “releases” a presentar en cada iteración:

  1. Pre-producción – Diseño del concepto del juego:
    1. Historia y personajes
    2. Storyboard
    3. Referencias
  2. Demo técnica
    1. Mecánicas
    2. Flujo de juego y/o diseño de niveles
    3. Evaluación técnica:
      1. Unit testing
  3. Demo técnica extendida
    1. Interfaz
    2. Ampliación de mecánicas y niveles
    3. Evaluación técnica extendida con jugadores:
      1. Unit testing
      2. User testing
  4. Vertical Slice:
    1. Pulido: Arte, Animaciones y Sonido
    2. Evaluación completa con jugadores:
      1. Unit/User testing
      2. Sensación de Juego (Game Experience Questionnaire)
      3. Accesibilidad
  5. Lanzamiento final y difusión.

Cada iteración contendrá los siguientes hitos principales:

  1. Planificación de la iteración
  2. Actividades de diseño/desarrollo/validación
  3. Sesiones rápidas de control y estado del trabajo en curso (Daily Meeting).
  4. Retrospectiva: revisión y mejora del proceso ágil.

Con cada release, los grupos de trabajo adjuntarán los siguientes entregables:

  1. Documentación: Game Development Document (GDD).
  2. Bitácora de seguimiento:
    1. Estado del Product backlog al final de la iteración
    2. Flujo del progreso de las tareas realizadas o Burndown.
    3. Informe de la retrospectiva.
  3. Planificación de la siguiente iteración.

El objetivo de la propuesta consiste en la correcto aprendizaje y autogestión de los equipos ágiles a través de la gamificación de los hitos principales adaptados a los requisitos exigidos en cada entregable. La hipótesis que se pretende estudiar consiste en saber si se pueden adquirir de forma acelerada los diferentes elementos que componen dichos hitos, con el objetivo de mejorar la organización de los equipos de trabajo asumiendo un proceso de desarrollo software real y, a su vez, la calidad de su primer producto software interactivo, el cual formará parte de su primer porfolio para muchos alumnos. Estos elementos para aprender incluyen, entre otros:

  • Sobre la planificación:
    • La descomposición de tareas grandes y poco definidas a tareas breves y concretas.
    • Estimación de tareas en tamaño y/o dificultad.
    • La correcta definición de un flujo de trabajo colaborativo.
  • Sobre el seguimiento:
    • La identificación de cuellos de botella.
    • Comunicación entre miembros con diferentes roles.
    • Métricas de seguimiento (tiempos de entrega, work in progress, etc.).
    • Búsqueda de soluciones rápidas y efectivas sobre las tareas pendientes.
  • Sobre la retrospectiva:
    • Identificación de puntos fuertes y débiles sobre el flujo de trabajo.
    • Propuestas e incorporación de mejoras del flujo.
    • Resolución de conflictos.

Una vez finalizado el producto, se procederá a su “lanzamiento” y difusión a través de una plataforma oficial y gratuita (https://play.unity.com) para nuevos desarrolladores, así como proponer la difusión por RRSS adscritas a la ETSI Informáticos (Twitter oficial de la escuela, asociaciones, etc.). Para evaluar los resultados obtenidos en el proyecto, se utilizará una estrategia de seguimiento de su progreso, seguido de un análisis en la completitud de sus objetivos y tareas. Para minimizar sesgos, se hará una encuesta previa que permita analizar y comparar equipos y estudiantes con aptitudes y conocimientos similares, con o sin relación con el curso y asignaturas software superadas o matriculadas.

OBJETIVOS DEL PROYECTO

El objetivo principal del proyecto es que los estudiantes afiancen sus conocimientos en desarrollo y diseño software siguiendo una metodología ágil utilizada extensivamente en la industria. En paralelo adquirir las competencias de la asignatura y obtener un primer porfolio de un proyecto válido para su currículum en Ingeniería Informática. Para ello, se proponen los siguientes objetivos específicos:

  • Objetivos basados en competencias específicas:
    1. Capacidad de aplicar conocimientos e intuición para diseñar software basado en entornos interactivos.
    2. Modelar y diseñar la interacción humana-ordenador específica de estos sistemas aplicando un enfoque centrado en el usuario.
    3. Comprender el concepto de ciclo de vida software iterativo, así como crear prototipos funcionales que permitan su validación por parte de los usuarios.
  • Objetivos basados en competencias generales y transversales:
    1. Fomentar y mejorar la capacidad de trabajo en equipo de forma organizada y planificada.
    2. Mejorar la capacidad de resolución de problemas aplicando los conocimientos adquiridos de Programación, Diseño, e Ingeniería del Software.
    3. Saber trabajar en situaciones de falta de información y fomentando ideas creativas.
  • Objetivos basados en la mejora de la práctica docente:
    1. Mejorar la retroalimentación de la evaluación continua y sumativa, sobre todo en situaciones con grupos de prácticas o tamaño del alumnado grande y con propuestas heterogéneas.
    2. Mejorar la separación de docencia teórica y práctica en lo que respecta a sus sesiones y perspectiva por parte del alumnado.
CONTRIBUCIÓN A LA MEJORA DE LA CALIDAD

La contribución a la mejora de la calidad es doble. Por un lado, se pretende orientar al alumnado en aplicar transversalmente y reforzar sus conocimientos en el grado de Ingeniería Informática, una carencia que hoy en día mitigan (y en muchos casos de forma parcial) en su última etapa como estudiantes. Consideramos de utilidad que dichos conocimientos adquiridos en los primeros cursos del grado en Informática puedan afianzarse y combinarse de forma exitosa para dirigir mejor sus futuros esfuerzos en sus sucesivos proyectos.

Por otro lado, ofrecemos de forma simulada y controlada una primera toma de contacto a los estudiantes en la elaboración de un proyecto software completo a pequeña escala, dando a conocer y experimentar en todas las fases que lo componen. Todo esto, desde una perspectiva realista y acorde a la industria software. Esto les permite a los alumnos tener una base más sólida a la hora de incorporarse a futuros trabajos en equipo más complejos en sus prácticas de empresa o en su primer contrato laboral.

En paralelo a todo esto, plantear este proyecto desarrollando un producto cultural y de entretenimiento les da una motivación extra con la que pueden tener una mejora de la experiencia en su aprendizaje.

FASES DEL PROYECTO Y ACCIONES QUE SE VAN A DESARROLLAR
  1. Introducción a la asignatura y planteamiento del proyecto (semana 1-2):
    1. Definición de objetivos de la asignatura y el proyecto.
    2. Planning general del proyecto y presentación de las modalidades
    3. Encuesta a los alumnos sobre sus competencias y formación de equipos.
  2. Fase intermedia de conocimientos básicos previo al proyecto (semanas 2-3):
    1. Crash course y taller de metodologías ágiles.
    2. Fundamentos iniciales en el diseño de sistemas interactivos y videojuegos necesarios para el arranque del proyecto.
  3. Release 1 – Product inception basado en actividades de co-creación (semanas 4-5).
  4. Release 2 – Core technical demo (semanas 6-8).
  5. Release 3 – Extended Technical demo (semanas 9-11).
  6. Release final – Vertical Slice (Semanas 12-14)
  7. Evaluación final, presentación y lanzamiento (semana 15).
  8. Estudio y comparativa de resultados entre modalidades (en paralelo con el resto de las fases).

Se define una horquilla de 2 semanas libres a repartir en las fases que lo necesiten para mayor flexibilidad del proyecto (ajustar fechas en base a festivos, exámenes, entregas, posibles incidentes, etc.).

Sobre este esquema del proyecto, se han planificado las siguientes acciones/intervenciones:

  1. Elaboración y diseño del material para las actividades de gamificación (semana 1-10):
  2. Intervención “Brainstorming” de ideas y formación de equipos (semana 2).
  3. Intervención sobre la puesta en práctica en el diseño de reglas en juegos (semana 3).
  4. Intervención sobre la planificación a largo plazo o “Product Backlog” (semana 4):
  5. Intervención sobre la planificación a corto plazo o “Sprint Planning” (semana 6).
  6. Intervención sobre el seguimiento de la iteración o “Daily” (semana 8).
  7. Intervención sobre el análisis y diseño de la interacción e interfaces (semana 10).

De forma continua, las acciones continuas a lo largo de todo el proyecto incluyen:

  • Tareas de facilitador a los grupos de la asignatura a cargo de un Scrum Master.
  • Soporte y dinamización de los mecanismos de colaboración y cohesión intra-equipo e inter-equipos.
  • Recolección de métricas.
SEGUIMIENTO Y EVALUACION

Una vez iniciado el proyecto, los equipos deben cumplimentar una serie de informes que permita su seguimiento en la consecución y validación de los objetivos, acorde a la metodología software ágil.

Dato

Medición proceso AUCD

Seguimiento

Fecha fin sprint

Estado producto

Fecha fin release

Lista de tareas globales

Product backlog

Tareas planificadas

Historias de usuario planificados por iteración

Tareas evaluadas

Historias de usuario evaluadas por iteración

Tareas finalizadas

Historias de usuario finalizadas

Evaluación de usuario

Resultados obtenidos por iteración

Evaluación de equipo

Informe de retrospectiva por iteración

WIP

Tareas simultaneas en proceso por iteración

Cuestionarios

Nota objetiva de conocimientos adquiridos

Pila de tareas restante

Burndown Chart por iteración

GDD

Versión actual por iteración

La evaluación consistirá en el análisis de su progreso y consecución de sus objetivos y tareas, destacando principalmente:

  • Ratios de éxito en la finalización de tareas.
  • Capacidad de finalización del proyecto (%) en relación con su magnitud.
  • Satisfacción en la organización del equipo.
  • Satisfacción de los usuarios jugadores.
  • Incorporación de tareas extra de pulido y accesibilidad a lo largo del proyecto.
  • Progreso de la carga de trabajo asumida por el equipo a lo largo del proyecto
  • Calidad del documento GDD.

Si fuera el caso, también se considera la posibilidad de hacer una comparativa entre modalidades ágil y entrega final. Puesto que este proyecto terminará antes del cierre del primer semestre del curso 2022­-2023, algunos de estos datos e indicadores no se podrán obtener hasta la finalización del semestre. En los aspectos en los que sea posible se analizarán y compararán los datos obtenidos.

PRODUCTOS RESULTANTES

Como productos resultantes del proyecto cabe destacar una guía preliminar sobre la implantación de metodologías ágiles en el aula a través de actividades lúdicas, donde se describen los procedimientos, técnicas y material utilizados en clase. Otro producto que destacar es la producción de la bitácora del proceso software junto a su GDD por parte de los equipos que sirva de ejemplo para documentar productos software interactivos.

Como añadido, hay que incluir el contenido docente que incluyen las transparencias, bibliografía, y demás recursos online reutilizable para cursos posteriores.

MATERIAL DIVULGATIVO

Dada la naturaleza del proyecto, una vez finalizado el producto, se procederá a su “lanzamiento” y difusión a través de una plataforma oficial y gratuita (https://play.unity.com) para nuevos desarrolladores, así como proponer la difusión por RRSS adscritas a la ETSI Informáticos (Twitter oficial de la escuela, asociaciones colaboradoras, etc.). Además, los proyectos más destacados publicarán sus respectivos GDD para su consulta por futuros alumnos, así como la publicación en YouTube de una demo/gameplay del producto.

En lo que respecta a la difusión científica, se propone hacer una publicación de los resultados en alguna de las siguientes revistas JCR:

  1. COMPUTERS & EDUCATION : Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
  2. IEEE TRANSACTIONS ON EDUCATION: Q2 EDUCATION, SCIENTIFIC DISCIPLINES
COLABORACIONES

Para enriquecer la evaluación y validación de los productos desarrollados por parte de los usuarios jugadores, se dispone de la participación voluntaria y activa de las asociaciones estudiantiles ASCFI (Agrupación Socio-Cultural de la ETSIINF) y ACM-UPM (Capítulo ACM de estudiantes) de la ETSI Informáticos.