¿Por qué siguen fallando los sistemas en pleno siglo 21?

Es una realidad, no importa en qué época de la tecnología nos encontremos, no importa si se trata de lo último y más novedoso, con más frecuencia de la que quisiéramos sucede que un sistema o aplicación falla, pero ¿por qué?

Realmente sería imposible llegar a decidir una sola razón o situación, pero, trataré de comentar aquí las situaciones más frecuentes y así anticiparte en qué fijarte antes de que a ti te ocurra, aclarando que de ninguna manera esta lista es total, pero si es una recopilación de lo que más frecuentemente sucede.

  1. Aplicaciones legadas o muy antiguas. Una gran cantidad de sistemas que seguimos usando fueron creados décadas atrás y siguen corriendo en parte o totalmente en tecnología obsoleta. En el ambiente financiero por ejemplo es muy común el ver sistemas que todavía a finales del año 2021 corren en COBOL, y si no sabes que es esto, no te preocupes, era un lenguaje de programación HORRIBLE pero muy común en ese ambiente y lo lógico es que haya muy pocos que aún sepan cómo programarlo. Pues estos sistemas pueden requerir de algún cambio drástico y si no se sabe cómo hacerlo o, simplemente no se tiene la forma de poder integrarse a algo nuevo y no se anticipa esto, por supuesto que habrá una falla muy grave.
  2. Lo que funciona para 1000 no necesariamente funciona igual para 1 millón. Esto es típico en computación, un algoritmo de búsqueda pudo haberse desarrollado para un universo de números comprendido en los cientos de miles y si con el tiempo esto aumenta a millones o decenas de millones puede dejar de ser viable, no por no funcionar sino por el tiempo que tardará, o los recursos de sistema que tendrán que asignarse, causando incluso sobrecalentamiento físico de los equipos.
  3. No contemplar toda posible respuesta. Las personas somos, impredecibles. Si los sistemas que validan lo que se puede ingresar a un sistema no son buenos, se puede provocar un error por el simple hecho de ingresar por ejemplo números negativos o letras cuando se esperaban solo números, por dar un simple ejemplo.
  4. No contemplar efectos combinados o “en cascada”. Todos disfrutamos el uso de aplicaciones móviles, pero, si no se contempla por ejemplo lo que será la reacción simultánea de muchas personas cuando falla un aplicativo y esas personas por ejemplo se contactan o llaman por teléfono para levantar una queja y además saturan también las comunicaciones pueden provocar la caída en dominó de varios sistemas cuando no se anticipó una reacción en cadena y masiva de muchas transacciones simultáneas. Esto mismo sucede cuando se agregan nuevas versiones de sistemas o nuevas aplicaciones que no han sido sometidas a un riguroso esquema de pruebas por dar otro ejemplo.
  5. No involucrar a la o las áreas del negocio en el diseño. Esto es muy frecuente aún, las áreas de negocio esperan que la gente de tecnología responda de forma óptima a lo que no es su área de conocimiento. La sugerencia en estos casos es que todo diseño debe de partir de una íntima interacción entre quien conoce las necesidades del negocio y del mercado y las personas que desarrollan las aplicaciones. Sin estar ambos coordinados solo se pueden esperar una gran cantidad de inconsistencias y problemas sistémicos.
  6. Falta de documentación. Ridículo pero cierto. El problema de personas que no documentan sistemas y abandonan el trabajo sigue siendo común y muy complicado de resolver por quienes se quedan a cargo como los nuevos responsables. El tema de la documentación debe de ser una prioridad permanente, además de tener todo siempre actualizado al efectuar un cambio.
  7. Falta de capacitación. Complemento a la falta de documentación es la falta de aprender cómo funciona un determinado sistema. Esto no debe de ser un tema “intuitivo” o simplemente que se pueda resolver leyendo un manual. Esto es, tan ridículo como hacer la analogía de poder volar un avión con el simple hecho de leer el manual de cómo opera. Es necesaria una capacitación teórica y práctica para evitar lagunas de conocimiento que terminan por provocar fallas por impericia o desconocimiento.
  8. El equipo falla. Por supuesto que el hardware puede provocar que un sistema falle, aunque esté bien programado. Errores en memoria, en sistemas de almacenamiento, sobrecalentamiento y hasta basura pueden provocar un problema. No solo eso, la falta de visión en manejo del tiempo y las fechas por ejemplo es un tema latente, que provocó en su momento el problema del año 2000 y que en menos de 20 años provocará el problema del año 2038 que en su momento expliqué aquí: El problema del año 2038.

Mi conclusión es que en todos los casos hay un porcentaje de responsabilidad en las personas. Mientras más se descarten este tipo de responsabilidades, menor será la incidencia de problemas.

Sin duda hay una gran cantidad de aplicaciones y servicios que funcionan casi siempre muy bien o cuyas fallas son frecuentemente no percibidas, pero esto no excluye que siempre se debe de ser cuidadoso y planear cualquier sistema o aplicación con mucho cuidado y con una metodología probada de pruebas para prevenir en vez de lamentar…


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s