Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

48
Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González

Transcript of Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Page 1: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Gestión Calidad en Ingeniería del Software

Universidad Mariano GálvezIng. David René González

Page 2: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Índice

Introducción a la calidad La calidad del software. Estándares y modelos de evaluación y mejora de

los procesos software

Page 3: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Introducción a la calidad

Concepto de calidad Evolución histórica Terminología

Page 4: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Concepto de calidad

Conjunto de propiedades y de características de un producto o servicio, que le confieren aptitud para satisfacer una necesidades explícitas o implícitas (ISO 8402)

Page 5: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Evolución histórica

Inspección/detección de errores: hasta los años 40

• Inicialmente trabajo artesanal: control individual de cada tarea.

• 1918: Ford Motor Company. (Primera cadena de montaje).

• 1930: Laboratorios Bel.

Page 6: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Control (estadístico) de calidad: hasta los años 80

• Mercado poco competitivo. Precio de venta fijado por el fabricante en función de los costes.

• Impedir que el producto defectuoso llegue al cliente.

• Conseguir uniformidad de servicio.• Control de calidad = problema a resolver.• Controlar la calidad del departamento de

producción utilizando técnicas estadísticas.• 1940-70: Japón y Calidad total. Deming,

Ishikawa, Juran, Crosby, …

Evolución histórica

Page 7: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Garantía de calidad: a partir de los 80.

• Mercado competitivo y de oferta• Precio de venta fijado por el mercado• Planificación y medida de la calidad. Modelos de

calidad.• Afecta a todos los departamentos.• 1980. Interés por la calidad en los EEUU. TQM• 1987. Premio Malcom Baldrige Quality Award• 1987. ISO 9000. A partir de las normas británicas• 1992. Premio Europeo a la calidad de la EFQM.

Evolución histórica

Page 8: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Gestión de calidad hoy.

• Impacto estratégico. Oportunidad de ventaja competitiva.

• Planificación, fijación de objetivos, coordinación, formación, adaptación de toda la organización.

• Afecta a la socidad en general: directivos, trabajadores, clientes.

• “Una filosofía, una cultura, una estrategia, un estilo de geréncia de la empresa”.

• ISO 9001:2000

Evolución histórica

Page 9: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Mejora Mejora

de la de la

calidadcalidad

Control de calidad

Garantía

de calidad

Calidad total

Tiempo

Detectar defectos

Prevenir defectos

Mejoracontínua

Evolución histórica

Page 10: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Terminología (ISO 8402)• Calidad: “Conjunto de propiedades y características de

un producto o servicio que le confieren su aptitud para satisfacer unas necesidades explícitas o implícitas”

• Control de calidad: “Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio”.

• Garantía de calidad: “Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad”.

Page 11: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Gestión de la calidad: “Aspecto de la función de gestión que determina y aplica la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad”.

La gestión de la calidad es responsabilidad de todos los niveles ejecutivos, pero debe estar guiada por la alta dirección. Su realización involucra a todos los miembros de la organización.

En la gestión de la calidad, se tienen en cuenta también criterios de rentabilidad.

Terminología (ISO 8402)

Page 12: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Terminología (ISO 8402)• Sistema de gestión de la calidad: “Conjunto de la estructura

de la organización, de responsabilidades, procedimientos, procesos y recursos que se establecen para llevar a término la gestión de calidad”.• El QS debe tener el volumen y alcance suficiente para

conseguir los objetivos de calidad. • El QS de una organización está fundamentalmente previsto

para satisfacer las necesidades internas de la organización. Es más amplio que los requerimientos de un cliente concreto que únicamente valor el QS que le interesa (directamente).

• Para finalidades contractuales o vinculantes en la valoración de la calidad, se puede exigir que se ponga de manifiesto la realización de ciertos elementos del QS.

Page 13: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Concepto de calidad del software Situación actual

La calidad del software

Page 14: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

La calidad del software

“La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificacados y las necesidades o expectativas del cliente o usuario”. (IEEE, Std. 610-1990).“Concordancia del software producido con los requerimientos explícitamente establecidos, con los estándaresd e desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente, que desea el usuario” (Pressman, 1998)

Page 15: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Se pueden clasificar en dos grandes grupos (Pressman):Factores que pueden ser medidos directamenteFactores que solo pueden ser medidos

indirectamente Se centran en tres aspectos importantes de un

producto software (McCall):Características operativasCapacidad de soportar los cambiosAdaptabilidad a nuevos entornos

Factores que determinan la calidad del software

Page 16: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Características operativasCorrección. ¿Hace lo que quiero?Fiabilidad. ¿Lo hace de forma fiable todo el tiempo?Eficiencia. ¿Se ejecutará en mi hardware lo mejor

que pueda?Seguridad (Integridad). ¿Es seguro?Facilidad de uso. ¿Está diseñado para ser usado?

Factores de calidad del Software (McCall)

Page 17: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Capacidad de soportar los cambiosFacilidad de mantenimiento. ¿Puedo corregirlo?Flexibilidad. ¿Puedo cambiarlo?Facilidad de prueba. ¿Puedo probarlo?

Factores de calidad del Software (McCall)

Page 18: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Adaptabilidad a nuevos entornosPortabilidad. ¿Podré usarlo en otra máquina?Reusabilidad. ¿Podré reutilizar alguna parte del

software?Interoperabilidad. ¿Podré hacerlo interactuar

con otro sistema?

Factores de calidad del Software (McCall)

Page 19: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

La industria del software no ha acabado de salir de la fase artesanal

Padecemos de “prisa patológica”, que es consecuencia directa de:DesorganizaciónFalta de planificación

Alta dependencia de los “héroes”Dedicamos nuestros esfuerzos de hoy a arreglar lo

que se hizo mal ayer

Situación actual

Page 20: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

El producto (software) es algo intangible y no constreñido por las leyes físicas

La disciplina, ingeniería del software, es relativamente reciente y muchos de sus conceptos importantes están aún inmaduros

Carencia de un corpus de conocimiento aceptado mayoritariamente que sirva como fundamentos

Escasa presión del mercado

Situación actual

Page 21: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

En una organización inmadura:Procesos software normalmente improvisadosSi se han especificado, no se siguen

rigurosamenteOrganización reactiva (resolver crisis inmediatas)Planes y presupuestos excedidos

sistemáticamente, al no estar basados en estimaciones realistas

Situación actual

Page 22: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

En una organización inmadura (cont.):Si hay plazos rígidos, se sacrifican funcionalidad y

calidad del producto para satisfacer el planNo existen bases objetivas para juzgar la calidad

del productoCuando los proyectos está fuera de plan, las

revisiones o pruebas se recortan o eliminan

Situación actual

Page 23: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

El 90% de los proyectos no alcanzan los objetivosEl 40% fracasan por completoEl 29% no se entregan nuncaCoste de demandas y litigios legales añadidos Efecto ONDA (proveedores y distribuidores)

Situación actual

Page 24: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Qué hacer ?

ArtesaníaArtesanía IngenieríaIngeniería

Cambio cultural de todos los involucrados!

Page 25: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Estándares y modelos de evaluación y mejora de los procesos software

ISO 9000 (ISO 9001:2000) CMM Certificación. Organismos

Page 26: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

ISO 9000

Con el objetivo de estandarizar los sistemas de calidad de las diferentes empresas y sectores, se publican las normas ISO 9000, que son un conjunto de normas editadas y revisadas periódicamente por la Organización Internacional de Normalización (ISO) sobre la garantía de calidad de los procesos.

Así, se consolida a nivel internacional la normativa de la gestión y control de calidad.

Page 27: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

ISO 9000

• Publicada el año 1987. Adoptada por más de 90 pases.

• Directrices para la gestión del sistema de calidad y modelos de garantía de calidad para la empresa.

• Las directrices son genéricas y aplicables a cualquier sector.

• Es un marco de trabajo para la mejora continua.

Page 28: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

ISO 9000ISO TÍTULO8402

9004

9003

9002

9001

9000

Vocabulario - Terminología.

Normas para la gestión y garantía de la calidad. Directrices de selección y uso (ISO 9000-1 1.994).Directrices generales para aplicar las normes 9001, 9002, 9003 (ISO 9000-2 1.993).Guía para aplicar las normes 9001 a empresas de software (ISO 9000-3 1.996).Guía para la gestión de un programa de seguridad (ISO 9000-4).

Elementos y gestión del sistema de calidad. Reglas generales.Directrices para los serveis (ISO 9004-2).Directrices para materiales procesados (ISO 9004-3).Directrices para la mejora de la calidad (ISO 9004-4).

Modelo para garantizar la calidad en inspección final y pruebas. (1.993)

Modelo para garantizar la calidad en producción y servicios. (1.994)

Modelo para la garantía de la calidad en diseño / desarrollo, producción, instalación y servicio.(1.994)ISO 9001-2000

Modelo de calidad total

Page 29: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

ISO 9000Objetivos de ISO 9000:• Proporcionar una guía para la gestión de la

calidad: diseño e implantación de sistemas de calidad.

(ISO 9000 no normaliza el sistema de gestión de calidad, ya que esto depende del tipo de sector, tamaño de la empresa, organización interna, etc, sino que normaliza las verificaciones que se han de realizar sobre el sistema de calidad)

• Describir los requerimientos generales para garantizar la calidad (demostrar la idoneidad del sistema de calidad).

Page 30: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

• Comenzar con ISO 9004-1(1994). Gestión de calidad y elementos del sistema de calidad, para diseñar y implementar el sistema de gestión de calidad. ISO 9004 es la directriz para el establecimiento o ampliación de un sistema de calidad. Esta norma amplia partes de ISO 9000 que no se pueden verificar o que una parte contratante no desea dar a conocer, como por ejemplo los gastos asociados a la gestión de calidad.

• Una vez implantado el sistema de calidad, utilizar los modelos de garantía de calidad ISO 9001-2000 para demostrar su idoneidad

ISO 9000 (Recomendaciones)

Page 31: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

• Es un factor competitivo para las empresas• Proporciona confianza a los clientes• Ahorra tiempo y dinero, evitando recertificar la

calidad según los estándares locales o particulares de una empresa.

• Se ha adaptado a más de 90 países e implantado a todo tipo de organizaciones industriales y de servicios, tanto sector privado como público

• Proporciona una cierta garantía de que las cosas se hacen tal como se han dicho que se han de hacer

ISO 9000 Aspectos positivos

Page 32: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

• Es costoso• Muchas veces se hace por obligación.• Es cuestión de tiempo que deje de ser un factor

competitivo• Hay diferencias de interpretación de las cláusulas del

estándar• No es indicativa de la calidad de los productos, procesos

o servicio.• Hay mucha publicidad engañosa.

ISO 9000 Aspectos negativos

Page 33: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

ISO 9000: Calidad de Software

ISO 9001:2000. Modelo para conseguir la calidad total en el diseño, desarrollo, producción, instalación y servicio post-venta.

ISO 9000-3:1991. Guía para la aplicación de la norma ISO 9001 al desarrollo, suministro y mantenimiento de software.En todo caso, nos certificaríamos según ISO 9000-3.No añade ni cambia los requerimientos de la ISO

90001. Los amplia y aclara. Otras normas aplicables

ISO 9004-1:1994. Gestión de la calidad y elementos del sistema de calidad (Guía per establecer el QA).

Page 34: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

ISO 9000: Calidad de Software

ISO 8402:1994. Gestión de la calidad y garantía de la calidad. Vocabulario.

ISO 12207:1995. Procesos del ciclo de vida del software.

ISO/IEC 9126:1991. Características de la calidad de un producto software.

ISO/IEC 12119:1995. Productos software: evaluación y test.

ISO/IEC 14102:1995. Guía para la evaluación y selección de herramientas CASE.

Page 35: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Software Engineering InstituteCarnegy Mellon University

