Organización de Proyectos I: Scrum


 

Cuando se realiza el desarrollo de un software es importante tener dotes de gestión de proyectos con el fin de evitar retrasos, sobrecostes y cancelaciones. El desarrollo de un videojuego es un proyecto de ingeniería informática y por tanto se puede llevar un control del mismo mediante estándares creados para este tipo de proyectos, aunque es importante recordar que los videojuegos requieren de un equipo más multidisciplinar por tanto cuando en este artículo nos referimos a desarrolladores realmente estamos hablando de todos los participantes del equipo, sean spriters, músicos, programadores, etc.

En mi opinión en el mundo de los fangames no existe suficiente conocimiento sobre este tipo de técnicas que pueden ayudarnos a llevar una mejor organización durante el desarrollo. Por tanto, en este artículo explicaré los puntos más importantes a tener en cuenta cuando se gestiona un proyecto software. No espero que ningún equipo adopte al 100% estas técnicas ni las siga al pie de la letra, pero sí que obtengan una serie de nociones básicas y puedan utilizarlas como guía para llevar un proyecto más organizado hacia su finalización.
 

Scrum

Scrum es un marco de trabajo mediante el cual las personas pueden abordar problemas complejos, a la vez que entregar productos del máximo valor posible productiva y creativamente. En este artículo no se pretende enseñar en profundidad el manejo de Scrum, si no mostrar los conceptos principales de este, adaptados a un proceso de desarrollo informal y sosegado. Tengamos presente que Scrum es un marco de trabajo y no una metodología como tal, por lo que permite introducir, modificar y eliminar procesos según el equipo considere oportuno.

Scrum utiliza un enfoque iterativo e incremental, es decir el proceso de desarrollo sigue un ciclo en el que se repiten fases con cierta periodicidad y se va refinando el producto a cada ciclo.


 

Roles en un proyecto

El Equipo Scrum

El Equipo Scrum está formado por el Dueño de Producto (Product Owner) y el Equipo de Desarrollo (Development Team). Los Equipos Scrum son autoorganizados y multifuncionales.
 

El Dueño de Producto (Product Owner)

El Dueño de Producto es el responsable de maximizar el valor del producto y el trabajo del Equipo de Desarrollo. El Dueño de Producto es la única persona responsable de gestionar la Pila de trabajo. La gestión de la Pila de trabajo incluye:

  • Expresar claramente los elementos de la Pila de trabajo
  • Ordenar los elementos en la Pila de trabajo para alcanzar los objetivos de la mejor manera posible
  • Optimizar el valor del trabajo que el Equipo de Desarrollo realiza
  • Asegurar que la Pila de trabajo es visible, transparente y clara para todos y que muestra aquello en lo que el equipo trabajará a continuación
  • Asegurar que el Equipo de Desarrollo entienda los elementos de la Pila de trabajo al nivel necesario.
  • El Dueño de Producto no suele formar parte del equipo de desarrollo, pero en nuestro caso lo más probable es que se trate del desarrollador principal del mismo, así que a parte de gestionar el equipo también formará parte del mismo y se deberá asignar tareas como al resto.

El Equipo de Desarrollo (Development Team)

El Equipo de Desarrollo está formado por las personas que realizan el trabajo de entregar un Incremento de producto que potencialmente se pueda publicar al final de cada Sprint. Solo los miembros del Equipo de Desarrollo participan en la creación del Incremento.

Los Equipos de Desarrollo tienen las siguientes características:

  • Son autoorganizados. Nadie indica al Equipo de Desarrollo cómo convertir elementos de la Pila de trabajo en Incrementos
  • Los Equipos de Desarrollo son multifuncionales, esto es, como equipo cuentan con todas las habilidades necesarias para crear un Incremento de producto;
  • Los Miembros individuales del Equipo de Desarrollo pueden tener habilidades especializadas y áreas en las que estén más enfocados, pero la responsabilidad recae en el Equipo de Desarrollo como un todo.

 

Artefactos

Pila de trabajo

Es una lista ordenada de todo lo que podría ser necesario en el producto y es la única fuente de requisitos para cualquier cambio a realizarse en el producto. El Dueño de Producto es el responsable de la Pila de trabajo, incluyendo su contenido, disponibilidad y ordenación.

Lista de tareas pendientes del Sprint

La Lista de tareas pendientes del Sprint es el conjunto de elementos de la Pila de Producto seleccionados para el Sprint, más un plan para entregar el Incremento de producto y conseguir el Objetivo del Sprint. La Lista de tareas pendientes del Sprint es una predicción hecha por el Equipo de Desarrollo acerca de qué funcionalidad formará parte del próximo Incremento y del trabajo necesario para entregar esa funcionalidad en un Incremento.

Incremento

Nueva versión del producto obtenido al final de un sprint con las nuevas funcionalidades desarrolladas durante el mismo.

 

 ¿Y ahora qué?

Ahora que sabemos todos los términos básicos y cómo asignar los roles y las tareas en nuestro equipo de desarrollo, podemos averiguar cómo aplicar este marco a los fangames, lo que llevará a nuestros proyectos a mejorar la organización, la gestión de tareas pendientes, la resolución de bugs y finalmente, ¡a su merecida finalización! ¡No te pierdas la segunda parte, disponible mañana mismo!

Comentarios