9:00 15/10/2007 - Boadilla del Monte, oficinas centrales de NABSI
-Bueno, creo que ya estamos todos. Damos comienzo a esta pequeña reunión -dijo el hombre calvo que parecía dirigir la sesión. Era un hombre mayor, casi completamente calvo, vestido con un traje de seda gris, camisa blanca y corbata de un color que recordaba al de la sangre. Aquello era un mal presagio.
Estaban en una sala de reuniones con la última tecnología: un portátil de última generación conectado a un proyector que mostraba una bonita presentación a todas las personas allí congregadas. En un extremo de la mesa de reuniones ovalada, fabricada en caoba, estaba aquel hombre, pequeño y huraño, con aspecto avaricioso aunque autoritario que acababa de hablar. A su derecha se sentaba una mujer, de unos 50 años, rubia y vestida con un traje gris con falda. A la derecha de aquella mujer, un hombre más joven, de unos 30, también con traje gris. Justo enfrente del director de la reunión, jBond (que es una librería muy conocida de Java, no confundir con James Bond, el personaje de ficción, que no quiero problemas con los derechos de autor) con un traje negro, camisa blanca, sin corbata y con la chaqueta desabrochada. Era rubio, con los ojos azules y tenía un aspecto de hombre duro capaz de cualquier cosa. El semblante serio denotaba la concentración y atención que tenía puestas en lo que decía aquel hombre. A su derecha una silla vacía y, justo a la izquierda del hombre mayor, una mujer de unos 30, vestida con una camisa de un amarillo pálido, falda gris y un fular rojo granate. El hombre calvo se levantó y arrancó la presentación al tiempo que retomaba la palabra.
-Bien, señor jBond, como ya sabe, hemos contratado sus servicios para una importante misión -en ese momento, tras un clic, la imagen de la pantalla cambió, mostrando un mapa con dos puntos marcados en él-. Su misión consistirá en llevarme a mí, Emiliano S. Aqueo, desde el punto A al B, como puede observar en la imagen. Le hemos escogido a usted porque nos lo han recomendado varias veces: al parecer es usted el mejor.
jBond se removió en su asiento, incómodo y a la vez henchido de orgullo ante las palabras de Aqueo.
-Para llevar a cabo este encargo -prosiguió-, contará con un vehículo de última generación, dotado con toda clase de adminículos de alta tecnología -en pantalla se mostró en ese momento un flamante Lamborghini Gallardo-. La ruta ya ha sido confeccionada por nuestros expertos -se mostró de nuevo el mapa anterior, con los puntos A y B ahora unidos por una extraña ruta que, en lugar de ir directa del punto A al B, tomaba mil y un desvíos, hacía bucles y hasta pasaba varias veces por el punto A-. ¿Alguna pregunta, señor jBond?
El hombre rubio estaba boquiabierto, absorto mirando a la pantalla. Aquella ruta le tomaría, al menos, 5 veces más tiempo que si lo hicieran de una manera más directa. Además, era absurdo pasar varias veces por el punto A: aquello les haría vulnerables a posibles ataques. Dudoso, miró a Aqueo.
-Verá…, señor Aqueo, no quisiera parecer desconfiado, y no dudo de que sus expertos tendrán amplia experiencia, pero… ¿esa ruta no es un poco… larga?
Aqueo le dirigió una mirada severa.
-Señor jBond, si mis expertos en rutas han elegido esta de entre las miles posibles, tendrán una buena razón. Por supuesto, yo no he dudado ni por un instante de que ésta será la mejor de todas ellas, pues por eso son nuestros expertos y para eso les pagamos los obscenamente abultados sueldos que cobran.
jBond seguía sin confiar en aquella ruta, pero no volvió a ponerla en duda.
-¿Alguna otra pregunta, jBond? -insistió Aqueo.
-No, señor, no tengo más preguntas. Bueno, sí, una: ¿cuándo partimos?
-Ahora mismo, en cuanto termine la reunión.
-¿Ahora mismo? Pero, no voy a tener tiempo para prepararme…
-Precisamente por eso le escogimos a usted. No debería necesitar preparación -repuso Aqueo con gesto adusto.
-Está bien… -se rindió jBond.
Media hora más tarde la reunión había concluido. Un inseguro jBond bajaba a ver el coche, para comprobar que todo estaba en orden, mientras Aqueo pasaba por su despacho para recoger unas cosas que necesitaría para el viaje. Pero Aqueo bajó demasiado rápido y a jBond sólo le dio tiempo a admirar el exterior del deportivo. Aqueo se subió del lado del copiloto y jBond se sentó al volante. Entonces se dio cuenta de algo en lo que no había reparado: no había donde meter la llave para encender el motor. Sorprendido, se giró hacia Aqueo.
-Eeeh… señor, este coche no tiene donde meter la llave para el contacto, ¿cómo se supone que voy a arrancar el motor?
-No lo va a hacer, por supuesto -contestó rotundamente su acompañante. jBond se quedó mirándolo con cara de gilipollas.
-Disculpe, señor, pero si no encendemos el motor, ¿cómo vamos a movernos?
-Si se fija bien, comprobará que hemos sustituido los típicos pedales de todos los coches por unos pedales como los de una bicicleta.
jBond se fijó y se dio cuenta de que, en efecto, había unos pedales de bicicleta.
-Entonces, ¿pretende que recorra los 546 kilómetros de ruta -para recorrer una distancia de 57 Kilómetros escasos- pedaleando para mover los 1430 Kg que pesa el coche sin combustible -porque supongo que el depósito estará vacío- junto con los más de 150 Kg que pesamos los dos? -preguntó jBond con los ojos desorbitados.
-Así es, eso es lo que debe hacer, sí -respondió sin inmutarse el anciano.
jBond no salía de su asombro. No podía ser… ¿Para qué demonios querían aquel coche si luego iba a moverse a pedales?
-La decisión de quitar el motor y optar por la tracción mediante pedales es puramente por motivos de rendimiento. De esta forma, nos hemos ahorrado bastante dinero en la compra del deportivo que, sin motor, ha salido mucho más barato. Además, nos ahorramos también el gasto de gasolina que implicaría usar el motor. Pero por eso le elegimos a usted. Si no puede hacerlo, podemos llamar a…
-No, no, ya lo haré yo, no se preocupe -le cortó jBond desesperado. Por sus cojones que llevaría aquel coche a pedales por aquella ruta de locos.
Y así el señor jBond se puso en camino. Le costó una hernia inguinal poner el coche en marcha, pero una vez logrado esto, la inercia le ayudó mucho a mover el coche. Hasta que llegó a la primera curva.
Al intentar mover el volante hacia la izquierda para girar en la curva, se dio cuenta de que no se movía. Y no era problema de que la dirección asistida no funcionara, era que el volante era una pieza metálica atornillada al salpicadero: aquello no estaba allí para girar las ruedas. jBond no pudo frenar porque no encontró la forma, así que no pudo detener el deportivo antes de salirse de la carretera y estamparse con la valla que delimitaba el descampado que había junto a las oficinas de NABSI.
-¿Se puede saber qué es esto? -gritó, sudoroso y al borde de un ataque de nervios dirigiéndose a Aqueo.
-Un volante, aunque me temo que éste no es como los demás. No le servirá para girar las ruedas -respondió Aqueo en un tono neutro de voz, casi sin inmutarse, como si lo que decía fuera obvio.
-Y, ¿se puede saber entonces cómo se espera que gire? -dijo jBond, ya bastante cabreado.
-Inclinando el coche, por supuesto -contestó Aqueo con tranquilidad.
Con más mala hostia que antes, jBond puso el coche en marcha con mayor facilidad y tuvo que usar toda su fuerza para inclinar el coche y conseguir que girara en la curva. Tras el incidente, no se había parado a pensar en que no sabía cómo frenar y, cuando llegó al final de la calle donde tenía que deterse a ceder el paso, tuvo el mismo problema. Sin embargo, esta vez tuvo una idea: dejó de pedalear para hacerlo en sentido contrario y logró, con gran dificultad, que el coche se detuviera justo antes de meterse en la carretera transversal.
-Muy bien hecho, jBond. Ha encontrado la manera de frenar antes de que tuviera que decírselo -dijo Aqueo con evidentes signos de alegría.
-¿QUÉ? ¿Me está diciendo que esta es la forma de frenar este trasto?
-Eso es, sí.
jBond ya echaba humo a estas alturas. Entonces, se dio cuenta de que no tenía ayuda alguna para seguir la ruta, sino que tenía que ir mirando el mapa constantemente.
Cuando llevaba algo menos de un kilómetro, parado en un semáforo, más quemado que la moto de un hippie, con calambres en las piernas, sudando como un cerdo y soltando maldiciones cada vez que abría la boca, se giró hacia Aqueo con los ojos rojos y un brillo salvaje en ellos. Le estampó la cabeza contra el salpicadero, lo que debería haber hecho saltar el airbag. Pero, claro, por motivos de rendimiento, no estaba incluido. Con fractura de cráneo y traumatismo craneoencefálico Aqueo no podía articular palabra. jBond aprovechó para hacerle tragar el maletín que llevaba y se bajó del coche en dirección al metro.
Y allí se quedó Aqueo, muriendo asfixiado sin poder hacer nada por salvarse.
Esta historia es ficticia y todo parecido con la realidad es pura coincidencia. Es, en realidad, una metáfora de lo que supone trabajar con ISBAN.
Estoy trabajando en un proyecto que, en cualquier otra empresa que no use Banksphere, sería muy interesante. Porque los que estamos metidos en este proyecto estamos pasando (y vamos a pasar) por todas las fases del ciclo de vida del software. O casi todas.
Cuando empezamos, los requisitos ya habían sido tomados y había bastante documentación al respecto. A partir de ahí tuvimos que leer mucho y redactar entre todos (incluido el jefe de Proyecto) un DDS (Documento de Definición del Sistema, creo). Después, hicimos los Casos de Uso. Luego nos pusimos con el Modelo Lógico, es decir, definir los métodos que implementarán las funcionalidades que definimos en el DDS, así como las navegaciones, etc. Después nos pusimos con el Modelo de Datos, a definir la base de datos, con sus tablas y demás. Ahora hemos terminado el Modelo Físico (que es la fase de pre-desarrollo, en la que se plasma en el WSAD lo que modelamos en el Lógico) y estamos empezando con el desarrollo.
Sería muy interesante si lo estuviéramos haciendo directamente en Java. Estaríamos creando un sitio web con jsp y acceso a base de datos. Sería un desarrollo interesante, y además, estaríamos consiguiendo experiencia en la parte de análisis. Nos tendríamos que enfrentar a diversos retos durante la construcción, que sería incluso divertido de abordar. Pero estamos en el mundo de Banksphere donde hasta la persona con menos sangre en las venas se acabaría crispando y mandando todo a la mierda.
Ya desde el principio nos han puesto muchos problemas. El DDS querían que estuviera perfecto y tuvimos que explicar todos y cada uno de los conceptos para que quedaran claros. Aunque es un trabajo hecho en vano porque se lo hemos tenido que explicar todo en cada nueva etapa del ciclo de vida. Incluso ahora que estamos terminando la parte de análisis, todavía hay muchos conceptos que confunden, a pesar de habérselos explicado hasta la saciedad.
En los Casos de Uso cometimos un error de principante: los hicimos demasiado bien. Metimos mucho detalle. Es la primera vez que veo que una buena documentación, extensa y detallada es algo malo. Tuvimos que rehacerlos de forma mucho más simple. Sospecho que lo que realmente querían era poder validarlo o rechazarlo con un vistazo, en menos de cinco minutos. Sin embargo, claro, tardaban horas en enviar el correo de revisión y, siempre, lo cual es frustrante, a última hora.
Una vez terminados los Casos de Uso, nos pusimos con el Modelo Lógico. Detallando bien cada OI y cada OP. Tuvimos montones de problemas con tipos de datos, bucles, parámetros, etc. Pero lo más frustrante era tener que explicarles cada poco tiempo las mismas cosas. Aquí empezamos a darnos cuenta de que el desarrollo iba a ser un infierno.
Siempre a vueltas con la puta metodología. El que creó la metodología de los cojones no sabía muy bien lo que hacía. Te complican el desarrollo hasta límites insospechados.
Cuando llegas al Modelo de Datos se te cae el alma al suelo. Usamos DB2 como base de datos. Para empezar la sintaxis de algunas consultas es muy suya (por ejemplo, lo que debería ser LIMIT 2 en DB2 es FETCH FIRST 2 ROWS ONLY). Pero luego te capan por todas partes:
- No puedes usar claves autoincrementales.
- No están permitidos los triggers.
- No se pueden hacer joins de más de 4 tablas.
- No se pueden hacer búsquedas con LIKE %cadena%.
- No te puedes traer más de 15 registros de golpe. Si van a ser más de 15, tienes que traerlos de 10 en 10 usando repaginación (lo que nos va a traer muchos problemas). Esto, al parecer, no es sólo problema de Usabilidad (contexto demasiado grande, página demasiado pesada), sino también de rendimiento (la query podría llegar a tardar… 1 segundo!! Como si las transacciones tardaran poco, no te jode…)
- Alguna cosa más que se me olvida…
Es absolutamente frustrante tener que hacer ñapas y mierda porque te impiden usar determinadas herramientas. Acabas quemado y hasta los cojones. La moral y la motivación descienden hasta niveles subterráneos y acabas haciendo mal tu trabajo de pura desgana. Eso suponiendo que no te pongas a buscar curro en alguna empresa seria…
P.D.: Me han dicho que se podría parecer a una de las historias de Fuckowski. Es posible. De ser así, sería un caso claro de inspiración en la obra de un autor más grande
Si, por alguna de esas casualidades del destino, el señor Alfredo de Hoces termina en este blog, en esta entrada, espero que se lo tome como lo que es: un homenaje

