El Iniciador, El Arquitecto, El Depurador y El Acabador

Fecha de actualización: 15/05/2019

Este fácilmente podría ser el título para una película de Peter Greenaway. Todo proyecto de software que sea remotamente exitoso necesita a estos cuatro.

Autor: Aníbal Santos

Este fácilmente podría ser el título para una película de Peter Greenaway. Todo proyecto de software que sea remotamente exitoso necesita a estos cuatro. Si puedes incorporar a todos ellos en una sola persona en el mismo proyecto entonces todo lo que puedo decir es que “tienes suerte”.

Pero a través de los años he encontrado que, dependiendo del proyecto, estos pueden ser cuatro o más personas. Conozco personas que son grandiosas iniciando proyectos, siempre buscando algo nuevo y extraordinario. Pero no lo “nuevo y extraordinario” que estaban haciendo la semana pasada, de lo que ya perdieron interés puesto que las partes “complicadas” están terminadas y entonces retomaron el próximo desafío.

¡Con razón nada llega nunca a terminarse de esa forma!

Entonces tenemos al arquitecto. Definitivamente no es la persona que se ensucia las manos tratando con la implementación de rigurosos objetivos determinados en las especificaciones del diseño. Al menos 3 niveles ajeno a cualesquiera problemas de producción.

Al depurador no se le puede pagar suficiente dinero como para que comience un proyecto desde cero con el fin de que surja con alguna novedad. Pero ofrécele a él o ella un error difícil de corregir que ya haya confundido a media compañía y de seguro el fuego comenzará a arder y las luces estarán encendidas en la oficina hasta que el error sea erradicado, sin importar qué.

Y finalmente, el acabador. El que coloca las rayas a las t’s y los puntos a las i’s con el fin de terminar el restante 10% (¿o acaso el 90%?) del proyecto.

Por supuesto hay muchas otras disciplinas (como por ejemplo el diseño de interfaz de usuario) involucradas en un proyecto de software exitoso pero cuando miramos únicamente la parte del código, parecen necesitarse todas las anteriores.

Cuando pienso en mí mismo, encuentro que puedo desempeñar cualquiera de estas cuatro funciones, pero raras veces todas ellas en el mismo proyecto.

Por alguna razón cuando eres la misma persona que inició el proyecto, terminarlo no es ni remotamente divertido. Depurar el código que escribiste durante semanas enteras no es tan satisfactorio como ayudar a alguien a suprimir un error en su código.

Mientras más roles tengo en un proyecto más difícil se vuelve desempeñarlos todos igualmente bien. Desearía que existiera una solución a esto pero aún no la he encontrado. Al menos, tengo suerte de poder desempeñar todos estos roles, aun si debo hacerlo en diferentes proyectos, pero desearía que hubiera una manera de obtener un nivel de desempeño equilibrado en todos los roles dentro del mismo proyecto.

Eso haría la vida mucho más fácil. Creo que parte del problema radica en la resistencia física, después de estar trabajando en la misma codificación por un X número de meses o hasta años, se vuelve más difícil encontrar la motivación para continuar hasta el final. Es como el proceso de depuración, el cual requiere infinita paciencia y mientras más extenso el proyecto más difíciles los errores (esto es típico, después de que todos los errores fáciles han sido encontrados).

Así que trato de evitar esos proyectos en que debo usar tantos sombreros. En situaciones iniciales esto es inevitable pero para mantener un flujo y productividad constantes es mucho más fácil dividir estas funciones entre varios individuos. Esto brinda oportunidad para el criticismo, ayuda a eliminar puntos muertos y a superar la falta de motivación. Trabajando por tu cuenta es muy fácil terminar siendo un “simple” iniciador, creando cientos de proyectos a medio coser los cuales no llegan a ninguna parte. Pero siempre que trabajes con otros habrá más energía en el sistema. Puedes pasar de la parte fácil y fresca a un proyecto más maduro dividiendo las tareas y asignando un rol de control de calidad a la siguiente persona “en la cadena”.

¡Y esto incrementa grandemente la probabilidad de terminar un proyecto y obtener un retorno de la inversión a tiempo!

Fuente / http://jacquesmattheij.com/The+Starter+the+Architect+the+Debugger+and+the+Finisher