Estos días voy de cabeza en mi empresa de por las mañanas. Tenía que poner en producción tres nuevas aplicaciones y la fecha tope se acercaba. Dos de las aplicaciones no me daban muchos problemas. Dependían casi exclusivamente de mi trabajo y en ese caso, pues sé que puede que no coma, que no duerma… pero la aplicación sale en la fecha marcada.
Pero tenía otra aplicación que corría sobre el host… y esa fue la bomba. Ahora mismo en teoría mis funciones son de analista funcional. Pero alguien decidió que yo era el responsable de que todo estuviese en la fecha prevista. Y allí empezó mi nueva de coordinador de programadores en el host.
La aplicación no era muy complicada, pero al final me tuve que pelear con:
– Grupo de Cobol de la aplicación: lo que programaban realmente lo que se necesitaba
– Grupo de Cobol de la aplicación transversal: estos tenían que modificar el comportamiento de una aplicación transversal que interactuaba con la anterior.
– Programador aplicación externa de control de reglas internas: en teoría no hacía nada. Pero como la mensajería la necesitaba, hacían de puente.
– Grupo de programadores de TF: los que modifican las pantallas y los campos que se capturan.
– Grupo de programadores del interfaz: los que pasan los datos del TF a los programas y a la aplicación externa de control de reglas internas.
– Programadores del Datawarehouse: para capturar los datos y guardarlos para consultas futuras.
Y allí estaba yo con mi análisis lidiando con seis grupos de programadores. Me salvó que un par de ellos son realmente gente muy competente. Y eran los únicos que tenían en su cabeza toda la estructura de la aplicación.
Empecé las pruebas y primer error. El módulo que daba el error, alegaba que otro módulo no le pasaba los datos bien formateados. El que enviaba los datos decía que a él si que le salían bien. Mirábamos el log y no llegaban los datos, pero de momento aparecían… y así he pasado varios días, hasta que la cosa ha llegado a buen puerto. Y lo mejor era como todo el mundo le echaba la culpa a otro módulo de todo lo que pasaba.
Lo mejor fue, cuando el módulo de TF decía que el enviaba bien los datos, pero que uno de los módulos de Cobol no había subido el fichero de configuración XML de la mensajería con los campos nuevos. Mientras me lo contaban, tenía a mi lado al programador al que acusaban de no enviar el fichero XML. Y de repente el programador coge el teléfono y pregunta:
– Perdona, ¿quién tiene que autorizar la subida del fichero nuevo XML?
– Nosotros.
– Has comprobado la cola de peticiones?
– Si.
– Pues mira bien, que la petición xcc99988k de hace tres días es ese fichero…
Silencio al otro lado.
– Ahora ya está actualizado.
Al final se pierde más tiempo explicando porque algo no va, que haciendo que vaya. Pero es lo que tienen estas aplicaciones tan grandes y con tantas manos tocándola a la vez.
6 Comentarios
Comentarios Cerrados
Pues imagínate hacer un sistema operativo… en MS y Apple seguramente tienen una estricta cadena de mando, ¿pero y en algunas distos de Linux? eso si que debe ser la caña 🙂
“- Pues mira bien, que la petición xcc99988k de hace tres días es ese fichero…”
¿se refiere a que habian manadado la peticion de subida hace tres dias del fichero?
El problema, por mi experiencia, es que para los programadores de Distribuidos (TF, .net, java, o lo que sea), el mundo host es una caja negra desconocida.
Y para los programadores de cobol/cics/db2 o similar, todo lo que se salga del host es “ese mundo desconocido”.
Yo he pasado por los dos mundos, con lo que tengo una buena visión global del circuito completo, aunque no soy experto en ninguno, y estoy harto de oir al señor responsable de desarrollos cobol, que lee una petición que llega, y en cuanto lee ‘HTTP’, por poner un ejemplo, inmediatamente dice ‘esto no es mío, es de distribuidos’, no tienen ningun reparo en decir, ‘de lo que no sea host, mi informática tradicional dinosaurio, no tengo ni p. idea’.
Y que conste que del mundo host, me encanta que todo suele estar mucho más procedimentado que en otros entornos, es seguro y estable. El mainframe se reinicia (IPL, es el término), de higos a brevas, el MVS es capaz de estar años corriendo sin reiniciarse y sin degradarse.
Pues si no tienes experiencia en ninguno de los dos, ¿a qué te has dedicado antes en tu empresa?. 😎