Tendencias & Innovación

El software es una causa del éxito o del fracaso de las innovaciones digitales

Que la digitalización es el futuro para muchas empresas, productos y servicios es algo del que difícilmente se puede tener dudas. Pero en esa digitalización subyace uno de los principales problemas a los que yo considero que se enfrentan los que quieren innovar teniendo en cuenta la digitalización. Y ese problema es el software.

El software es la base de la digitalización y es el elemento que va a requerir una mayor consideración y preocupación para asegurar que una innovación pase de ser un potencial éxito a un rotundo fracaso. Para situarnos veamos algunos de los casos en los que el software influye en la reputación de las empresas en las que se han producido incidencias relacionadas con la forma en como se ha programado dicho software.

El reciente caso del accidente del Boeing 737 MAX en el que las líneas de investigación que se están llevando a cabo se focalizan en problemas relacionados con el software que se incorpora en los sistemas de vuelo. O el caso del software que se instaló en los motores de los vehículos Volkswagen para poder superar las pruebas de controles de emisiones de la Agencia de Protección Ambiental de Estados Unidos. Y también son importantes los errores de software que se aprovechan para utilizarlos como vía de entrada de virus (spywares, ransomwares, malwares, gusanos o troyanos) para hacer acciones de chantaje, recogida de información confidencial o sensible, destrucción de datos, etc. Como es el caso del clonado de la llave inalámbrica de un vehículo con lo que se consigue sustraer el coche sin llamar la atención.

Estos son algunos casos pero hay muchos más. Todos ellos nos exponen que el software puede tener consecuencias irreversibles en las personas, en las empresas, en las máquinas y en los sistemas. Esto debería hacer reflexionar a los desarrolladores de software, pero especialmente a los responsables de los proyectos de innovación de que mecanismos tienen para minimizar los riesgos del software. Deberán considerar y definir que sistemas se tendrán para la evaluación de esos riesgos y, especialmente, de cómo se podrán solucionar de forma rápida. Una de las acciones más habituales es la utilización de un “sistema de seguimiento de incidentes de software” que es un sistema en el que se recogen los bugs (errores o incidentes de software) que se han detectado en las pruebas, o de los problemas o incidencias que se comunican por parte de clientes o usuarios que se producen en productos, máquinas, instalaciones o servicios.

Pero también existen otras formas para detectar errores en el software como pueden ser las llamadas de las empresas (a menudo con el incentivo de premios) dirigidas a expertos en descubrimiento de vulnerabilidades para que encuentren errores que no se han encontrado con los pruebas internas. Este modelo de prevención de riesgos expone la dificultad de detectar los errores en software por la elevada complejidad, y porque en muchos casos el software que se desarrolla utiliza módulos de software de terceros, que cuando se conectan mediante algoritmos programados a propósito no prevén interacciones irregulares entre ellos. Siendo una de las consecuencias la creación de una nueva versión del software o la actualización de la versión incorporando las modificaciones correspondientes o añadiendo nuevas líneas de código para bloquear esa incidencia.

La actualización de software o las nuevas versiones también tienen implicaciones en los productos que las incorporan y eso debe tenerse en cuenta porque, por ejemplo, si ese producto se va a comercializar en la Unión Europea debe cumplir con determinadas Directivas y Reglamentos, una de estas es la Directiva 2014/53/UE, conocida como RED, que trata sobre la comercialización de equipos radioeléctricos. En esta directiva se hace referencia al software con la siguiente consideración:

La conformidad de algunas categorías de equipos radioeléctricos con los requisitos esenciales establecidos en la presente Directiva puede verse afectada por la inclusión de software o por la modificación de su software actual. Únicamente debe permitirse que el usuario, el equipo radioeléctrico o un tercero incorporen software al equipo radioeléctrico cuando dicho software no comprometa la conformidad de ese equipo radioeléctrico con los requisitos esenciales aplicables.”

Es decir, cuando a un producto se le incluye software o se modifica el software actual deberá asegurarse que no afecta a los requisitos esenciales que se definen en esa directiva, a título de ejemplo, uno de los requisitos es “el equipo radioeléctrico sea compatible con determinadas funcionalidades que garanticen la protección contra el fraude”. Si se hace una modificación que inadvertidamente provoca una vulnerabilidad en el sistema de protección y comercializamos el producto que la incorpora estaremos cometiendo una infracción que podría tener consecuencias si además incumple el Reglamento General de Protección de Datos.

Pero el uso inadecuado del software también tiene consecuencias en la legislación, esto es por ejemplo el caso del dieselgate. Así, recientemente, se ha publicado un Reglamento europeo, el Reglamento (UE) 2019/424, en el que se prohíbe explícitamente la elusión que se realiza mediante , por ejemplo, un software que, cuando detecta que el producto está sometido a ensayos, entonces modifica las condiciones de funcionamiento para que se puedan superar las pruebas a los que se le somete.

Como conclusión, se puede decir que el software será una de las principales causas del éxito o el fracaso de nuestras innovaciones digitales, pero está en nuestras manos minimizar el riesgo de que sea un fracaso por nuestra propia negligencia o indolencia.