Cómo no manejar un proyecto

Viernes 14 de Marzo de 2008

No trabajé en suficientes proyectos grupales como para decir que estoy trabajando en uno de los peores, pero sí es el peor en el que trabajé.

A lo mejor, como en la mayoría de lo que hice tenía control absoluto, soy demasiado perfeccionista, pero igual, voy a apuntar al “no digo que tenga la razón, pero sé que no me equivoco tanto”:

No sé que tanta libertad tengo para discutir el proyecto, pero no firmé nada que me lo prohiba, así que no me pueden decir nada; pero no sé de la gente encima mio, así que me ahorro detalles.

La cosa es que, un día, mi hermano me dice “Me dieron un proyecto en PHP que hay que arreglar, y paga bien”. Sospechoso por la descripción, pregunté qué había que hacer. La respuesta fue una clara de indicación “no toques esto”: “Hay que pasarlo a ASP.Net”. “No sé ASP.” “Es fácil.” “Y… hacelo vos.” “A vos te gusta programar.” “No sé ASP.” “Es fácil.” (ad nauseam)

“Está bien, pasame el PHP, lo voy a mirar.”

Abro el primer archivo y… No es tan feo, hay un par de queries que se pueden simplificar con joins, pero dentro de todo está bien. Abro el segundo y… ¡OH POR MORADIN, ALGUIEN ARRÁNQUEME LOS OJOS!

“No lo voy a hacer.” “Ya lo acepté.” “Lástima.”

No se quien se termino comiendo esa parte… pero siento lástima por él/ella.

La cosa es que en algún momento a mi me cae la segunda parte. Me dijeron que era la misma empresa que pedía los cambios, y sólo oir su nombre me causó escalofríos. Sabía que iba a ser horrible. Me negué por un mes seguido. Sabía que era imposible, pero por cuatro frentes me atacaron y forzaron hasta que me quebré y acepté.

Ahí empezó la pesadilla.

El sistema se suponía que manejaba contratos, facturas, y que se yo; no se a quien le dieron el proyecto, pero supongo que había que hacer más cambios que lo que me dijeron a mi que haga, y sólo me mandaron lo que tenía que cambiar. Uno de los pocos que tenía idea de cómo se hacen las cosas…

No es demasiado dificil, si uno tiene las cosas bien hechas… y con una estructura de datos apropiada, el código prácticamente se escribe sólo… ahora, con una DB que ni siquiera está en primera forma normal, se vuelve difícil hacer hasta lo más simple.

Y eso no es lo peor…

  • Todas las columnas son obligatorias; pero menos de la mitad es significativa, el resto se llena con valores en blanco.
  • Hay una tabla Documentos, y otra de Detalles; bastante normal… es medianamente aceptable, siendo que a veces se puede evitar poner 5 tablas distintas con la misma estructura… aunque no sirve cuando todas las estructuras son diferentes.
  • A pesar de que las facturas ocupan un lugar en la tabla Documentos, donde se almacena su total, sus descuentos, y demás, éstos últimos datos se agregan, uno por fila, en otra llamada DocumentosValores.
  • Cada vez que el “Ingeniero” quiere un cambio, manda un documento en un formato diferente (hasta ahora hubieron mails simples, PDFs, Docs, y DOCXs…)
  • Y más…

Y, claro, cada cambio viene acompañado de “Poné X como dice en el mail que te mandé la semana pasada”… La próxima le voy a mandar un link a un diccionario y decirle “Ahí está tu respuesta, simplemente tenés que buscar las palabras y reordenar un poco…”

Ah, y, de paso, yo soy perfeccionista. Quiero que todos los detalles funcionen cuando el proyecto está, pero este mismo “Ingeniero” me dice “Hacelo más o menos, pero rápido”, y después “Ahora que anda, arreglá los detalles… y rápido.” WTF? ASSHOLE…

(Y no, no estoy en posición como para simplemente abandonar el proyecto por la mitad…)

Tengo que matar a alguien…

Comentá:

XHTML permitido: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">