jueves, 5 de marzo de 2009

Frankenstein, el líder de proyecto (XIV).

ATENCIÓN: ¡No sigas si no has leído la treceava parte! Y si no has leído nada empieza por el principio.


[Resumen: Luego de ver el código del módulo -vasto e ilegible- el líder técnico habla con Frankenstein anunciándole el fracaso en el desarrollo, situación que éste, enfurecido, no acepta. Mientras tanto la criatura termina las correcciones de acuerdo a las instrucciones de Frankenstein y el módulo supera las pruebas. El sistema está oficialmente terminado.]

Frankenstein pasó una semana entre instalaciones, presentaciones, capacitación, ajustes de último momento y reportes finales. El sistema estaba, por fin, instalado y funcionando a plena capacidad.

La tormenta había pasado. El líder de proyecto redondeó su balance y lo presentó a la gerencia.

El proyecto ha resultado un éxito rotundo. […]

[…] El nuevo integrante del equipo ejecutó impecablemente sus tareas, ajeno a distracciones e inmune a los problemas que afectan a los demás programadores: cansancio, falta de motivación, falta de compromiso.

Si hubo un punto oscuro en esta experiencia, fue que el resto del equipo no estuvo a la altura.

Por un lado, los analistas han demostrado su incapacidad para producir especificaciones completas y correctas en un principio, y para enmendarlas con la debida celeridad después. La velocidad de este programador, su capacidad para trabajar sin descanso a lo largo de varias jornadas, ha compensado estas faltas.

Por el otro, los programadores –y en especial el líder técnico- han confirmado que sólo estarán disponibles cuando los tiempos sean laxos y la tarea de su agrado.

En mi experiencia como líder de proyecto, falto de alternativas, he aprendido a someterme –lo más veladamente posible- a sus caprichos. Veo en la actitud de éstos, taciturna y esquiva hacia mí, y en la tenacidad con la que dejan sentado en todo momento que ninguno de ellos tuvo participación en el módulo encargado al nuevo integrante del equipo, la respuesta típica de quienes ven amenazada la posición dominante que han ostentado desde siempre en esta empresa. […]

[…] Creo que es hora de iniciar un proceso de recambio. Estoy abocado a la elaboración de una propuesta para incorporar más personal con las mismas características sobresalientes de este elemento, con el que conformar un nuevo equipo que […]”

Durante ese tiempo y en las semanas que siguieron, los programadores corrigieron y ajustaron los últimos detalles.

El líder técnico trataba de asumir el golpe. Su autoridad había sido socavada por la imposición de un nuevo miembro al equipo y por la asignación a éste -con buenos resultados- de responsabilidades que le eran propias. Había irrumpido con fallidas visiones apocalípticas que, en definitiva, fueron interpretadas como un berrinche ante la pérdida de poder...

…y lo que es peor –pensaba-, todo funciona. Todo está bien. Tal vez sea yo… nosotros… tal vez todo esto de la legibilidad, de la resistencia del código a los cambios sea, finalmente, una cuestión menor a la que los resultados son indiferentes…

¿No he pecado de falta de pragmatismo? ¿No son los resultados los que importan? ¿Estoy buscando elegancia, claridad o belleza en una simple herramienta? ¿Cuál es la diferencia entre este módulo y el resto del sistema? ¿Que su código es feo, que es inmodificable? Este tipo ha demostrado que feo no importa y que inmodificable no es, que él puede programar así… habrán, seguramente, más como él… ¿entonces?”

Cansado, desmotivado, aburrido, perdía sus horas leyendo, buscando respuestas en una bibliografía que por primera vez resultaba contraria a su experiencia… buscando también un nuevo trabajo.

“Si todo esto es así, sólo me queda huir lejos de esta gente, lejos de estos proyectos… buscar el lugar en donde el esfuerzo por crear algo bello aparte de funcional tenga sentido… no de cara a los resultados, a los clientes, a los gerentes, sino para mí y para las personas que me rodeen…”

Recorrió la oficina con la mirada, casi a modo de despedida. En el rincón opuesto el programador, inmóvil, la vista al frente, los brazos colgando inertes a los costados del cuerpo, esperaba una nueva asignación. Habían pasado ya tres semanas desde la puesta en producción del sistema. Aún sin nada que hacer la criatura llegaba y se retiraba puntualmente todos los días, que pasaba inmóvil, la vista al frente, los brazos colgando inertes a los costados del cuerpo, esperando una nueva asignación.

…continuará. Actualización: capítulo XV.

3 comentarios:

Anónimo dijo...

Me gusta el perfil que se le ha dado al programador (la criatura), es sin duda, en mi opinión, la mejor forma de describir un diamante en bruto. Me imagino que a mas de un lector le trae gratos recuerdos (aquellos que alguna vez fueron considerados una criatura). Ser diferente a los demas no es tan malo :D

Fernando Ramírez, programador de bogotá, Colombia.

AcP dijo...

@Fernando: Supongo que al principio todos los programadores fuimos un poco Franky. Al fin y al cabo la novedad era picar código, hacer que la computadora haga algo, no importaba qué.
El problema es si nos quedamos así, "en bruto".

Unknown dijo...

La mayoría nunca pasa de bruto, nada de diamantes. Demasiados ingenieros en aburrimiento y casi ningún programador.
Todos creemos que nuestro código es, razonablemente, bueno hasta que alguien lo revisa o tiene que mantenerlo.
Y gracias a eso existe the daily wtf. =)