MODELOS DE CALIDAD ISO, SPICE, CMMI, BOOTSTRAP, MOPROSOFT
INDICE Calidad de Software Modelos de calidad de Software Ciclo de vida para la construcción de modelos de calidad de software Modelo de calidad ISO Modelo de calidad SPICE Modelo de calidad CMMI 7. Modelo de calidad Bootstrap 8. Modelo de calidad MoProSoft 9. Referencias bibliográficas
CALIDAD DE SOFTWARE El estándar internacional IEEE 610 la define como:“ el grado en el cual un componente, sistema o proceso satisface requisitos especificados y/o necesidades y expectativas del usuario/cliente”. El cronómetro de satisfacción de los usuarios se mantendrá en verde en la medida que nuestros esfuerzos se consoliden de forma positiva, construyendo soluciones tecnológicas que brinden respuestas satisfactorias, que sean percibidas como fáciles e intuitivas al usar, y realmente ayuden a conseguir rápidamente lo que se necesita.
Modelos de Calidad de software Los Modelo de Calidad de Software (MCS) son una herramienta concebida para guiar a las instituciones a la mejora continua, con el propósito de que fortalezcan sus procesos y puedan brindar productos y servicios de alto nivel a los usuarios, con el adecuado uso de las tecnologías. Existen modelos de calidad orientados a la calidad total y la eficiencia, modelos orientados a la mejora, modelos propios de determinados sectores e incluso modelos de calidad que desarrollan las propias organizaciones.
ESTRUCTURA Y ENFOQUE DE LOS MODELOS DE CALIDAD DE SOFTWARE Los modelos de calidad de software generalmente están estructurados como se muestra en la Figura 1 (Scalone, 2006) y (Bautista, 2012), donde se pueden tener diversos factores de calidad que a su vez se componen de criterios que son evaluados por métricas, con el propósito de abordar la evaluación desde lo general a lo particular, y permitir la reducción de la subjetividad en la asignación de un valor, ya sea cuantitativo o cualitativo.
Figura 1 Estructura de la calidad de software.
CALIDAD A NIVEL DE PROCESO La calidad de un sistema software debe ser programada desde el inicio del proyecto, y posteriormente en cada etapa del proceso de desarrollo se debe llevar a cabo el control y seguimiento de los aspectos de calidad, para minimizar los riesgos y ofrecer soporte continuo, se garantiza así un óptimo nivel de cumplimiento de los factores de calidad, teniendo en cuenta que si en alguna de las etapas se deja de lado la verificación de los factores y criterios es posible que se presente deficiencia en alguno de éstos y disminuirá el nivel de calidad no solo del proceso, sino también del producto en desarrollo.
CALIDAD A NIVEL DE PRODUCTO La principal finalidad del modelo de calidad de producto es especificar y evaluar el cumplimiento de criterios del producto, para lo cual se aplican medidas internas y/o medidas externas (Bevan, 2010). Por esta razón, algunas normas y estándares han definido la calidad a nivel de producto en tres tipos: interna, externa y en uso (Rodríguez, 2016). Este enfoque está orientado a verificar el cumplimiento de las características que permitan alcanzar la satisfacción del cliente en cuanto a los requisitos definidos en las etapas iniciales del proceso de desarrollo.
CALIDAD EN USO Es importante resaltar que aunque en diferentes escenarios se utilizan los términos usabilidad y calidad en uso, con el mismo propósito y de forma intercambiable tienen significados distintos, principalmente porque el concepto de calidad en uso es más amplio y abarca más elementos que la usabilidad (Covella, 2005), y esta última es una de las características de calidad de un producto software. La calidad en uso se define como el "conjunto de atributos relacionados con la aceptación por parte del usuario final y seguridad", y está basada en la eficacia, productividad, seguridad y satisfacción, según ISO/IEC 9126.
MODELOS A NIVEL DE PROCESO Con base en la información recopilada se presenta la Figura 2, en la que se muestra la línea de tiempo de algunos modelos a nivel de proceso discutidos en este documento.
Ciclo de Vida para la Construcción de un modelo de calidad de software Toda construcción de solución tecnológica corresponde a un ciclo de vida y aunque muchas metodologías reaccionan a un ciclo de vida, la realidad es que los procesos adoptados son siempre los mismos. Lo que puede divergir comúnmente son las técnicas y herramientas que aplicamos en los procesos, porque normalmente dependen de la metodología adoptada en nuestros proyectos . El ciclo de vida adoptado por el modelo se adapta a las metodologías tradicionales y a las metodologías agiles, ya que no posee restricciones que den como absoluto el uso de una única metodología. Los procesos representados en este ciclo son comunes e indispensables para cualquier metodología.
Modelo de calidad ISO Las Normas ISO son un conjunto de normas editadas por Internacional Organización for Standarizacion para ser aplicadas en el desarrollo de la gestión de la calidad de una organización. Proporcionan especificaciones globales para productos, servicios y sistemas, con el fin de asegurar calidad, seguridad y eficiencia. Hasta el momento, la organización ha publicado 22102 estándares, cubriendo prácticamente la totalidad de industrias. Adquirir una norma ISO no es gratuito, excepto en algunas excepciones y certificarse en el cumplimiento de los estándares descritos en las normas es posible sólo a través de agencias externas al ISO, Estas especifican todos los elementos que son requeridos para poder implementar un sistema de calidad, son genéricas y pueden ser aplicadas a todo tipo de organizaciones. Una de las ISO más conocidas es la ISO 9001, perteneciente a la familia ISO 9000. La ISO 9001, establece una serie de requisitos para sistemas de gestión de calidad y es la única norma de la familia que puede ser certificada.
familia de normas ISO/IEC 25000 La ISO 25000 proporciona una guía para el uso de la nueva serie de normas internacionales denominadas Sistemas y Requisitos de Calidad del Software y Evaluación (SQuaRE). El objetivo de ISO 25000 es proporcionar una visión general de los contenidos de SQuaRE, modelos de referencia y definiciones comunes, así como la relación entre los documentos. La ISO 25000 está compuesta por cinco áreas: • ISO 2500n: gestión de calidad. • ISO 2501n: modelo de calidad: compuesto entre otros por fiabilidad, seguridad, mantenibilidad y usabilidad. • ISO 2502n: medición de calidad. • ISO 2503n: requisitos de calidad. • ISO 2504n: evaluación de calidad
¿CUÁLES SON LOS OCHO PRINCIPIOS DE ISO 9001? Orientación al cliente: Las necesidades y requisitos de los clientes deben estar siempre en el centro de la gestión de la calidad. Liderazgo: La gerencia debe asumir un papel de liderazgo distintivo y promover una cultura de gestión de calidad. Participación de los empleados: Todos los miembros del personal deben participar en la gestión de la calidad y alentarse a hacer propuestas de mejora.
4.Orientación a procesos: Todos los procesos deben diseñarse para que sean eficientes, efectivos y cumplan con los requisitos del cliente. 5.Orientación: El sistema de gestión de calidad debe verse como un sistema cohesivo que cubre todos los aspectos del negocio. 6.Mejora continua: El sistema de gestión de la calidad debe mejorarse continuamente para garantizar que satisfaga las necesidades de los clientes y otras partes interesadas. 7.Toma de decisiones basada en hechos: Las decisiones deben basarse en hechos y datos para garantizar que sean efectivas. 8.Asociaciones de proveedores para beneficio mutuo: Las asociaciones con proveedores deben diseñarse de manera que sea útil para ambas partes.
BENEFICIOS DE ISO 9001 La certificación ISO 9001 es adecuada para empresas de todos los tamaños, en cualquier industria. El proceso de certificación, incluidas las auditorías oficiales, brinda a las empresas la oportunidad de mejorar sus sistemas de gestión de calidad y establecer estándares para satisfacer mejor las necesidades de sus clientes y otras partes interesadas. Las recompensas de implementar ISO 9001 incluyen lo siguiente: Las empresas se aseguran de satisfacer las demandas de sus clientes, mejorando así la fidelización de los mismos. Al implementar procesos y procedimientos, las empresas optimizan sus operaciones y las hacen más productivas. Los mecanismos de control y el seguimiento de los procesos reducen la susceptibilidad a errores y rechazos. La participación en la gestión de la calidad aumenta la satisfacción del personal y fomenta la iniciativa personal.
Modelo de calidad SPICE La ISO/IEC TR 15504 conocida como SPICE (Software Process Improvement and Capacity Etermination) es un modelo de evaluación y mejora de los procesos de desarrollo y mantenimiento de sistemas y productos de software.. La ISO/IEC TR 15504 está diseñada para facilitar una aproximación común para realizar valoraciones de procesos, haciendo posible comparaciones entre los resultados de las mismas. Estos resultados se pueden basar en diferentes modelos de valoración (siempre que sean compatibles con el estándar) y métodos de valoración
HISTORIA El proyecto Spice representa el mayor marco de colaboración internacional para desarrollar un estándar de evaluación de procesos de software. Se inició en el año 1991 con tres objetivos clave: Desarrollar un marco de trabajo común para la evaluación y mejora de procesos de software. Aplicar el estándar desarrollado en la industria del software. Promover la transferencia de conocimiento y de tecnología sobre procesos de software entre todas las empresas. La primera versión del borrador del estándar apareció en 1995. Su primera publicación como informe técnico data de 1998. En el año 2003 y a partir de ahí se han presentado nuevas versiones con modificaciones y adiciones con el único fin de mejorar el estándar
¿PARA QUE SIRVE? Proporciona todas las facilidades para la evaluación del proceso y establece los requisitos mínimos para realizar una evaluación que asegure la repetibilidad y consistencia de las valoraciones obtenidas. El objetivo principal de evaluar estos procesos es conocer la capacidad que tienen en una organización. Después de su ejecución, se debe obtener la información relevante de cada proceso, y el punto hasta el cual estos cumplen con su propósito. Es un Marco de referencia para: Determinar las fortalezas y debilidades de los procesos. Mejorar los procesos de software y medir sus mejoras. Aquellos que adquieren un sistema para evaluar la capacidad de los proveedores de sistemas. Determinar los riesgos de negocio para una empresa que considera desarrollar un nuevo producto de software o servicio.
Características Marco de referencia para determinar las fortalezas y debilidades de los procesos. . Marco de referencia para los que adquieren un sistema para evaluar la capacidad de los proveedores de sistemas y determinar los riesgos de negocio. Es independiente de la organización, modelo del ciclo de vida, metodología y tecnología.
CARACTERÍSTICAS: La norma ISO 15504 se caracteriza por: Ser aplicable a cualquier organización o empresa. Ser independiente de la organización, el modelo del ciclo de vida, la metodología y la tecnología. Ser un marco para métodos de evaluación, no un método o un modelo en sí. Cubrir diferentes objetivos para la evaluación de procesos: Determinación de la capacidad (niveles de capacidad o de madurez). Mejora de procesos. Evaluar el cumplimiento de determina dos requisitos del ciclo de vida de desarrollo de software.
DIMENSIONES DE LA CAPACIDAD: Los atributos de proceso están organizados en niveles de capacidad, permitiendo una puntuación única generada para el proceso Estos niveles de capacidad representan incrementos en la capacidad del proceso, en una escala de 6 puntos desde: 0 – Incompletos: el proceso no es capaz de conseguir sus objetivos. a: 5 – En optimización: el proceso es capaz de alcanzar sus objetivos y está continuamente mejorando. Esta escala define un camino para la mejora individual de cada proceso.
NIVELES DE CAPACIDAD. 5 - en Optimización Cambio de los procesos Mejora continua 4 – Predecible Medición de los procesos Control de los procesos 3 – Establecido Definición de los procesos Recursos de los procesos. 2 – Gestionado Gestión del proceso Gestión de los productos 1 – Realizado Ejecución del proceso 0 – Incompleto
MODELOS DE CALIDAD CMMI Este modelo CMMI básicamente son normas para calidad enfocada al mundo del Software. Estas se aplican a los diferentes procesos que hay que llevar a cabo para lograr producir software con calidad, es muy importante mencionar que igual que las normas ISO 90003, este modelo nos dice que hay que hacer, y no como hay que hacerlo. El CMMI clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que realizan para producir software
NIVELES DE CMMI Los niveles CMMI son 5: Inicial o nivel 1 CMMI: Este es el nivel en donde están todas las empresas que no tienen procesos. Nivel 2 CMMI: Quiere decir que el éxito de los resultados obtenidos se pueden repetir. La principal diferencia entre este nivel y el anterior es que el proyecto es gestionado y controlado durante el desarrollo del mismo Nivel 3 CMMI: Alcanzar este nivel significa que la forma de desarrollar proyectos está definida, documentada y que existen métricas. Nivel 4 CMMI: Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la organización. Nivel 5 CMMI: Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades.
CMMI es un modelo de referencia de evaluación de procesos y ayuda mediante la mejora continua. Tiene 3 modelos: Este modelo define un conjunto de buenas prácticas para la mejora de los procesos que forman parte del ciclo de vida de un proyecto. Este modelo define QUÉ hay que hacer, no CÓMO hay que hacerlo. CMMI nos provee una serie de guías para poder mejorar los procesos de las organizaciones. La estructura del modelo CMMI es la siguiente:
CMMI DIVIDE EL ESTADO DE MADUREZ EN 5 NIVELES INCLUSIVOS. El nivel 1 (Inicial): Los procesos no están controlados y son impredecibles. Los procesos no tienen mucha calidad. Este nivel no es muy confiable. En el nivel 2 (Gestionado) a pesar de seguir teniendo una baja calidad se realiza una planificación del proceso. Nivel 3 (Definido): Aumenta el nivel de calidad, los procesos ya están definidos, se describen normas, procedimientos, herramientas y métodos y empiezan a ser predecibles. Es un nivel de calidad aceptable. Nivel 4 (Cuantitativamente gestionado): Los procesos son predecibles, medibles, controlables y tienen ya una alta calidad. Nivel 5 (Optimizado): Este nivel se centra en la mejora continua del proceso. Es el mayor nivel de calidad que nos podemos encontrar.
Las áreas de proceso (PA) son un conjunto de prácticas que se realizan para conseguir unas metas, estas son definidas para proporcionar un nivel de madurez. Estas áreas de proceso tienen unos goals (objetivos) que describen el resultado de una gestión correcta de los requisitos de los procesos y prácticas.
Ventajas y desventajas del CMMI
Alinear las actividades de análisis de la medición. Para conseguir este objetivo en CMMI identifican las siguientes prácticas: Establecer los objetivos de la medición. Especificar medidas. Especificar procedimientos de recogida y almacenamiento. Especificar procedimientos de análisis. A partir de estas prácticas se establece un plan para la medición y el análisis. Con el que se pretende resolver cuestiones tales como: ¿por qué se mide?, ¿qué se va a medir?, ¿cómo se va a medir?, etc.
MODELOS DE CALIDAD BOOTSTRAP Bootstrap es otra de las iniciativas para resolver la crisis del desarrollo de software. Esta metodología mediante prácticas, herramientas y estándares de calidad internacional; mide, evalúa y propone mejoras al proceso de desarrollo de SW que siguen las Unidades de Producción de Software (UPS) de las empresas. Surge como parte del programa estratégico Europeo para investigación en TI, tienen como principio el reducir costos y mejorar la calidad previniendo problemas, en lugar de reaccionar a ellos donde su objetivo es desarrollar un método para la evaluación de procesos de desarrollo de SW
CARACTERISTICAS DEL BOOTSTRAP El proceso de evaluación: el proceso de evaluación es parte de la mejora. Los resultados de evaluación proporcionan la entrada principal para el plan de acción de mejora y proporciona la reacción de las actividades de mejora puestas en práctica. Durante una evaluación BOOTSTRAP los procesos organizativos son evaluados para definir cada proceso. La evaluación de capacidad de proceso está basada en el modelo de proceso de BOOTSTRAP.
EL MODELO DE PROCESO: el modelo de proceso de BOOTSTRAP define niveles de capacidad y procesos. La capacidad de procesos son basados en los siguientes niveles de Capacidad: Nivel 0: Proceso Incompleto Nivel 1: Proceso de Desempeño Nivel 2: Proceso Administrativo Nivel 3: Proceso Establecido Nivel 4: Proceso Previsible Nivel 5. Proceso de Optimización
Propósitos del Bootstrap 1.- Proporcionar apoyo a la evaluación de capacidad de procesos entre las mejores prácticas de una reconocida ingeniería de software. 2.- Incluir estándares de software reconocida internacionalmente como fuentes para identificar las mejores prácticas. 3.- Apoyar la evaluación de como el estándar de referencia ha sido puesta en práctica en la organización. 4.- Asegurar la fiabilidad de la evaluación. 5.- Identificar, en la organización, procesos fuertes y débiles. 6.- Apoyar planificación de mejorar con resultados convenientes y confiables. 7.- Apoyar el logro de los objetivos de la organización planeado acciones de mejora. 8.- Ayudar a aumentar la eficiencia de los procesos poniendo en práctica las exigencias de estándares en la organización.
Modelos de Calidad MOPROSOFT Modelo de procesos para la industria del software, es un modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Desarrollado por la Asociación Mexicana para la Calidad en la Ingeniería del Software a través de la facultad de ciencias de la Universidad Nacional Autónoma de México(UNAM) y a solicitud de la Secretaría de Economía para obtener una norma mexicana que resulte apropiada a las características de tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento de software.
¿QUÉ ES MOPROSOFT? Es un modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Creada con el objetivo de fortalecer a la Industria de Software en México.
CÓMO SURGE Fue desarrollado a solicitud de la Secretaría de Economía para servir de base a la Norma Mexicana para la Industria de Desarrollo y Mantenimiento de Software bajo el convenio con la Universidad Nacional Autónoma de México (UNAM) con el fin de obtener una norma mexicana que resulte apropiada a las características de tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento de software.
CARACTERÍSTICAS DE MOPROSOFT Es específico para el desarrollo y mantenimiento de software. Facilita el cumplimiento de los requisitos de otros modelos como ISO 9000:2008 y CMMI. Es sencillo de entender y adoptar. Es práctico en su aplicación. Comprende un documento de menos de 200 páginas que al compararlo con otros modelos y estándares, lo hace bastante práctico. Resulta acorde con la estructura de las organizaciones mexicanas con desarrollo o mantenimiento de software. Está orientado a mejorar los procesos, para contribuir a los objetivos de la organización, y no simplemente ser un marco de referencia o dictaminación. Tiene un bajo costo, tanto para su capacitación y, su adopción como para su evaluación.
BENEFICIOS DE MOPROSOFT Mejorar la calidad del software producido por la organización que adopta el modelo. Elevar la capacidad de las organizaciones para ofrecer servicios con calidad y alcanzar niveles internacionales de competitividad. Integrar todos los procesos de la organización y mantiene la alineación con los objetivos estratégicos. Reconocer a las organizaciones mexicanas por su nivel de madurez de procesos. Obtener acceso a las prácticas de ingeniería de software de clase mundial. Pertenecer a la Lista Nacional de Empresas Dictaminadas, que sirve como una referencia oficial para clientes, autoridades y competidores.
VENTAJAS DE MOPROSOFT Está basado en normas ISO. Facilita la comprensión del Modelo utilizado. CMMI, ISO 15504:2003 Simplifica la relación entre el modelo de procesos y la organización. Cuenta únicamente con 9 procesos evitando la fragmentación que se presentaen otros modelos. Gestión de Negocio Gestión de Procesos Gestión de Proyectos Gestión de Recursos -Recursos Humanos y Ambiente de trabajo -Bienes, Servicios e Infraestructura -Conocimiento de la organización
DESVENTAJAS DE MOPROSOFT Define actividades de manera muy general. El 33% de las prácticas no cubiertas de definir e implementar como lo son Administración de Configuración (CM) y Medición y Análisis (MA). Evaluaciones formales constantes. No comprensible para los modelos ISO 9000: 2000. Mejora los procesos Orientado al Objeto del negocio. Proyectos para largos plazos.
¿A QUIÉN ESTÁ DIRIGIDO MOPROSOFT? Está orientado a las pequeñas y medianas empresas o a áreas internas de desarrollo y/o mantenimiento de software, que les permitirá acceder a prácticas de ingeniería de software de clase mundial. La adopción del modelo permitirá elevar la capacidad de las organizaciones para ofrecer servicios con calidad y alcanzar niveles internacionales de competitividad.
ESTRUCTURA El esquema agrupa los procesos en tres categorías principales: Alta Dirección, Gerencia y Operación. Esta división de procesos se ajusta a la estructura funcional de una organización convencional
CATEGORÍAS 1) Categoría-de-Alta-Dirección-(DIR) Se establecen los lineamientos para los procesos de la Categoría de Gerencia y se alimentaron con la información generada por ellos en apoyo a la estrategia de la organización. 2) Categoría-de-Gerencia-(GER) Se definen los elementos para el funcionamiento de los procesos de la Categoría de Operación en función de la estrategia de Dirección, recibe y evalúa la información generada por éstos y comunica los resultados a la Categoría de Alta Dirección. 3) Categoría-de-Operación-(OPE) Se realizan las actividades de acuerdo a los elementos proporcionados por la Categoría de Gerencia y entrega a ésta la información y productos generados.
CONCLUSIÓN Los modelos de calidad como ISO, SPICE, CMMI, Bootstrap y MoProSoft representan enfoques fundamentales para garantizar la mejora continua, la estandarización y la eficiencia en los procesos de desarrollo de software. Cada uno aporta una perspectiva particular: ISO establece normas internacionales de calidad, SPICE (ISO/IEC 15504) proporciona una evaluación detallada de procesos, CMMI se enfoca en la madurez y mejora de procesos organizacionales, mientras que MoProSoft se adapta específicamente a las necesidades de las micro, pequeñas y medianas empresas en México. Por su parte, Bootstrap, aunque comúnmente asociado con diseño web, representa un modelo de calidad en la interfaz de usuario, promoviendo buenas prácticas de diseño, consistencia visual y desarrollo ágil. En conjunto, estos modelos permiten a las organizaciones asegurar productos y servicios más competitivos, confiables y alineados con las necesidades del cliente y del mercado. Adoptarlos correctamente fortalece la gestión de proyectos, mejora la productividad y contribuye al cumplimiento de objetivos estratégicos en entornos tecnológicos cada vez más exigentes.
REFERENCIAS BIBLIOGÁFICAS MOPROSOFT. NORMAS Y ESTANDARES, DE NORMASYCERTIFICACION SITIO WEB: HTTP://NORMASYCERTIFICACION.BLOGSPOT.COM/P/MOPR.HTML Davidson, Russell y James G. MacKinnon. "Bootstrap tests: how many bootstraps?" Econometric Reviews 19, n.º 1 (enero de 2000): 55–68. http://dx.doi.org/10.1080/07474930008800459. Boyer, Kenneth W. "CMMI distilled". ACM SIGSOFT Software Engineering Notes 27, n.º 2 (marzo de 2002): 70. http://dx.doi.org/10.1145/511152.5111 https://conalepdalia.files.wordpress.com/2013/10/spice.pdf ISO. (2015). ISO 9001:2015 Quality management systems — Requirements. International Organization for Standardization. https://www.iso.org/standard/62085.html Porras Flores, Efraín E. "Análisis de los artefactos del proceso ágil Iconix para evaluar la calidad del producto software, 2017." Investigación 26, no. 1 (January 1, 2018): 185–94. http://dx.doi.org/10.51440/unsch.revistainvestigacion.2018.1.75.