La documentación, esa gran desconocida

El proceso de documentar un proyecto suele ser largo, cansado y, a menudo, aburrido. Cuando empezamos un proyecto nuevo, lo que nos apetece es lanzarnos de cabeza a crear pequeños prototipos para ver qué tal funciona nuestra idea, probarlos rápidamente, obtener feedback e iterar sobre ellos mientras construimos nuestro juego.

Muchas veces nos preguntaremos: ¿para qué? ¿Para qué perder el tiempo creando documentos sobre cómo voy a implementar el juego, en lugar de implementarlo directamente? En una metodología como en la que nos encontramos, en la que queremos desarrollar juegos de una manera ágil, probar qué tal funcionan en el mercado, y pivotar rápidamente, si no obtenemos las métricas deseadas puede parecer poco rentable emplear días o semanas elaborando documentación.

Y, antes de darnos cuenta, estamos ya en medio de la fase de producción, sumergidos en un proceso de desarrollo indocumentado del que no es fácil salir. Una vez que el equipo está metido de lleno en esta fase, es complicado encontrar un hueco en el planning para elaborar toda la documentación que, de repente, nos daremos cuenta que necesitamos.

¿Cuándo y qué documentar?

La respuesta al cuándo es simple: ¡siempreNaturalmente, un proyecto pequeño requerirá menos esfuerzo y dedicación a este apartado, pero no por ello debemos ignorarlo. Siempre, por pequeño que sea nuestro juego, va a merecer la pena que dediquemos los días que sean necesarios a planificar y documentar todo lo que vayamos a requerir después. Aunque el mayor esfuerzo en la documentación ha de realizarse al inicio de un proyecto, durante la fase de preproducción, es indispensable mantenerla actualizada si se realizan modificaciones sobre la marcha, cosa especialmente habitual en los entornos que utilizan metodologías ágiles.

01_DocumentationSin embargo, no debemos caer en el error de documentar cosas de más: no olvidemos que el objetivo es favorecer el desarrollo del juego. Y es aquí donde entra la importancia del qué. ¿Qué documentar? Depende en gran medida del tamaño del equipo, de la envergadura del proyecto a realizar… pero la máxima a seguir para responder a esta pregunta es, en resumen, que debemos documentar todo aquello que el equipo necesite para trabajar de forma adecuada. Ni más, ni menos.

Cuanto mayor sea, por ejemplo, el equipo de programadores, más detalle habrá que poner en la documentación técnica. Si un programador trabaja solo, probablemente no necesite hacer una gran cantidad de diagramas ni documentos tremendamente elaborados, y le baste con un diseño simple y unas guías básicas. Por el contrario, en cuanto entran varios programadores a escena empieza a hacerse indispensable que el diseño técnico sí entre en bastante detalle, para que no quepan dudas acerca de cómo abordar la implementación del código. Habitualmente en esta documentación técnica se diseña buena parte de la solución de los problemas, y hacerlo de forma que cualquier programador pueda entenderla y aplicarla es fundamental para poder trabajar en común.

Ventajas

Basta con haber trabajado en un par de proyectos con escasa o nula documentación para ser consciente de cuánto afecta esto al propio proceso de producción.

02_Computer-Confused

Por ejemplo: sin un documento de diseño que usar como referencia, es tremendamente fácil encontrar a dos personas del equipo que entienden de distinta manera una misma característica o funcionalidad del proyecto.

Uno de los indicadores más visibles de esto lo encontramos en las confusiones que pueden producirse con respecto al “definition-of-done” de las tareas del proyecto: cuando una persona entiende que ha finalizado una tarea y la marca como resuelta aunque probablemente, a ojos de otra persona del proyecto, aún le falta trabajo.

Este es sólo un ejemplo de los múltiples problemas que pueden producirse  y que, cuando se suceden con demasiada frecuencia, no hacen más que elevar el tiempo de producción más allá de lo que nos hubiera llevado hacer la documentación que evitaría estos problemas.

No es sólo importante documentar todo lo relativo al juego, debemos entender también que el desarrollo de un videojuego, a nivel de programación, no es distinto de cualquier otro producto de software. Es por ello que también es imprescindible elaborar documentos técnicos donde se desarrolle el diseño de la solución software, incluyendo diagramas de clases, de flujo, etc.

Tener documentos de este tipo, incluso si sólo contamos con un programador en el equipo, hará que la implementación del código sea mucho más rápida y sencilla, al estar planificado y diseñado en su totalidad desde el inicio del desarrollo. En este mismo documento técnico habremos de incluir, en especial si contamos con más de un programador en el equipo, las guías y preferencias en el uso del código que queramos usar, para favorecer la coherencia y similitud de todos los scripts del proyecto y hacer así más sencillo que todos y cada uno de los programadores puedan entender y modificar el código del resto.

Conclusión

No debemos dejarnos llevar por nuestro ansia de resultados, ni justificar el uso de metodologías ágiles para no elaborar la documentación que verdaderamente necesitamos, por mucho trabajo, tiempo y esfuerzo que hacerlo conlleve.

Acostumbrarnos a documentar las cosas hace mucho bien al equipo, pues bajar las ideas al papel no sólo ayuda a ver posibles errores y a hacer las cosas mejor, sino también a que todo el equipo entienda de la misma manera en qué consiste el proyecto y cada una de sus partes. De este modo, evitaremos cometer los errores en plena fase de producción, cuando los tiempos y las deadlines más aprietan, y favorecemos un desarrollo más rápido y robusto de nuestro proyecto.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Create a website or blog at WordPress.com

Subir ↑

A %d blogueros les gusta esto: