CALIDAD EN SOFTWARE
TEMAS 1. 1.1 1.2
INTRODUCCIÓN Concepto de calidad en software Beneficios
2. 2.1 2.2
MODELOS PARA CALIDAD EN SOFTWARE Modelo de maduración de la Capacidad (CMM) Modelo de gestión de la calidad ISO 9000
3.
RECOMENDACIONES
4.
CERTIFICACIÓN
1. INTRODUCCIÓN
1.1 CONCEPTO DE CALIDAD EN SOFTWARE
Cuando se habla de calidad del software se hace referencia la conjunto de cualidades que determinan su utilidad. Es el grado en que un software cumple con los requisitos especificados. (eficiencia, flexibilidad, corrección, mantenimiento, seguridad e integridad. La Calidad del software es medible y varia según el tipo de sistema y de programa, por ejemplo: no es lo mismo un software para control de viajes especiales el cual debe ser confiable a un nivel de cero errores, que un software elaborado para la implementación de un sistema de calidad (investigación). Esta calidad puede ser inspeccionada al finalizar el producto, pero normalmente es mas costoso que realizarlo durante las diferentes etapas del ciclo de vida de producción del producto.
1.2 BENEFICIOS Organización Control Trazabilidad del servicio Mejora continua Imagen frente a los clientes Definición de la responsabilidad y autoridad y por ende de la competencia del personal
2. MODELOS PARA CALIDAD EN SOFTWARE
2. MODELOS PARA CALIDAD EN SOFTWARE
La obtención de un software con calidad implica la utilización de modelos o procedimientos estándares para el análisis, diseño, desarrollo y prueba del software que permitan uniformar la filosofía de trabajo, para lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software.
2. MODELOS PARA CALIDAD EN SOFTWARE En todos los diferentes modelos para conseguir una certificación, no solo es necesario que la metodología o la documentación de los procesos cumpla con los requisitos del modelo, sino que es necesario además, que existan suficientes evidencias que demuestren el uso consistente y sistemático de las prácticas definidas en la organización. Por esta razón, el objetivo principal de acciones de mejora, no reside tanto en obtener la certificación en alguno de los niveles del modelo, sino en implantar unos procesos que, independientemente del reconocimiento de cara a clientes y proveedores, mejoran sustancialmente la calidad y el desempeño de los resultados y del propio proceso en estudio
QUÉ ES KAIZEN? Kaizen no es un programa de eliminación de desperdicios o de reducción de costos, entenderlo así limita su verdadero alcance y hace que no se implemente con su potencial verdadero. Maasaki Imai, creador del concepto, plantea el kaizen como la conjunción de dos términos japoneses, kai, cambio y, zen, para mejorar, luego se puede decir que Kaizen es "cambio para mejorar", pero haciendo más extensivo el concepto, Kaizen implica una cultura de cambio constante para evolucionar hacia mejores prácticas, es lo que se conoce comúnmente como "mejoramiento continuo". Pilares del kaizen Equipos de trabajo El mejoramiento continuo es una filosofía que trasciende todos los aspectos de la vida, no solo al plano empresarial, ya que de por sí, los hombres tienen una necesidad de evolucionar hacia el autoperfeccionamiento. Esta base filosófica hace que la mejora continua se convierta en una "cultura para ser mejores" que va más allá de lo económico Además, Kaizen, al contrario de otras "filosofías empresariales", no se trata de realizar grandes cambios, más bien se enfoca en realizar mejoras pequeñas pero continuadas en todas las actividades, es una cuestión paso a paso y no de grandes revolcones.
2. MODELOS PARA CALIDAD EN SOFTWARE
El modelo a seleccionar depende de lo que se quiera lograr y de la forma de trabajo. La cantidad de modelos que se tienen actualmente es muy variada.
2. MODELOS PARA CALIDAD EN SOFTWARE
Entre los mas destacados estan: CMM (Capability Maturity Model). Orientado a mejora de procesos en diferentes niveles de hacia proyectos específicos
madurez, mas
Gestión de calidad: Un modelo enfocado al estilo de gerencia de la empresa ha sido exitoso por su adaptabilidad a cualquier tipo de organización y definido mediante las normas ISO 9000
2.1 MODELO DE LA CAPACIDAD DE MADURACIÓN (CMM)
Conceptos de gestión aplicados a los procesos y mejora de la calidad del desarrollo y mantenimiento del software. Estudia los procesos y define el nivel de madurez de la organización según una escala de cinco niveles. Obliga a la revisión constante
Modelo CMM: Objetivos Objetivo 1: Determinar el nivel de madurez del Proceso de Desarrollo que permita establecer un indicador de Calidad del proceso. (5 Niveles de Madurez) Objetivo 2: Servir de guía en el Proceso de Desarrollo permitiendo la Mejora Continua de la organización -> Control de Procesos
NIVELES DE CMM Medidas de Producto y Proceso. Registro de valores de Calidad Desarrollo y Mantenimiento documentado y Estandarizado Gestión del proceso seguimiento de: costos, planificación y funcionalidad
Mejora continua
N5: Optimizado N4: Gestionado N3: Definido
N2: Repetible
N1: Inicial
Resultados cuantificados, con opción de mejora
Aseguramiento de calidad
Control de calidad
Inspección
El éxito del proceso depende del esfuerzo individual
Gestión de calidad
Proceso Desarrollo Software NIVEL 2: Repetible Gestión de Requisitos Planificación del Proyecto Seguimiento y Supervisión del Proyecto Software Gestión de Subcontratación del Software Garantía de Calidad del Software Gestión de Configuración del Software
Proceso Desarrollo Software Nivel 3: Definido Enfoque del proceso de la organización Definición del proceso de organización Programa de formación Gestión de integración del software Ingeniería de productos software Coordinación entre grupos Revisiones periódicas
Proceso Desarrollo Software Nivel 4: Gestionado Gestión cuantitativa del proceso Gestión de calidad del software
Nivel 5: Optimización Prevención de defectos Gestión de la tecnología Gestión de cambios en el proceso
2.2 MODELO DE GESTIÓN DE LA CALIDAD ISO 9000
2.2 MODELO DE GESTIÓN DE LA CALIDAD ISO 9000
Este modelo es mas general en sus conceptos: sin embargo esta generalidad hace que los demás modelos se incluyan fácilmente en la organización. Su enfoque esta dado por procesos y estructurado para la mejora continua. Normalmente las organizaciones inician con este modelo que permite definir la gestión y posteriormente continúan con el modelo que piensan aplicar.
ESTRUCTURA DE LAS ISO 9000 EFICACIA Y EFICIENCIA
ISO9004 ISO9000
DIRECTRICES PARA LA MEJORA DEL DESMPEÑO
ISO9001 FUNDAMENTOS Y VOCABULARIO
ISO 19011 10013 10014 10012-1/2
EFICACIA
REQUISITOS ADITORIAS ELABORACION DE MANUALE S PLANES DE CALIDAD METROLOGÍA MEJORA
PROCESOS SEGÚN LA NTC ISO 9000 SGC
Mejora continua del SGC
C L I E N T E S
Responsabilidad de la dirección (P)
R e q u i s i t o s
Gestión de recursos (H)
Medición, análisis y mejora (H)
Realización del producto (H) ENTRADAS
producto
S a t i s f a c c i o n
C L I E N T E S
SALIDAS FUENTE NTC ISO 9001
3.RECOMENDACIONES 1.Para implementar un modelo de calidad en software es importante tener claro: Cual es la situación actual de la organización a donde se quiere llegar Cómo llegar Y como saber si ya se llego
2. Es poco probable lograrlo haciendo todo al mismo tiempo, existen fases que deben ser superadas. 3. Realizar pilotos previos a un despliegue a gran escala
4. CERTIFICACIÓN Demostración competente.
por
parte
de
un
tercero
En Colombia debe estar acreditado por la Super intendencia de industria y comercio (SIC) Se realizan visitas (normalmente anuales) para verificar cumplimiento y MEJORA No es el fin u objetivo de la implementación de un modelo
PROCESO DE IMPLEMENTACIÓN
FORMACIÓN
CONSULTORIA
TOMAR LA DECISIÓN
AUDITORIA DE CERTIFICACIÓN
PLANIFICAR EL SISTEMA
IMPLEMENTACIÓN
MANTENIMIENTO DEL SISTEMA DE GESTIÓN DE LA CALIDAD
AUDITORIA INTERNA
REVISIÓN POR LA DIRECCIÓN
ING JOSÉ HENRY GARCIA PEÑA
GRACIAS POR SU TIEMPO
7. REALIZACIÓN DEL PRODUCTO 1. Planificación (Cronogramas, objetivos, recursos Análisis) 2. Procesos relacionados con el producto (comercial y comunicación con el cliente)
3. Diseño y desarrollo (Modelos, propuestas para la elaboración del software)
4. Compras
(usualmente servicios, desarrolladores externos, instalaciones,
distribuidores)
5. Control de la realización del producto (Construcción del software, según lineamientos establecidos en el diseño) ver 8.2.4
6. Control de dispositivos de seguimiento y medición (Normalmente no aplica, pero en el caso de software para ensayos o aplicaciones parecidas si aplicaría)