Hoy en día vivimos rodeados de sistemas de información que gestionan un gran número de procesos, muchos de ellos de gran criticidad. El sistema de misiles de Estados Unidos, el control del tráfico aéreo, la señalización ferroviaria o el sistema de frenos ABS de nuestro coche son algunos de los procesos que están gestionados por algún tipo de computadora y donde cualquier tipo de fallo puede resultar fatal por lo que, por norma general, este tipo de sistemas son sometidos a exhaustivas baterías de pruebas para verificar su buen funcionamiento antes de desplegarse. A pesar de las pruebas, a veces pueden conjugarse distintas condiciones que disparan algún bug no controlado que, en determinadas circunstancias, puede llegar a ser fatal y, precisamente, eso fue lo que le ocurrió la semana pasada a la empresa de inversiones Knight Capital donde un bug de software casi la lleva a la bancarrota y ha acarreado unas pérdidas de 440 millones de dólares.

Knight Capital es una compañía de inversión que se dedica a la compra-venta de acciones en la bolsa de Wall Street y, por las imágenes que se suelen ver de la bolsa de Nueva York, la actividad de este tipo de empresas es frenéticas y la velocidad en la realización de las operaciones es clave para poder rentabilizar las inversiones (vender y comprar en el momento justo). Con la idea de ganar celeridad en las operaciones y automatizar procesos, la compañía recurrió a una aplicación para realizar transacciones de manera automática y programó una serie de compras y ventas que se debían ejecutar durante varios días (es de suponer que respondiendo a ciertas previsiones en los valores que iban a alcanzar las acciones a intercambiar).

¿Qué terminó pasando? El sistema en vez de ejecutar las operaciones siguiendo la línea temporal que se había planificado, terminó realizando las transacciones una tras otra y, por tanto, realizando las compras y las ventas al precio del 1 de agosto. Millones de acciones fueron cambiando de manos a un ritmo frenético y sin control, provocando que la compañía perdiese el equivalente a 4 veces sus beneficios del año pasado. Además de las pérdidas, la reputación de la compañía cayó por los suelos y el valor de sus acciones pasó de 4 dólares a algo menos de 1 dólar, es decir, prácticamente nada.

Con unas pérdidas de algo más de 440 millones de dólares y el valor de la compañía en mínimos absolutos, Knight Capital ha estado a punto de entrar en bancarrota si no llega a recibir una inyección de capital de varias firmas de inversión que han inyectado liquidez (400 millones de dólares) para reflotar la compañía y no dejar a los clientes de ésta desprotegidos puesto que recuperar los valores perdidos podrían costar unos 500 millones de dólares.

45 minutos de mal funcionamiento de un programa fueron suficientes para llevar al borde del abismo a la compañía y su cartera de clientes además de provocar problemas al funcionamiento del propio Wall Street y unas 100 compañías cuyas acciones fueron vendidas "sin control". ¿Y cómo pudo ocurrir algo así? La verdad es que de las causas aún no se sabe mucho más allá de que el software utilizado se acababa de desplegar y, por tanto, era la primera vez que se usaba en producción.

¿Acaso no realizaron una batería de pruebas lo suficientemente profunda? ¿El software tenía algún bug no controlado? ¿Sería un fallo humano? No sé si llegaremos a conocer qué pasó realmente pero sucesos como éste ponen de manifiesto la necesidad de someter a pruebas exhaustivas cualquier tipo de sistema, máxime si éste gestiona procesos críticos.