MODELOS DE CALIDAD DE SOFTWARE
La calidad está compuesta por una composición
de muchas características
Un modelo de calidad describe estas características y sus relaciones. Los
modelos de calidad ofrecen normas y parámetros, con pasos
específicos para la creación de proyectos informático.
Un modelo de calidad de software es
un conjunto de buenas prácticas para el ciclo de vida del software, enfocadas
en los procesos de gestión y desarrollo de proyectos, este indica qué hacer y
no cómo hacerlo. Según la NC-ISO/IEC 9126-1 es el conjunto de características y
las relaciones entre las mismas, que proveen la base para especificar
requisitos de calidad y evaluar la calidad. NC-ISO/IEC 9126-1, 2005
Modelo CMMI
Es un modelo de
mejora de procesos que contiene las mejores prácticas de la industria para el
desarrollo, mantenimiento, adquisición y operación de productos y servicios.
Es un modelo de
aseguramiento de la calidad mediante el análisis y re-diseño de los procesos.
Fue creado por
el SEI en el año 2000.
Su principal objetivo es crear producto de calidad predecibles y consistentes, este modelo integra la disciplinas de la Ingeniería de sistemas e Ingeniería de Software que nos permite eliminar redundancias.
El modelo CMMI permite:
Su principal objetivo es crear producto de calidad predecibles y consistentes, este modelo integra la disciplinas de la Ingeniería de sistemas e Ingeniería de Software que nos permite eliminar redundancias.
El modelo CMMI permite:
·
Describir los componentes del modelo
y sus relaciones.
·
Comprender las áreas de proceso.
·
Localizar información relevante en el
modelo.
El estado de madurez se divide en seis niveles:
El estado de madurez se divide en seis niveles:
·
Nivel Inicial
·
Los procesos son habitualmente
caóticos
·
El desarrollo se basa en la
heroicidad y responsabilidad de los individuos.
·
Procedimientos localizados en áreas
concretas.
·
No existen plantillas a nivel
corporativo.
·
Nivel Repetible
·
Procesos de administración
establecidos para lograr el seguimiento de los costos,tareas y
funcionalidad.
·
Proyectos planificados, realizados,
medidos y controlados.
·
Se normalizan las buenas prácticas
·
Se incorpora actividades de
administración de ingeniería en forma documentada, estandarizada eintegradas en
una familia de procesos normalizados de la organización.
·
Procesos caracterizados y
comprendidos.
·
Se conoce de antemano los procesos de
construcción de software.
·
Nivel - Definido
·
Métodos y plantillas bien definidas y
documentados.
·
Procesos afectan a toda la
organización.
·
Nivel – Administrado
·
Proyectos en forma controlada con
métricas que permiten mediciones confiables de los procesos y productos.
·
Se establece objetivos
cuantitativos para calidad y rendimiento.
·
Estadísticas almacenadas para
aprovechar su aportación.
·
Identificación de motivos
especiales.
·
Nivel de Madurez 6 - Optimizado
·
Mejora continua de procesos por medio
de tecnologías a partir de la comparación y
análisis de mediciones sucesivas de los proyectos.
·
Reducción de costes gracias a la
anticipación de problemas y la continua revisión de procesos conflictivos
El
objetivo de esta área es desarrollar y establecer una capacidad de medición
para dar soporte al resto de áreas de proceso proporcionando un marco de
trabajo a las organizaciones a la hora de alinear los objetivos y necesidades
de medición, proporcionando resultados objetivos y útiles para la toma de
decisiones y acciones correctivas. Este enfoque es consistente con las ideas de
Goal, Question, Metric
Modelo TSP y PSP
PSP (Personal Software Process)
El PSP es un marco de trabajo de procesos para guiara a los desarrolladores en: • Definir sus propios procesos • Planear y dar seguimiento a su propio trabajo • Administrar la calidad de sus propios productos de trabajo El PSP es un proceso personal que al estar basado en los principios de mejora, ayuda a la gente a establecer sus metas personales, identificar qué métodos utilizarán, medir sus trabajo y analizar los resultados, para ajustar los métodos que utilizan para cumplir sus metas. TSP (Team Software Process) Es un modelo de referencia de ingeniería de software que provee un énfasis en los procesos, los productos y el trabajo en equipo. El TSP toma de base los principios de PSP para realizar los procesos y principios de ingeniería de software en un ambiente de trabajo en equipo. El TSP enfatiza el trabajo en equipo porque: • Se deben entender las fortalezas/debilidades de cada miembro del equipo y cómo estas soportan el desempeño del mismo. El Team Software Process no es una capacitación, usa los principios de PSP para poner en práctica lo aprendido en el mismo y ayudar a formar y poner en marcha equipos de alto desempeño para producir productos de clase mundial, de manera cíclica, es decir al término de cada ciclo, el equipo debe entregar una versión del producto que pueda ser probada (que sea un subconjunto del producto final), de tal manera que los productos de los ciclos combinados generan el producto final. |
ISO
· La Organización Internacional para la Estandarización, mejor conocida
como ISO, es la agencia especializada en estandarización, conformada por
representantes de los cuerpos normalizadores, fue establecida oficialmente en
Febrero de 1947 con el objeto de promover la estandarización internacional, de
tal manera que se facilitara el intercambio internacional de bienes y servicios
casi como el desarrollo científico y tecnológico.. Actualmente abarca los
estándares nacionales de 91 países. En los Estados Unidos, la representación se
llama The American National Standards Institute (ANSI).
· Normas ISO 9000
· Las series de ISO 9000 son un grupo de 5 individuales, pero
relacionadas, estándares internacionales de administración de la calidad y
aseguramiento de calidad.
· Norma ISO 9000-3
· Es una norma derivada de la norma ISO 9001 dedicada a el proceso de
desarrollo con calidad del software.
Desde que la ISO 9001 fue escrita para ser utilizada por toda clase de industrias, es regularmente difícil interpretarla para el desarrollo de software, por lo cual se publicó la ISO 9000-3 (Guía para la aplicación de ISO 9001 para el desarrollo, implementación y mantenimiento de software)
Desde que la ISO 9001 fue escrita para ser utilizada por toda clase de industrias, es regularmente difícil interpretarla para el desarrollo de software, por lo cual se publicó la ISO 9000-3 (Guía para la aplicación de ISO 9001 para el desarrollo, implementación y mantenimiento de software)
· Su objetivo es simple, proveer las especificaciones de cómo aplicar la
ISO 9001 al desarrollo del software, implementación y mantenimiento
ISO/IEC 9126
Es un estándar internacional para la evaluación del software. Es
supervisado por el proyecto SquaRE (Ingeniería de Requisitos de Calidad de
Seguridad o Security Quality Requirements Engineering) y la ISO 25000:2005, que
siguen los mismos conceptos generales.
Este surge debido a la necesidad de
un modelo único para expresar la calidad de un software. Este modelo se ha
desarrollado en un intento de identificar los atributos más importantes para la
calidad interna y externa en un producto software.
El Modelo ISO/ IEC 15504
Este
estándar SPICE trabaja con procesos de ingeniería, cliente-servidor, gestión de
la organización y del soporte, fue diseñada por la alta competitividad del
mercado de desarrollo de software, a la difícil tarea de identificar los
riesgos, cumplir con el calendario, controlar los costos y mejorar la
eficiencia y calidad, además realiza una evaluación de los procesos de software
relacionando con el conocimiento y la experiencia aportado por otros modelos
como: CMM, Trillium[1], Bootstrap[2] y ISO 9001 entre otros. Como vimos
anteriormente el modelo CMMI, también define seis niveles de madurez. Cinco
categorías de procesos y nueve atributos de procesos para medir el grado de
calidad de los procesos.
El modelo ISO/ IEC 15504, utiliza una guía para la evaluación de proyectos, que envuelve la medición de un proceso, este método de medición plantea uso de Métricas de calidad, la administración de datos (incluyendo datos históricos), y el manejo de métricas en la organización, su principal objetivo es la generación de métricas de proceso y de producto para dar soporte a la planificación efectiva y así mejorar la calidad de los productos, Este engloba un modelo de referencia para los procesos y sus potencialidades sobre la base de la experiencia de compañías grandes, medianas y pequeñas.
El modelo ISO/ IEC 15504, utiliza una guía para la evaluación de proyectos, que envuelve la medición de un proceso, este método de medición plantea uso de Métricas de calidad, la administración de datos (incluyendo datos históricos), y el manejo de métricas en la organización, su principal objetivo es la generación de métricas de proceso y de producto para dar soporte a la planificación efectiva y así mejorar la calidad de los productos, Este engloba un modelo de referencia para los procesos y sus potencialidades sobre la base de la experiencia de compañías grandes, medianas y pequeñas.
McCall
Los
factores de calidad son demasiados abstractos para ser medidos directamente,
por lo que por cada uno de ellos se introduce atributos de bajo nivel
denominados criterios de calidad
Algunos criterios de calidad son atributos internos, reflejando la creencia de McCall que el atributo interno tiene un efecto directo en el atributo externo correspondiente
Un nivel más de descomposición es necesario, mapeando cada criterio de calidad en un conjunto de métricas de calidad que son atributos (tanto del producto como del proceso) de muy bajo nivel, medibles directamente
Algunos criterios de calidad son atributos internos, reflejando la creencia de McCall que el atributo interno tiene un efecto directo en el atributo externo correspondiente
Un nivel más de descomposición es necesario, mapeando cada criterio de calidad en un conjunto de métricas de calidad que son atributos (tanto del producto como del proceso) de muy bajo nivel, medibles directamente
McCall propone tres perspectivas para agrupar los factores de calidad:
1.-Revisión del producto habilidad para ser cambiado
·
Mantenibilidad: Esfuerzo requerido
para localizar y corregir fallas
·
Flexibilidad: Facilidad de realizar
cambios
·
Testeabilidad: Facilidad para
realizar el testing, para asegurarse que el producto no tiene errores y cumple
con la especificación
2.-Transición
del producto adaptabilidad al nuevo ambiente
·
Portabilidad: Esfuerzo requerido para
transferir entre distintos ambientes de operación
·
Reusabilidad: Facilidad de reusar el
software en diferentes contextos
·
Interoperabilidad: Esfuerzo requerido
para acoplar el producto con otros sistemas
3.-Operación del producto características de operación
·
Correctitud: El grado en el que el
producto cumple con su especificación
·
Confiabilidad: La habilidad del
producto de responder ante situaciones no esperadas
·
Eficiencia: El uso de los recursos
tales como tiempo de ejecución y memoria de ejecución
·
Integridad: Protección del programa y
sus datos de accesos no autorizados
·
Usabilidad: Facilidad de operación
del producto por parte de los usuarios
Boehm
Este modelo introduce características de alto nivel, características de nivel intermedio y características primitivas
Características altas
Las características de alto nivel representan requerimientos generales
de uso:
Mantenibilidad: Cuan fácil es modificarlo y reutilizarlo.
Mantenibilidad: Cuan fácil es modificarlo y reutilizarlo.
Características intermedias
Las
características de nivel intermedio representan los factores de calidad de
Boehm:
Portabilidad (utilidad general)
Confiabilidad
Portabilidad (utilidad general)
Confiabilidad
Eficiencia
Usabilidad
Facilidad de entendimiento (mantenibilidad) modificabilidad o flexibilidad (mantenibilidad)
Usabilidad
Facilidad de entendimiento (mantenibilidad) modificabilidad o flexibilidad (mantenibilidad)
Características primitivas
El nivel más bajo corresponde a características directamente asociadas a
una o dos métricas de calidad:
·
De portabilidad: Independencia de
dispositivos auto-contención
·
De confiabilidad:Auto-contención,
exactitud, completitud, consistencia, robustez/integridad
·
De
eficiencia:Accesibilidad,eficiencia de uso de dispositivos
·
De usabilidad:Robustez/integridad,
accesibilidad, comunicación
·
De testeabilidad:Comunicación, auto
descripción, estructuración
IT Mark
Es un servicio internacional de
certificación que estudia los procesos técnicos y de negocio, diseñado
especialmente para PYMES del sector Ti, para medir el reconocimiento de
Excelencia en Tecnologías de la Información.
Este método es adaptado para PYME, ayuda al mejoramiento de procesos de software y a la mejora de otros procesos importantes de empresas que desarrollan y mantienen soluciones en TI.
Este modelo está diseñado principalmente para pequeñas empresas y micro empresas, aun que también es aplicable para grandes organizaciones
Proceso de Mejora Continua
La mejora continua de la capacidad y resultados,
debe ser el objetivo permanente de la organización. Para ello se utiliza un
ciclo PDCA, el cual se basa en el principio de mejora continua de la gestión de
la calidad.
La base del modelo de mejora continua es la
autoevaluación. En ella detectamos puntos fuertes, que hay que tratar de
mantener y áreas de mejora, cuyo objetivo deberá ser un proyecto de mejora.
El ciclo PDCA de mejora continua se basa en los
siguientes apartados:
Plan
·
Identificación del problema y
planificación.
·
Observaciones y análisis.
·
Establecimiento de objetivos a
alcanzar.
Do
·
Correcta realización de los
trabajos
·
Verificación de la aplicación.
Check
·
Comprobación de los logros que se obtuvieron.
·
Comparación con los objetivos planteados
anteriormente.
Adjust
·
Analizar los datos obtenidos.
·
Proponer alternativa de
mejora.
·
Preparación de la siguiente
etapa del plan.
La excelencia ha de alcanzarse mediante un proceso
de mejora continua. Mejora, en todos los campos, de las capacidades del
personal, eficiencia de los recursos, de las relaciones con el público, entre
los miembros de la organización, con la sociedad y cuanto se le ocurra a la
organización, que pueda mejorarse en dicha organización, y que se traduzca en
una mejora de la calidad del producto o servicio que prestamos.