Suscríbete a la revista  |  Suscríbete a nuestro newsletter

Los destrozos informáticos del 2000

Estamos acostumbrados a hablar del año en dos dígitos: ¿En qué año naciste? En el sesenta y nueve. ¿De qué año es tu automóvil? Noventa y cinco. ¿En qué año estamos? En noventa y nueve. Asumimos que estamos en el siglo XX, tomamos el 1900 como un hecho y no «gastamos tiempo» en decir: nací en mil novecientos sesenta y nueve, mi automóvil es modelo mil novecientos noventa y cinco, o estamos en el año mil novecientos noventa y nueve.
Esta «pequeña» omisión puede parecer inofensiva, pero es la principal causa de que la informática se encuentre en una de sus peores crisis.

NO ES LO MISMO DOS DÍGITOS QUE VEINTE AÑOS DESPUÉS

Las primeras computadoras electrónicas requerían una habitación de tamaño considerable con instalaciones especiales (aire acondicionado, reguladores de voltaje, piso falso, etcétera), para que una máquina con «muy poca capacidad» comparada con las actuales pudiera funcionar. La velocidad de procesamiento de datos era lenta y la memoria, cintas y discos para almacenar información demasiado caros. Hoy, una computadora con capacidad mucho mayor puede llevarse en un portafolio o incluso en la bolsa del pantalón.
Esa limitante en capacidad de procesamiento y almacenamiento originó que los primeros programas de cómputo asumieran el novecientos como un dato fijo y que las fechas se manejaran únicamente con los dos últimos dígitos. No es lo mismo almacenar o procesar mil datos de cuatro dígitos (1965) a mil fechas de dos dígitos (65). Incluso en la captura masiva de fechas: teclear dos dígitos en lugar de cuatro ahorra tiempo considerable. Esto lo constatamos en las chequeras que traen preimpreso el 19___, son más fáciles de llenar. El ahorro en tiempo y dinero era considerable, por lo que se adoptó como un estándar en la industria de la computación representar las fechas con los dos últimos dígitos.
Nunca se pensó que los sistemas desarrollados en ese momento llegarían al año 2000; la velocidad con la que evolucionaba la tecnología hacía suponer que, para ese año, todos los sistemas estarían desarrollados con la última tecnología y que manejar el año con dos dígitos no sería problema.
La realidad es que esos programas antiguos han evolucionado y hoy la mayoría de los sistemas utiliza, en gran parte, programas desarrollados hace veinte años. Aunque la tecnología ha evolucionado a pasos agigantados, su adopción por parte de las empresas ha sido lenta, principalmente debido a los costos. Encontramos innumerables empresas grandes, medianas y pequeñas que siguen procesando su información en las antiguas computadoras.

CUANDO LOS NÚMEROS NO SON TAN INOFENSIVOS

Manejar el año con dos dígitos puede parecer inofensivo, pero para una computadora podría ser fatal, por ejemplo:
Para calcular la edad de una persona que nació en 1990, la computadora realiza una resta de fechas (2000 – 1990 = 10 años), esto es correcto si la computadora maneja el año con cuatro dígitos, pero no si lo maneja únicamente con dos dígitos (00 – 98 = -98 años). Como sabemos, no existe una persona que tenga menos 98 años; en este caso, la computadora puede detectar una inconsistencia en la información y fallar. Pero esto es lo menos grave, normalmente para el manejo de fechas la computadora ignora el signo, ya que no existen fechas negativas; en este caso tomaría la edad de 98 años y seguiría trabajando y procesando información como si no hubiera ningún error, cuando en realidad sí lo hay.
Otro problema surge con la fecha de vencimiento de las tarjetas, si ésta es del año 2000 y el sistema procesa el año con dos dígitos, la computadora realizará la siguiente operación: año actual = 98; año de vencimiento = 00.
00 – 98 = -98; si el resultado es negativo entonces la tarjeta ya venció, por lo tanto, venció hace 98 años y es rechazada incorrectamente.
Lo correcto sería: año actual = 1998; año de vencimiento = 2000.
2000 – 1998 = 2; en este caso el resultado es positivo y la tarjeta todavía tiene dos años de validez, por lo que es aceptada.
Otro caso: si el 31 de diciembre de 1999 a las 11:59 PM hiciéramos una llamada de larga distancia de felicitación de año nuevo a nuestra familia, que durara hasta las 0:01 horas del 1 de enero del 2000, y el sistema de cobro de la compañía telefónica no funcionara correctamente con el año 2000, podría tener las siguientes consecuencias: año de inicio de la llamada = 99; año de fin de la llamada = 00. Duración de la llamada = 00 – 99 = -99; quitándole el signo, la llamada tendría una duración de 99 años, por lo que el próximo recibo telefónico puede llegar por un monto de:
60 minutos por hora, por 24 horas al día, por 365 días al año = 525, 600 minutos por año; si la llamada duró 99 años, el sistema calculará un total de 52,034, 400 minutos; si el minuto se cobra a $2 pesos, nos llegará una cuenta telefónica de $104, 068, 800 pesos, por una llamada de dos minutos que debió costar $4 pesos.
Este mismo error se puede presentar en el cálculo de intereses, antigüedades, nómina, fechas de caducidad de productos, de mantenimiento de equipos, programación de producción, etcétera.
Esta falla podría manifestarse tanto en las computadoras (hardware), como en los programas y paquetes (software). Pero no se presenta únicamente en los sistemas de cómputo, la encontramos en agendas electrónicas, videocaseteras programables, relojes, cámaras, equipos de producción, sistemas de seguridad, conmutadores telefónicos, tarjetas de crédito e incluso en la papelería donde se tenga preimpreso el 19__ (facturas, cheques, etcétera).
¿LLEGARÁ LA HECATOMBE?

