lunes, 18 de enero de 2021

eXtreme Programming: ¿TDD y Cobol ? (agilecobol)

Hace un par de meses fui a un meetup del grupo "Madriagil - Grupo Meetup de Agilismo de Madrid", organizado por Javier de NeuronUp, sobre eXtreme Programming (XP).

Si no estáis en el grupo, os lo recomiendo. Salen siempre meetups interesantes organizados por verdaderos profesionales. Y lo mismo nos vemos! Éste en concreto terminó siendo muy gracioso xd

Estaba yo ahí flipando un poco con los términos que usaban los participantes expertos en XP con tanto CI/CD, TDD, refactoring, CCO... cuando se abrió la ronda de preguntas y se me ocurrió preguntar si XP se podía aplicar a cualquier lenguaje de programación.
Total que leo en el chat de zoom: con cobol NO.

:-( 
Por qué??!!! Qué ha hecho el pobre cobol para merecer esto??!!

Y eso dio pie a una pequeña disertación sobre si cobol sí o no, si se podían automatizar los test en cobol, si los test unitarios eran factibles, etc etc. Y el chico que había puesto lo de "con cobol NO" tuvo que puntualizar que estaba de broma, y bueno, fue nuestro momento de gloria y me reí un montón xd

Pero entonces qué, cobol sí o cobol no? Somos compatibles con XP? Pues dejadme que os cuente...

Una de las prácticas de XP es el TDD:
Test-driven development.
Los equipos XP practican la técnica de desarrollo guiada por pruebas (TDD) que implica escribir una prueba unitaria automatizada antes del propio código (así resumido).

Vale, igual automatizado automatizado no es, depende de cuánto haya invertido la empresa en herramientas de desarrollo. 
Y a lo mejor unitario unitario no es, un poco por lo mismo, porque en el mundo mainframe todo hay que hacerlo a la carta, o casi todo, y según qué aplicación estés tocando puedes tener unos cuantos CALL y unos cuantos accesos a DB2.

Pero pongámonos en el caso fácil: un batch de tratamiento de ficheros sin DB2.
Esto es factible no? 

Pues resulta que me asignaron proyecto nuevo hace unos meses (ya sabéis, para experimentar con agile management) y de repente caigo en la cuenta de que sí, de que aquí sí hacemos test unitarios (sin automatizar eso sí), y sí hacemos la documentación primero, y sí que usamos ficheros de test estables para regresionar (este verbo creo que no existe xd) y tenemos entornos de pruebas aislados...

Mira tú por dónde!
Y en mi otro proyecto (ahora mismo estoy en una de esas situaciones extrañas de "al 50%") usamos t-tool para automatización de test, en este caso de integración, así que algo sí que se puede hacer con COBOL, no?

Pero es que hasta IBM se dio cuenta y ya existe el IBM Z Open Unit Test. Quién lo ha visto ya es otra historia. 
Si alguien lo conoce y quiere compartir su experiencia, será bienvenida.

Los avances en el mundo mainframe van lentos pero despacio, qué le vamos a hacer. Pero ahí a nuestro ritmo vamos llegando (ojalá no sea tarde).

Mientras tanto, yo ya me lo apunté para experimentar. Esperando que mi querido equipo no me mande a algún sitio lejano, empezaremos a escribir los test antes de tocar el código.

#thisistheway

lunes, 11 de enero de 2021

Formación técnica: encuesta

Una de las razones que me llevaron a abrir el Consultorio Cobol allá en 2010 (puedes leer un poco de historia del blog aquí) fue el tema de la formación. O más bien la ausencia de ella.

¿Formación técnica? ¿Qué es eso?

Creo que en todos estos años, la única vez que tuve formación técnica fue porque había una necesidad a nivel proyecto y para eso la formación resultó no estar alineada con nuestras necesidades.

Hubo una excepción que fue una "beca" de PL/I (que fue donde conocí a África) que fue maravillosa por múltiples razones.

En mi experiencia, todo el aprendizaje se lleva a cabo internamente a través de los compañeros. Los que tienen más experiencia enseñan a los que tienen menos. ¿Pero qué les enseñan? Porque ellos a su vez han aprendido así, por lo que realmente nadie sabe mucho de nada, o al menos no lo pueden saber a ciencia cierta sino más bien por el "a mí me lo enseñaron así".

Pensando en otros lenguajes de programación, la información y las formaciones que circulan por la red son casi infinitas, incluso en español, y muchas gratuitas. Con el COBOL (quien dice cobol dice JCL, easytrieve, DB2, CICS, IMS, DL/I...) no pasa eso. No puedes aprender "por tu cuenta" o es muy difícil.

Pero lo mismo es una sensación mía y estoy generalizando algo que a nadie más le ha pasado, por eso he pensado en colgar esta encuesta, a ver qué dice la comunidad :-)

Gracias de antemano por vuestra participación.

 

lunes, 4 de enero de 2021

La historia del Consultorio Cobol: 10 años después

Hola amigas y amigos del Consultorio Cobol.

Ya se han cumplido 10 años desde que abrimos el blog. Haciendo memoria me cuesta recordar por qué le puse ese nombre. ¿Consultorio Cobol? ¿En serio?
Pero sí que recuerdo por qué lo creé.

Estaba yo por aquel entonces haciendo un programa de cruce con los que no tenía mucha experiencia. Me puse a pintar en un papel las dos columnas con claves para comparar, ordenadas de mayor a menor, para ver cómo era eso de leer del fichero 1, del 2, de los dos...
Y ahí me dije, si esto estuviese colgado en internet no tendría que escribirlo más veces.

Primero me hice el dibujo en power point, igual os suena:



Y luego pensé que si añadía unas cuantas explicaciones y lo metía en alguna web, cada vez que tuviese necesidad de refrescar la memoria solo tendría que ir a consultarlo.

Esto suscitó cierto escepticismo en mis compañeros, que pensaban que estaba como una cabra básicamente xd Pero mira tú por donde que esos mismos compañeros acabaron contribuyendo (y no poco) a este blog :-)

Empezamos un poco sin ton ni son, escribiendo sobre lo que estábamos haciendo en ese momento, hasta que conocimos a África que nos hizo replantearnos un poco el esquema del blog.
El comentario que hizo cuando se lo enseñamos fue "estos temas son muy avanzados para mis alumnos".
Había que contarlo todo desde el principio.

De ahí salió el "manual de cobol para principiantes".

¿Y por qué un blog? 
Porque no soporto los foros. Ya lo siento, pero es que no me gustan nada! El ambiente es muy turbio, casi nadie contesta con una explicación, como mucho con la solución, y yo quería enseñar!
La idea era poner la información, explicar las cosas con ejemplos, para que cada uno la pudiese aplicar en su día a día. Y de forma muy genérica y básica porque luego cada empresa tiene sus particularidades.

Y como blogger era gratis, lo vi claro :-)

Y empezaron a llegar las "visitas" al blog, y los comentarios, y los mails! Y supimos que ese era el camino.

Creo que no hay un solo comentario dañino en este blog (y hay casi 1000 comentarios en total), y nunca he tenido que moderarlos. Estoy muy pero que muy agradecida de teneros al otro lado. Sois muy grandes.

Y sigo sin recordar por qué le llamé Consultorio Cobol... maldición xd

#thisistheway