Diagramas de flujo, programación y un Corvette


Durante los últimos 26 años he estado relacionado de un modo u otro con la elaboración de diagramas de flujo, principalmente ligados a gestión de procesos y sistemas de gestión de calidad.

Esos diagramas son importantes, pues son una representación de la lógica de un negocio o de un proceso. Son la base para entender el proceso y a partir de ahí desarrollar planes de control, análisis del modo y efecto de la falla y procedimientos documentados. Los diagramas sirven como base para comunicar lo que debe suceder y para analizar cuando existen problemas.

A lo largo de esos años he encontrado que algunas personas padecen dificultad para idear o documentar un diagrama de flujo que represente correctamente un proceso y recientemente me pregunté cómo es que a mi se me ha facilitado.

En días pasados, encontré un muy viejo libro, edición 1984, sobre como programar una computadora llamada Commodore 16 a la que tuve acceso en aquella época. En dicho libro viene explicada la lógica de programación utilizando dichos diagramas. La programación y los procesos, y por tanto los diagramas de flujo, están muy relacionados.

En un programa de computadora, generalmente se tiene un inicio y uno o múltiples finales. Asimismo, el programa puede requerir de una entrada, o de varias, e igualmente puede tener una o múltiples salidas. Durante la ejecución del programa se puede tener que recibir algún tipo de entrada que será convertida en un valor y almacenada en alguna variable. Finalmente, en un programa es posible tomar múltiples rumbos y realizar múltiples pruebas o preguntas.

Hacer un programa implica entender y practicar la elaboración de todos esos elementos. Curiosamente, un programa no funciona correctamente hasta que toda la lógica ha sido depurada, las variables que almacenan las entradas han sido definidas y se recibe toda la información requerida para llevar a cabo el algoritmo, esto es la secuencia y cálculos aplicando los criterios establecidos.

Un proceso empresarial funciona de manera similar, se requieren entradas y se generan salidas, es necesario establecer un método que requiere de una lógica definida con criterios igualmente establecidos. Un proceso recibe información y genera evidencias de lo sucedido. Todo ello es muy similar a un programa.

Este hallazgo me remontó aún más allá. Recordé que antes había tenido un juguete, era un Corvette que en el lugar del motor tenía un teclado para programar movimientos. Adelante, atrás, vuelta a la derecha o a la izquierda y el tiempo que debería durar cada movimiento. Recuerdo que me pasaba horas intentando que siguiera una secuencia alrededor de las patas de un silla. Me pasé horas y horas depurando programas.

Más adelante tuve la oportunidad de programar calculadoras ya con lenguaje Basic. Luego vendría la Commodore 16, luego la Commodore 64 y luego una PC 8086. Ya en la universidad de tocó programar Robots, Máquinas de Control Numérico y programas en Pascal. En mis años laborales aprendí a programar Excel y Controladores Lógicos Programables.

Así que cuando llegué a tener que hacer diagramas de flujo para resolver problemas, o explicar nuevos métodos o documentar procesos como parte de un sistema de gestión de calidad, la cosa no fue muy difícil. La transición fue sencilla, pues existen las similitudes ya comentadas con la programación.

Hoy reflexiono que si las personas, los especialistas, ejecutivos o mandos aprendieran a programar, aunque sea en ambientes de muy amigables, desarrollar la capacidad de integrar la lógica del programa ayuda mucho más adelante. Quienes busquen meterse a sistemas de gestión de calidad o sean mandos y gerentes, bien podrían verse beneficiados de estudiar un poco de programación.