No se presentará hasta el año 2000, ya ha aparecido en sistemas que actualmente realizan cálculos con fechas que traspasan ese año (como lo ejemplificamos en la tarjeta de crédito vencida o en proyecciones de cualquier tipo a más de dos años).
Hoy en una empresa que fabrique o maneje productos con fecha de caducidad de más de dos años puede ocurrir lo siguiente:
Se fabrica un lote de productos en 1998 con caducidad en el año 2000; en el momento en que el producto entra al almacén, si el sistema maneja el año con dos dígitos, realiza la siguiente operación: año de caducidad = 00; año actual = 98.
00 – 98 = -98; la computadora asume que el producto caducó hace 98 años y genera una orden de destrucción del lote que llega al almacenista, quien, sin fijarse en otro dato más que en el número del lote, manda destruir todo el producto, lo que puede ocasionar grandes pérdidas para el negocio, siendo que el producto era de reciente fabricación.

EN ESTADO DE ALERTA

El primer paso es identificar los sistemas que pueden resultar críticos para el negocio. Una vez identificados, se pueden definir diferentes estrategias de solución que pueden ser:
* Reemplazar los sistemas antiguos por nuevos que sí cumplan con el año 2000.
* Reparar los sistemas.
* Actualizar las versiones (por ejemplo, cambiar Windows 3.1 por Windows 95 o 98).
* Eliminar sistemas que ya no son útiles.
Para identificar cuáles sistemas cumplen y cuáles no, es necesario investigar a través de los proveedores. Lo mismo para los sistemas desarrollados en casa.
Y lo más importante: probar y probar ya que únicamente a través de las pruebas podremos estar seguros que nuestros sistemas no se verán afectados, estableciendo cuáles son las fechas que se deben probar y cambiar todos los datos simulando datos del año 2000. Sin embargo, las pruebas deben realizarse en un ambiente controlado, ya que algunos sistemas tienen fecha de caducidad y, si hacemos un cambio a la fecha de la computadora, podríamos perderlos. Algunos otros sistemas, con el fin de depurar, borran automáticamente todos los archivos que tengan más de un año sin utilizarse, entonces, al cambiar la fecha de la computadora a una fecha posterior al 2000, todos los archivos tendrán más de un año sin utilizarse y pueden ser borrados.
Otro punto muy importante es revisar la cadena productiva y localizar los eslabones que podrían fallar y detener las operaciones de nuestra empresa. Esto quiere decir que es necesario revisar qué están haciendo nuestros principales clientes y proveedores con respecto al año 2000, ya que si uno de ellos nos deja de surtir producto puede afectar las operaciones de nuestra empresa. Muchos bancos en todo el mundo han enviado cartas a los directores generales de sus clientes solicitando información acerca de sus proyectos en el año 2000; incluso se habla de que en las principales bolsas del mundo, el año 2000 afectará el precio de las acciones de las empresas que tengan problemas.

LOS MITOS DEL 2000

* Es un simple problema técnico, las personas de sistemas lo deben de solucionar. Aunque parece únicamente un problema técnico, su solución no es técnica debido a la relación que existe entre todos los sistemas de una empresa y entre clientes y proveedores. Es necesario definir una estrategia que permita revisar los sistemas sin afectar la operación.
* Tenemos mucho tiempo. Falso. Hagamos un cálculo para ejemplificar: a partir del 1º de septiembre de 1998 tenemos, aproximadamente, 475 días naturales y 330 días laborables para el año 2000. Una empresa mediana tiene en promedio alrededor de 10,000 programas de cómputo, esto equivale a probar y reparar alrededor de 30 programas diarios para terminar el 31 de diciembre de 1999. No tenemos mucho tiempo.
* Nuestros sistemas son nuevos, no tendrán problemas. Aunque es menos probable que un sistema nuevo presente problemas con el año 2000, existen algunos vendidos recientemente que pueden tenerlos, por eso es necesario buscar a los proveedores de sistemas, para comprobar si cumplen con el año 2000.
* Nuestros sistemas serán reemplazados antes del 2000. Sin embargo, como la fecha de implantación es muy cercana al 2000, existe el riesgo de no terminar a tiempo, ya que muchos de estos productos sufren retrasos; por eso es necesario generar los planes de contingencia adecuados.
* Nos salvará una solución automatizada. Algunos piensan que un programa de cómputo puede hacer todos los cambios en los programas para que funcionen correctamente; sin embargo, debido a la gran cantidad de lenguajes de programación y de programas desarrollados con diferentes estándares y estructuras, no es posible fabricar un software que corrija automáticamente el problema para todos los sistemas.
Para concluir diremos que:
* El año 2000 puede llega a afectar, tanto las operaciones de la empresa, como nuestra vida cotidiana.
* No es un simple problema técnico. Es necesario que participe toda la organización en la solución del problema, ya que en todas las áreas se encuentra el conocimiento del negocio y se pueden detectar los posibles riesgos.
* Es necesario revisar la cadena productiva clientes y proveedores e incluir en los contratos de compra, tanto de equipo como de programas de cómputo, una cláusula asegurando que el producto que adquirimos cumple con el año 2000.

istmo review
No. 386 
Junio – Julio 2023

Newsletter

Suscríbete a nuestro Newsletter