Mark C. Paulk

“CMM es una aplicación de sentido común de los conceptos de gestión de procesos y mejora de la calidad al desarrollo y mantenimiento del software”

CMMCapability Maturity Model

Page 36: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

CMM

Estudia los procesos de desarrollo de software de una organización y produce una evaluación de la madurez de la organización según una escala de cinco niveles

La madurez de un proceso es un indicador de la capacidad para construir un software de calidad.

Es un modelo para la mejora de las organizacionesObliga a una revisión constante.

Page 37: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Inicial

Repetible

Optimizado

Dirigit

Definit

CMM

Page 38: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Niveles demadurez

Prácticasclave

Característicascomunes

Áreas clavesde proceso

Contienen

Organizadas con

Contienen

Indican

Alcanzan

Se aplican

Describen

Capacidaddel proceso

Objetivos

Implementación oInstitucionalización

Infraestructurao actividades

CMM

Page 39: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

CMM• Es importante tener claro

• Dónde nos encontramos• A dónde queremos llegar• Cómo llegaremos• Cómo sabremos si hemos llegado

• No se puede hacer todo de golpe• Procesos piloto previos a un despliegue a gran escala.

Page 40: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

CertificaciónProceso habitual de certificación• Motivación.• Selección de la norma aplicable• Subcontratación a empresa externa.• Auditoría de certificación.• Informe de acciones correctoras.• Certificado.• Imposición de seguimiento• Incumplimiento!!!

Page 41: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Certificación

Documentación• Solicitud formal.• Sistema de calidad

• Manual de calidad• Manual de procedimientos.• Manual de especificaciones• Otros documentos• Expediente y certificación.

Page 42: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

CertificaciónOtros aspectes• Plazos y costes

• Consultoría

• Formación

• Organismo certificador

• Mantenimiento de la certificación• Seguimiento anual.

• Revisión de la certificación.

Page 43: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Aseguramiento de la calidad (SQA)

El objetivo del aseguramiento de la calidad es proporcionar a la administración los datos necesarios para tener la certeza de que el producto se está haciendo con calidad.

Las actividades que realiza un grupo de SQA son:

Establecimiento de un plan SQA para el proyecto. El plan debe establecer: Evaluaciones, auditorías y revisiones a realizar.

Standares que se pueden aplican al proyecto.

Page 44: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Aseguramiento de la calidad (SQA)

Standares que se pueden aplican al proyecto.

Procedimientos para información y seguimiento de errores.

Documentos producidos por el grupo SQA.

Retroalimentación proporcionada al equipo de desarrollo.

Participación en el desarrollo de la descripción del proyecto de software. Revisión de las actividades de ingeniería para verificar su cumplimiento con el proceso. Auditoría del producto para verificar su concordancia con los requisitos. Asegurar que las desviaciones estén bien documentadas

Page 45: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Revisiones de software Revisiones por un colega. Mejoran la calidad. Detecta errores de diseño o codificación. Se hacen después del análisis, después del diseño,

durante la compilación y durante las pruebas.

Page 46: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Revisiones técnicas formales (RTF)

Objetivos Descubrir errores de funcionamiento, lógica o de

implementación. Verificar que el software cumpla con los requisitos. Garantizar que se cumplen los standares establecidos. Conseguir un desarrollo uniforme. Lograr que los proyectos sean manejables.

Page 47: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

Revisiones técnicas formales (RTF)

Características Revisar el producto no al productor. Fijar una agenda y mantenerla. Limitar el debate y las impugnaciones. Enunciar los problemas no resolverlos en ese momento. Tomar notas escritas. Limitar el número de participantes (de 3 a 5). Revisar el material antes. Limitar la duración de la junta (menos de 2 horas). Desarrollar una lista de comprobación por cada producto. Planear de antemano las RTF. Repasar las revisiones anteriores. .

Page 48: Gestión Calidad en Ingeniería del Software Universidad Mariano Gálvez Ing. David René González.

FIN DE LA PRESENTACION

Ingeniería del Software III