c1.jpg

Modelo de madurez
de ingeniería del software
Versión 2.0 (MMIS V.2)

Francisco J. Pino
Moisés Rodríguez Monje
Mario Piattini Velthuis
Carlos Manuel Fernández Sánchez
Boris Delgado Riss

Créditos

Título: Modelo de madurez de ingeniería del software Versión 2.0 (MMIS V.2). ePUB

Autores: Francisco J. Pino, Moisés Rodríguez Monje, Mario Piattini Velthuis, Carlos Manuel Fernández Sánchez y Boris Delgado Riss

© AENOR Internacional, S.A.U., 2018

Todos los derechos reservados. Queda prohibida la reproducción total o parcial en cualquier soporte, sin la previa autorización escrita de AENOR Internacional, S.A.U.

ISBN: 978-84-8143-975-5

Impreso en España – Printed in Spain

Edita: AENOR Internacional, S.A.U.

Maqueta y diseño de cubierta: AENOR Internacional, S.A.U.

Nota: AENOR Internacional, S.A.U. no se hace responsable de las opiniones expresadas por los autores en esta obra.

Génova, 6. 28004 Madrid
Tel.: 914 326 036 •
normas@aenor.comwww.aenor.com

A Junior, mi compañero recorriendo la vida, con infinito amor.
Francisco J. Pino

Al equipo de AQCLab, por su energía como motor de la calidad del software.
Moisés Rodríguez Monje

A Miguel Toro, pionero de la ingeniería del software, con admiración y gratitud.
Mario Piattini Velthuis

Al equipo de auditores de TIC de AENOR, que desde el año 2004 han sido
unos estupendos profesionales y colaboradores en las normas/estándares ISO.
Carlos Manuel Fernández Sánchez

A las organizaciones que desde el año 2009 han confiado en AENOR
en el modelo de madurez de ingeniería del software (SPICE).
Boris Delgado Riss

Introducción

Como se señala en [Piattini et al., 2018], desde hace varios años se viene insistiendo en la “crisis” de la ingeniería del software y en los desastres que los fallos de los productos software pueden llegar a causar en las organizaciones. En la evolución experimentada por la calidad de los sistemas informáticos se ha pasado de un tratamiento centrado fundamentalmente en la inspección y detección de errores en los productos software a una aproximación más sistémica que considera otros componentes organizacionales que afectan a la calidad del software, y especialmente a los procesos del software. En efecto, en la actualidad, la calidad de cualquier producto software no puede ser asegurada simplemente probando solo el producto [Satpathy y Harrison, 2002], es importante considerar que existe una correlación directa entre la calidad del producto obtenido y la calidad del proceso utilizado para su desarrollo [Fuggetta, 2000]. En este sentido, en los últimos años se han publicado diversos estudios y estándares o normas en los que se exponen las buenas prácticas que se deben seguir para la mejora de la calidad de los diferentes componentes de los sistemas informáticos: procesos, proyectos, productos, servicios, personas, etc.

El proceso software es un conjunto de actividades, métodos, prácticas y transformaciones que se utilizan para desarrollar y mantener el software y los productos asociados (por ejemplo, planes de proyecto, documentación de diseño, código, casos de prueba, manuales de usuario, etc.) [CMU/SEI, 1995]. Las organizaciones desarrolladoras de software que siguen un enfoque orientado a procesos software pretenden llevar a cabo la construcción de sus productos software de una manera sistemática y coherente, estableciendo claramente quién (rol) realiza qué (tarea) y con qué lo realiza (tecnología), buscando que a partir de unas entradas (productos de trabajo) se obtengan unas salidas (productos de trabajo). Las tareas representan el esfuerzo que hay que hacer, los roles representan quién lo hace, la tecnología representa con qué se hacen y los productos de trabajo representan las entradas que se utilizan en las tareas y las salidas que se producen.

Seguir un enfoque orientado a procesos para el desarrollo del software permite a las organizaciones visualizar y organizar su “quehacer” buscando aprovechar al máximo los recursos con los que cuenta con el fin alcanzar sus objetivos estratégicos, los cuales pueden englobarse en perspectivas, tales como: tener finanzas sanas, obtener la satisfacción de sus clientes (ya sea internos o externos), lograr el crecimiento y el aprendizaje de los miembros y generar productos y servicios de calidad. Si bien cada organización establece sus propios objetivos, todos ellos convergen en el deseo de ser una organización eficiente y eficaz, lo cual implica minimizar tiempos de ejecución de los procesos, disminuir costos y lograr mejor calidad en los proyectos y productos [Oktaba et al., 2008].

Sin embargo, para lograr impactar en los objetivos organizacionales los procesos software deben tener una alta calidad. En este sentido, los requisitos de calidad más significativos de los procesos software son:

• Que produzcan los resultados esperados.

• Que estén basados en una correcta definición.

• Que sean mejorados en función de los objetivos de negocio, muy cambiantes ante la gran competitividad de las empresas hoy en día. Actualmente, la calidad del software ha tomado mayor importancia en las organizaciones, por su influencia en los costes finales, como elemento diferenciador de la competencia y de imagen para clientes.

