Avances tecnológicos

Seguramente si usted ha trabajado en proyectos de gran envergadura, o conoce el funcionamiento de la mayoría de ciclos de vida de un produzco, sabrá que históricamente se le otorga un peso relativamente alto a las pruebas.


simulacion

Las pruebas permiten seleccionar lo mejor de un producto, y descartar todo lo demás. Nos ayudan a separar la paja del grano, mejorando iterativamente la calidad del mismo, y en muchos casos, rediseñando los conceptos iniciales.

Quizás, envuelto en esta vorágine de nuevas tecnologías, de intoxicación informativa, no haya caído en la cuenta de que si algo ha revolucionado en verdad el sector industrial, no ha sido (únicamente) la robótica, o la impresión 3D, sino dos patas de una misma mesa: la simulación y los sistemas multiagente.

La simulación nos permite hacer pruebas en entornos controlados mediante sistemas digitales, lo que abarata terriblemente los costes de producción generales. Un sistema operativo como Firefox OS pasa continuamente pruebas. Unas pruebas que antiguamente llevarían meses y requerirían contratar a un equipo específico, molestar a un número relativamente alto de clientes, ahora son llevadas a cabo por simulación en unos minutos.

En ese tiempo, los test se diseñan para considerar prácticamente cualquier situación desfavorable en la que un usuario puede verse comprometido. Simulaciones de miles y miles de casos, reproduciéndose continuamente, de forma persistente. Las pasamos los desarrolladores, las pasan los diseñadores, los chicos de UX y por supuesto el equipo de QA. Cuando sale una nueva implementación, Mozilla aplica también sus propios controles, cada fabricante hace lo propio, y así uno tras otro hasta el usuario final.

El resultado, salvando honrosas excepciones, es un producto hasta cierto punto fiable, y en todo caso, si falla, no es culpa de los test, sino de los humanos que lo han diseñado (y que seguramente no contemplaron el caso). Por supuesto, aún falta el feedback del usuario, las pruebas de campo, y seguramente haya que solucionar y pulir situaciones, pero la idea general es acertada.

Hablando de simulación, es imposible dejar de lado los sistemas multiagente. Ese paradigma de virtualización de la realidad que permite a una simulación aplicar principios de lógica con varios elementos que operan por separado.


Si queremos diseñar un sistema de evacuación en caso de incendio de un colegio, podemos contratar a cientos de personas durante varios días para hacer las pruebas, desplazar las clases para ello, o bien simular digitalmente el entorno y generar un sistema multiagente. Una simulación con cientos de pequeños puntos virtuales que se comportan todo lo caóticamente esperable en una situación real. Y de nuevo testear casos. Agentes que se quedan paralizados, agentes que no atienden a razones, agentes que deciden tomar una iniciativa incorrecta,… Miles de casos distintos, con resultados variopintos, que nos van a permitir predecir la gran mayoría de posibles casos, y tomar una decisión en el mundo real que posiblemente sea la más acertada (o esté cerca de serlo).

Se aplica en tecnología, se aplica en la industria, y se aplica prácticamente en cualquier ámbito que se nos ocurra. El caso de las últimas elecciones de EEUU es anecdótico. Un Mitt Rommey claro vencedor hasta la noche anterior, con un Obama que se alza con la victoria. Por detrás, un programa de simulación en funcionamiento varios años antes que anticipó la mejor solución a 62.000 posibles resultados electorales. Obama ganó porque prácticamente había predecido cualquier posible resultado desfavorable, buscando su contramedida.

Dos elementos que muchas veces pasan desapercibidos, y que han cambiado para siempre el modelo de entendimiento de la realidad.