Como ya señalamos, una IA funcional y de calidad es la base esencial para una IA ética y legal. En este post resumimos los dos principales estándares para crear, evaluar y certificar tanto los procesos software para desarrollar sistemas de IA (ISO/IEC 5338) como para el propio producto software de IA (ISO/IEC 25029).
Ingeniería de la Inteligencia Artificial
En la década de los 2010 ya se empezaban a desarrollar cada vez más sistemas de IA, sobre todo basado en modelos de aprendizaje automático/aprendizaje profundo (ML/DL) que requerían soluciones de ingeniería para asegurar la calidad del software de IA en producción y su despliegue en la industria, enfatizando la necesidad de la Ingeniería de la IA.
De hecho, desde principio de los años 2000 se han propuesto diferentes modelos de ciclo de vida para la IA (CRISP-DM, CRISP-ML(Q), TDSP, ADLC, etc.) así como adaptaciones de métodos ágiles y de DevOps para IA y MLOps.
Más recientemente, este campo se ha transformado de forma acelerada con la incorporación de la propia IA para desarrollar software, utilizando métodos como Vibe Engineering o SDD (Spec Driven Development), así como para especificar, desarrollar y probar más rápidamente y de forma automática; o incluso con la incorporación de los agentes en la creación y despliegue del software.
En cualquier caso, como siempre nos termina ratificando la realidad, aunque la tecnología avance, los principios siguen siendo válidos y por tanto es necesario disponer de un conjunto de procesos adecuados para el desarrollo y evolución del software.
Calidad de los procesos de software de IA
La norma ISO/IEC 5338 cuenta con la definición de un total de 33 procesos, que modifican los de la norma ISO/IEC 12207, introduciendo algunos nuevos. Tomando como base el modelo MMIS y la norma anterior, se ha definido el modelo MMSIA, que es un modelo de madurez para los procesos software de Inteligencia Artificial en el que se definen los siguientes procesos:

Con este modelo, las empresas que desarrollan software de IA pueden evaluar la calidad de sus procesos e ir mejorándola gradualmente, así como conseguir certificaciones basadas en la familia de normas ISO/IEC 33000, como ya disponen muchas organizaciones con software “clásico”.
Calidad del producto software de IA
Por otro lado, es importante asegurar la calidad del propio software de la IA (como producto). Para ello se ha desarrollado, basándose en la familia de normas ISO/IEC 25000, la norma ISO/IEC 25059 que recoge las características de Calidad de Producto que debe cumplir cualquier Sistema de IA.

Respecto al modelo de la norma ISO/IEC 25010 se han modificado las definiciones adaptándolas a los sistemas de IA y se han introducido cambios en varias subcaracterísticas como en Capacidad de Interacción, Fiabilidad, Seguridad, y Adecuación Funcional. Utilizando esta norma, y mediante la evaluación de un laboratorio acreditado (AQCLab es el único en España para ello), los productores de software de IA pueden certificar sus productos, como hace años que se hace con los productos software “clásicos”.
Evidentemente, si el software de la IA implementa un sistema de aprendizaje automático (machine learning), entonces también tendremos que evaluar (y eventualmente certificar) la calidad de los datos que se han usado para su entrenamiento, validación y prueba.