Para que una organización desarrolladora de software obtenga los beneficios de un enfoque orientado a procesos, estos deben ser de calidad. Un proceso software de calidad debe incorporar las responsabilidades (prácticas) clave de gestión de procesos como son: definir el proceso, medir el proceso, controlar el proceso y mejorar el proceso [Florac y Carleton, 1999]. La incorporación de estas responsabilidades o prácticas de gestión permite incrementar gradualmente la capacidad del proceso y, por tanto, su calidad, buscando tener un activo organizacional relevante que apoye la consecución de los objetivos de negocio. Además, incrementar la capacidad de los procesos de una organización desarrolladora de software conlleva el incremento de su madurez organizacional, llevándola desde una organización inmadura a una organización madura. Una organización inmadura no tiene un enfoque orientado a procesos y se caracteriza porque el éxito depende de “héroes”, sufre altibajos en la productividad, tiene alta rotación de recursos, las planificaciones son poco realistas, existe mucho esfuerzo en mantenimiento y hay empleados descontentos. Por su parte, una organización madura tiene procesos definidos y gestionados, el conocimiento está en la organización, entrega el software con la calidad esperada, cumple los plazos, satisface a los clientes y los empleados están satisfechos. Sin embargo, la industria software está poco madura en el control de calidad del software, aunque este constituye un factor fundamental en la competitividad y productividad de las organizaciones [Fernández y Piattini, 2012].

AENOR ha contribuido a la industria software mediante la certificación e implantación de diferentes normas en el campo de las TIC por medio de la definición del modelo integrado y dinámico para el gobierno y gestión de las TIC [Fernández y Piattini, 2018] (véase la figura I.1). Gracias a este modelo de gobierno y gestión para las TIC de AENOR, los responsables de los Centros de Proceso de Datos (CPD) pueden entender los beneficios de la certificación, conocer cuál es la más adecuada para cada caso, ordenar sus prioridades, organizar su estructura y, quizás lo más importante, alinear sus objetivos y sus respuestas con los propios objetivos y necesidades del plan estratégico global de la organización.

Figura I.1. Modelo dinámico de AENOR para las TIC

Básicamente, el modelo propone dos grupos de certificaciones para la parte de gobierno corporativo de las TIC y del sistema de gestión de continuidad del negocio (ISO 22301 e ISO/IEC 38500). Para el área puramente de gestión, se consideran dos campos: los sistemas de gestión de servicios de TI (SGSTI) (ISO/IEC 20000-1) y los sistemas de gestión de la seguridad de la información (SGSI) (ISO/IEC 27001). Con la implantación del SGSTI (ISO/IEC 20000-1) se alcanza la calidad en los servicios de las TIC considerando los objetivos del negocio. Con la implantación del SGSI (ISO/IEC 27001) se logra gestionar los riesgos de los sistemas de información y, por tanto, la seguridad de los mismos. Esto conlleva minimizar los posibles riesgos de las TIC y devolver calidad y confianza a los sistemas de información.

El segundo campo agrupa las actividades de desarrollo del software, diferenciando, por un lado, la calidad de los procesos de desarrollo, donde se centra el presente modelo de madurez de ingeniería del software con la familia de normas ISO/IEC 33000 e ISO/IEC/IEEE 12207 y, por otro lado, la calidad del propio producto software, tomando como referencia la familia de normas ISO/IEC 25000.

El modelo de madurez de ingeniería del software de AENOR (basado en la familia de normas ISO/IEC 33000 e ISO/IEC/IEEE 12207), ofrece una herramienta eficaz que contribuye a mejorar la calidad del desarrollo del software en todo tipo de organizaciones. Uno de los principales objetivos del modelo es simplificar y reducir la complejidad y el coste de implementación de dichas normas en las organizaciones desarrolladoras de software, así como lograr una mayor agilidad, adaptación e integración con los procesos y metodologías de las mismas.

En este libro describimos el modelo de madurez de ingeniería del software de AENOR para ayudar a su utilización e implementación en las organizaciones software. El capítulo 1 describe una visión general de las normas ISO utilizadas para la creación del modelo. A continuación, el capítulo 2 despliega el modelo de madurez de ingeniería del software, mientras que el capítulo 3 ofrece una guía de implementación del modelo. En el capítulo 4 se describen las conclusiones y lecciones aprendidas de su aplicación práctica y finalmente, en el anexo A, se presenta una plantilla de la Evidencia de Implementación de Procesos (EIP) con el objetivo de que las empresas la puedan utilizar a la hora de analizar el cumplimiento interno del modelo.

Agradecimientos

Querríamos expresar nuestro agradecimiento, en primer lugar, a Javier Verdugo y Jesús Oviedo, de AQCLab, por su colaboración en la elaboración y aplicación de este modelo de madurez. A las empresas que han implantado y certificado este modelo, así como a los auditores de AENOR y de entidades colaboradoras, por su trabajo de campo y colaboración constante.

A la Dirección de Servicios de Información Sectorial y a AENORediciones por su ánimo y apoyo constantes, haciendo posible que esta publicación concluya con éxito.