INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL...

42
Javier Garzás – Introducción a la calidad software INTRODUCCIÓN A LA CALIDAD SOFTWARE Dr. Javier Garzás [email protected] Universidad Rey Juan Carlos Javier Garzás – Introducción a la calidad software EL CONCEPTO DE CALIDAD Adecuación (del producto) al uso (Juran) Conformidad con requisitos y confiabilidad en el funcionamiento (Deming) Cero defectos (Crosby) Pérdida económica que un producto supone para la sociedad desde el momento de su expedición (Taguchi) Grado en el que un conjunto de características inherentes cumple con los requisitos (ISO 9000:2000)

Transcript of INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL...

Page 1: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

INTRODUCCIÓN A LA CALIDAD SOFTWARE

Dr. Javier Garzás

[email protected]

Universidad Rey Juan Carlos

Javier Garzás – Introducción a la calidad software

EL CONCEPTO DE CALIDAD

• Adecuación (del producto) al uso (Juran)

• Conformidad con requisitos y confiabilidad en el funcionamiento (Deming)

• Cero defectos (Crosby)

• Pérdida económica que un producto supone para la sociedad desde el momento de su expedición (Taguchi)

• Grado en el que un conjunto de características inherentes cumple con los requisitos (ISO 9000:2000)

Page 2: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

EL CONCEPTO DE CALIDAD

• No es absoluto

• Está sujeto a restricciones

• Trata de compromisos aceptables

• Es multidimensional

• Los criterios de calidad no son independientes

Javier Garzás – Introducción a la calidad software

ISO 9126

funcionalidad

fiabilidad

eficiencia

“mantenibilidad”

“portabilidad”

usabilidad

madurez

tolerancia a fallos

capacidad de recuperación

cumplimiento de la fiabilidad

cumplimiento de la usabilidad

“atractividad”

“operabilidad”

facilidad de aprendizaje

inteligibilidad

CalidadInterna/Externa

adaptabilidad

facilidad de instalación

coexistencia

intercambiabilidad

cumplimiento de portabilidad

“analizabilidad”

idoneidad

precisióninteroperabilidad

cumplimiento de la funcionalidad

seguridad

cumplimiento de la eficienciacomportamiento en el tiempo

utilización de recursos

“cambiabilidad”

estabilidad

capacidad de ser probado

cumplimiento de mantenibilidad

4

Page 3: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

¿QUÉ ES LA CALIDAD DEL SOFTWARE?

• Los requisitos es la base sobre la cual se juzga la calidad (si no satisface requisitos no hay calidad)

• Hay además requisitos implícitos que a menudo no se mencionan (fácil de mantener por ejemplo) que también es deseable respetar

Cumplimiento de los requisitos explícitos, tanto funcionales como de desempeño.

Javier Garzás – Introducción a la calidad software

LA CONSECUCIÓN ESTÁ AFECTADA POR MULTIPLES FACTORES

Cultura- nacional- local-multi-nacional

Tecnologías

Vision

Presupuesto

Organización- tamaño- estructura

Procesos

Estrategia

ProgramaCalidad

Standards

Calidad SWCalidad SW

Page 4: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Aún hay importantes problemas de calidad

en el software

EL SOFTWARE Y LOS PROBLEMAS DE CALIDAD

Javier Garzás – Introducción a la calidad software

ENCUESTA REALIZADA POR ATI (2008)

• 70% no existe una exigencia de calidad por los clientes.

• 42,76% de las empresas confía la calidad al desarrollador.

• 32,24% cuenta con un proceso de pruebas definido.

• 92,6% las pruebas quedan para el final del ciclo de vida, a menudo con calendario escaso.

Page 5: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

9

Un “modelo tradicional” de factoría de software, (disponibilidad intensiva de rrhh y salarios competitivos), podría representar una amenaza…

AMENAZAS

INTECO – RED.ES (2009) Estudio sobre el modelo de factorías de software con un enfoque nearshore

Javier Garzás – Introducción a la calidad software

10

Méjico. Moprosoft – Evalprosoft. TSP/PSP

Brasil. MPS.BR

Iberoamérica. Competisoft

Page 6: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Los problemas de calidad en el software

tienen cada vez un mayor impacto

EL SOFTWARE Y LOS PROBLEMAS DE CALIDAD

Javier Garzás – Introducción a la calidad software

EL SOFTWARE Y LOS PROBLEMAS DE CALIDAD

Page 7: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

EL SOFTWARE Y LOS PROBLEMAS DE CALIDAD

http://www.time.com/time/magazine/article/0,9171,1048386,00.html

T. Probert: “The hardware will be there. The real problem is the software”

D. Parnas: “Because of the extreme demands on the system and our inability to test it, we will never be able to believe, with any confidence, that we have succeeded”

Javier Garzás – Introducción a la calidad software

EL SOFTWARE Y LOS PROBLEMAS DE CALIDAD

1991: MIM-104 Patriot Missile, “…rounding error”

1996: Ariane 5, “…conversion of a 64 bit integer into a 16 bit”

1998: Mars Polar Lander, “..period instead of comma in FORTRAN DO-Loop…”

1999: Mars Climate Orbiter, “…mix-up between pounds and kilogram….”

Page 8: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

15

Javier Garzás – Introducción a la calidad software

16

El Emam, K. y Koru, A.G. 2008. A Replicated Survey of IT Software Project Failures. IEEE Software Volume: 25, Issue: 5

Page 9: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Javier Garzás – Introducción a la calidad software

Page 10: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Las soluciones existen desde hace años en la ingeniería del software

Javier Garzás – Introducción a la calidad software

“¿What are the most exciting/promising software engineering ideas or techniques on the horizon?

Parnas

I don’t think that the most promising ideas are on the horizon. They are already here and have been here for years but are not being used properly.”

Page 11: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Kinslow: Personally, after 18 years in the business I would like just once, just once, to be able to do the same thing again. Kolence: […] certain classes of systems are [..] are beyond our capabilities and our theories and methods of design

Javier Garzás – Introducción a la calidad software

¿PRINCIPALES IDEAS EN INGENIERÍA SOFTWARE?

Page 12: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

LA CALIDAD SOFTWARE nace hace más de 30 años como un

mecanismo para mejorar minimizar los problemas asociados al desarrollo –mantenimiento software

Javier Garzás – Introducción a la calidad software

CALIDAD SOFTWARE

PROCESOS PERSONAS

PRODUCTOS

24

Page 13: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

25

Actualmente las principales

iniciativas en calidad software se

centran en procesos

Javier Garzás – Introducción a la calidad software

26

Quality Principle: The

quality of a product is

determined by the quality of

the process used to

develop it.

Humphrey, W. H. (2005). Acquiring Quality Software

Page 14: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

CALIDAD DE LOS PROCESOS SOFTWARE

Javier Garzás – Introducción a la calidad software

DEFINICIÓN DEL PROCESO SOFTWARE

“Conjunto de actividades, métodos, prácticas y transformaciones que la gente usa para desarrollar y mantener software y los productos de trabajo asociados (planes de proyecto, diseño de documentos, código, pruebas y manuales de usuario)” (SEI, 1995).

“Proceso o conjunto de procesos usados por una organización o proyecto, para planificar, gestionar, ejecutar, monitorizar, controlar y mejorar sus actividades software relacionadas” (ISO, 1998).

“Conjunto coherente de políticas, estructuras organizacionales, tecnologías, procedimientos y artefactos que son necesarios para concebir, desarrollar, empaquetar y mantener un producto software” (Fuggeta, 2000).

“El proceso software define cómo se organiza, gestiona, mide, soporta y mejora el desarrollo, independientemente de las técnicas y métodos usados” (Derniame et al., 1999).

Page 15: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

PROCESOS SOFTWARE

El Proceso Software se puede definir como un conjunto de actividades,

métodos, prácticas y transformaciones que las personas utilizan para desarrollar

y mantener el software y los productos asociados (ejemplo, planes de proyecto, documentación de diseño, código, casos

de prueba, manuales de usuario, etc.)”

Javier Garzás – Introducción a la calidad software

NATURALEZA ESPECIAL DEL PROCESO SOFTWARE

Es complejo

No es un proceso de producción típico

Tampoco es un proceso de ingeniería “pura”

No es (completamente) un proceso creativo

Está basado en descubrimientos que dependen de la comunicación, coordinación y cooperación dentro de marcos de trabajo predefinidos

(Derniame et al., 1999)

Page 16: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

31

OBJETIVO

Héroes y apaga fuegos

Altibajos en la productividad

Rotación de recursos

Las planificaciones poco realistas

Mucho esfuerzo en mantenimiento

Empleados descontentos

Organización inmadura

Javier Garzás – Introducción a la calidad software

32

OBJETIVO

Tiene procesos definidos

El conocimiento en la organización

Entrega con la calidad esperada

Cumple plazos de entrega

Satisface a los clientes

Los empleados están a gusto

Organización madura

Page 17: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

33

TIPOS

MODELO DE PROCESOS

MODELO DE EVALUACIÓN DE

PROCESOS

MODELOS DE MEJORA - CALIDAD

DE PROCESOS

Javier Garzás – Introducción a la calidad software

34

TIPOS

MODELO DE PROCESOS

MODELO DE EVALUACIÓN DE

PROCESOS

MODELOS DE MEJORA - CALIDAD

DE PROCESOS

Catálogo, buenas prácticas.

Definiciones de procesos: propósito, salidas, relaciones, etc.

Page 18: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

35

TIPOS

MODELO DE PROCESOS

MODELO DE EVALUACIÓN DE

PROCESOS

MODELOS DE MEJORA - CALIDAD

DE PROCESOS

•Planificación del Proyecto

•Seguimiento del Proyecto

•Gestión de Configuración

•Medición

•etc.

Javier Garzás – Introducción a la calidad software

36

TIPOS

MODELO DE PROCESOS

MODELO DE EVALUACIÓN DE

PROCESOS

MODELOS DE MEJORA - CALIDAD

DE PROCESOS•ISO/IEC 12207,

•CMMI-DEV / ACQ / SVC

•COMPETISOFT

•etc.

Page 19: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

37

CMMI-DEV

ISO 12207

CMMI-ACQ

CMMI-SVC

Ágiles

¿Qué hacer? MODELO DE PROCESOS

ABSTRACCIÓN

¿Cómo hacer? METODOLOGÍAS

Tradicionales

Javier Garzás – Introducción a la calidad software

ENTORNOS - FASES

Desarrollo Explotación

ISO 12207

CMMI-DEV

CMMI-SVC

ITIL ISO

20000

38

Page 20: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

39

TIPOS

MODELO DE PROCESOS

MODELO DE EVALUACIÓN DE

PROCESOS

MODELOS DE MEJORA - CALIDAD

DE PROCESOS

Cómo evaluar la institucionalización de procesos en una organización, respecto a un modelo de procesos

Lenguaje común.

Javier Garzás – Introducción a la calidad software

40

TIPOS

MODELO DE PROCESOS

MODELO DE EVALUACIÓN DE

PROCESOS

MODELOS DE MEJORA - CALIDAD

DE PROCESOS

ISO 15504 – SPICE

Clase 1, 2 o 3

SCAMPI

Tipo A, B o C

Page 21: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

41

MODELOS DE MEJORA DE PROCESOS

Javier Garzás – Introducción a la calidad software

CMMI e ISO/IEC 15504 SPICE son los modelos de mayor uso

• La percepción de la empresa española: “CMMI e ISO/IEC 15504 son los modelos referentes”. (INTECO, 2008)

• “180 organizaciones españolas (4486 en el mundo) evaluadas en alguno de los niveles de CMMI”. (SEI, 2010)

• Iniciativas para las PYMEs: Plan Avanza del MITYC y otros.

MODELOS DE MEJORA DE PROCESOS

42

Page 22: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

43

EL MODELO CMMI

1984 1989 19911979

Javier Garzás – Introducción a la calidad software

44

EL MODELO CMMI

CMMI-ACQ

CMMI-SVC

CMMI-DEV

16 Áreas de Proceso en

común

Un modelo de referencia para evaluarlos procesos y ayudar a su mejora

mediante una ruta evolutiva

Page 23: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

DOCUMENTOS OFICIALES DE CMMI

http://www.sei.cmu.edu/pub/documents/06.reports/pdf/06tr008.pdf

45

Javier Garzás – Introducción a la calidad software

46

Page 24: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

47

PROCESOS DE CMMI Dev 1.2

Causal Analysis and Resolution (CAR)

Configuration Management (CM)

Decision Analysis and Resolution (DAR)

Integrated Project Management (IPM)

Measurement and Analysis (MA)

Organization Innovation and Deployment (OID)

Organization Process Definition (OPD)

Organization Process Focus (OPF)

Organization Process Performance (OPP)

Organizational Training (OT)

Product Integration (PI)

Project Monitoring and Control (PMC)

Project Planning (PP)

Process and Product Quality Assurance (PPQA)

Quantitative Project Management (QPM)

Requirements Development (RD)

Requirement Management (RM)

Risk Management (RSKM)

Supplier Agreement Management (SAM)

Technical Solution (TS)

Validation (VAL)

Verification (VER)

Javier Garzás – Introducción a la calidad software

48

GESTIÓN DE PROYECTOS BÁSICA

ESTANDARIZACIÓN DE LOS PROCESOS (COMPAÑÍA)

GESTIÓN CUANTITATIVA

MEJORA CONTINUA DE PROCESOSNivel5: Optimizando

Nivel1: Inicial

Nivel2: Gestionado

Nivel3: Definido

Nivel4: Gestionado Cuantitativamente

NIVELES DE MADUREZ

PROCESO AD HOC, “APAGA FUEGOS”, ETC.

Page 25: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Gestión de Requisitos (REQM)Planificación de Proyectos (PP)Control y Seguimiento de Proyectos (PMC)Gestión de Acuerdos con Proveedores (SAM)Gestión de la Configuración (CM)Aseguramiento Calidad Procesos y Productos (PPQA)Medición y Análisis (MA)

Nivel5: Optimizando

Nivel1: Inicial

Nivel2: Gestionado

Nivel3: Definido

Nivel4: Gestionado Cuantitativamente

NIVELES DE MADUREZ Y ÁREAS DE PROCESO

SoporteGest.Procesos IngenieríaGest.

Proyectos

49

Javier Garzás – Introducción a la calidad software

Desarrollo de Requisitos (RD)Solución Técnica (TS)Integración del Producto (PI)Verificación (VER)Validación (VAL)Definición del proceso Organizacional (OPD)Enfoque de la Organización a Procesos (OPF)Formación Organizacional (OT)Gestión integrada de Proyectos (IPM)Gestión de Riesgos (RSKM)Análisis de Decisiones y Resolución (DAR)

Nivel5: Optimizando

Nivel1: Inicial

Nivel2: Gestionado

Nivel3: Definido

Nivel4: Gestionado Cuantitativamente

NIVELES DE MADUREZ Y ÁREAS DE PROCESO

SoporteGest.Procesos IngenieríaGest.

Proyectos

50

Page 26: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

Gestión cuantitativa de proyectos (QPM)Rendimiento procesos de la Organiz. (OPP)

Nivel5: Optimizando

Nivel1: Inicial

Nivel2: Gestionado

Nivel3: Definido

Nivel4: Gestionado Cuantitativamente

NIVELES DE MADUREZ Y ÁREAS DE PROCESO

SoporteGest.Procesos IngenieríaGest.

Proyectos

Análisis Causal y Resolución (CAR)Innovación Organizacional y Despliegue (IOD)

51

Javier Garzás – Introducción a la calidad software

EN ESPAÑA 180 EMPRESAS HAN EVALUADO SUS PROCESOS

SEI (Mar 2010) Process Maturity Profile

52

Evolución de las evaluaciones CMMI España

105

75

31

180

0

20

40

60

80

100

120

140

160

180

200

2006 2007 2008 2009

Page 27: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

SEI (Mar 2010) Process Maturity Profile53

Clasificación por países de evaluaciones CMMI

1582

1229

113134144165168180

524

306

0

200

400

600

800

1000

1200

1400

1600

1800

EstadosUnidos

China India Japón España Francia Korea Brasil Taiwan ReinoUnido

País

Nº d

e Ev

alua

cion

esClasificación por países de evaluaciones CMMI

1582

1229

113134144165168180

524

306

0

200

400

600

800

1000

1200

1400

1600

1800

EstadosUnidos

China India Japón España Francia Korea Brasil Taiwan ReinoUnido

País

Nº d

e Ev

alua

cion

es

Javier Garzás – Introducción a la calidad software

54

Page 28: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

ISO 15504 SPICE

Javier Garzás – Introducción a la calidad software

ESQUEMA DE LA NORMA ISO 15504 SPICE

Norma internacional para

establecer y mejorar la

capacidad y madurez

(evaluación) de los procesos

56

Page 29: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

ESQUEMA DE LA NORMA ISO 15504 SPICE

“FRAMEWORK” para

establecer y mejorar la

capacidad y madurez

(evaluación) de los procesos

57

Javier Garzás – Introducción a la calidad software

MODELO DE PROCESOS n

MODELO DE PROCESOS 2

MEJORA DE LA CALIDAD DE LOS PROCESOS

SOFTWARE

MODELO DE PROCESOS 1

MODELO DE EVALUACIÓN

ISO/IEC 15504

EL MODELO DE PROCESOS

58

Page 30: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

PARTES DE LA NORMA ISO/IEC 15504

Parte 1:Conceptos y Vocabulario(normativa)

Parte 2:Realización de la

evaluación(normativa)

Parte 5:Un ejemplo de modelo de

evaluación de procesos

Parte 6:Un ejemplo de modelo de

evaluación del ciclo de vida de sistema

Parte 3:Guía para la realización de la

evaluación

Parte 4: Guía sobre el uso para la mejora

del proceso y determinación de la capacidad del proceso

Parte 7:Evaluación de la madurez

de una organización(normativa)

Ejemplo Anexo A:Un ejemplo de modelo de madurez organizacional

Guía AENOR para la evaluación y mejora de procesos software, conforme a las partes 1, 2 y 7

59

Javier Garzás – Introducción a la calidad software

La organización gestiona los procesos y los productos de trabajo se establecen, controlan y mantienen.

La organización utiliza procesos adaptados basados en estándares.

La organización gestiona cuantitativamente los procesos.

La organización mejora continuamente los procesos para cumplir los objetivos de negocio.Nivel5: Optimizando

Nivel1: Básica

Nivel2: Gestionada

Nivel3: Establecida

Nivel4: Predecible

PARTE 7 - NIVELES DE MADUREZ

La organización implementa y alcanza los objetivos de los procesos.

Nivel0: Inmadura La organización no tiene una implementación de los procesos. 60

Page 31: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

MEJORA DE LA CALIDAD DE LOS PROCESOS

SOFTWARE

MODELO DE PROCESOS

ISO/IEC 12207

MODELO DE EVALUACIÓN

ISO/IEC 15504

ESQUEMA NORMALMENTE APLICADO EN SOFTWARE

61

Javier Garzás – Introducción a la calidad software

Desarrollo ExplotaciónISO

12207

EL MODELO DE PROCESOS

62

Page 32: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

CERTIFICACIONES DE LA NORMA ISO 15504 SPICE

NORMATIVA

Parte 7: Evaluación de la madurez de una

organización

Parte 2: Realización de la evaluación

GUIAS DE EVALUACIÓN

Parte 5:Un ejemplo de modelo de evaluación de procesos

Parte 5:Un ejemplo de modelo de evaluación de procesos

Guía AENOR para la evaluación y mejora de

procesos software

Guía AENOR para la evaluación y mejora de

procesos software

Anexo A Parte 7: Un ejemplo de modelo de madurez organizacional

Anexo A Parte 7: Un ejemplo de modelo de madurez organizacional

PATHFINDERTMPATHFINDERTM

Con

form

es a

CERTIFICADORES

PATHFINDER ALLIANCETM

AENOR

INTRSA

Organización Auditores

Otras organizaciones

ENAC

–IS

O 2

7000

ENAC

–IS

O 2

7000

63

Javier Garzás – Introducción a la calidad software

LOS 44 PROCESOS DEL MODELO DE PROCESOSDE REFERENCIA (ISO/IEC 12207:2008)

Proceso de AdquisiciónProceso de SuministroProceso de Gestión del Modelo de Ciclo de VidaProceso de Gestión de InfraestructurasProceso de Gestión de la Cartera de ProyectosProceso de Gestión de Recusos HumanosProceso de Gestión de la CalidadProceso de Planificación del ProyectoProceso de Evaluación y Control del ProyectoProceso de Gestión de la DecisiónProceso de Gestión de RiesgosProceso de Gestión de la ConfiguraciónProceso de Gestión de la InformaciónProceso de MediciónProceso de Definición Requisitos de StakeholderProceso de Análisis de Requisitos del SistemaProceso de Diseño de la Arquitectura del SistemaProceso de ImplementaciónProceso de Integración del SistemaProceso de Comprobación Requisitos del SistemaProceso de Instalación del SoftwareProceso de Apoyo a la Aceptación del Software

Proceso de Operación del SoftwareProceso de Mantenimiento del SoftwareProceso de Retirada del SoftwareProceso de Implementación del SoftwareProceso de Análisis de Requisitos del SoftwareProceso de Diseño de la Arquitectura del SoftwareProceso de Diseño detallado del SoftwareProceso de Gestión de la DecisiónProceso de Construcción del SoftwareProceso de Integración del SoftwareProceso de Gestión de la InformaciónProceso de Comprobación de Requisitos del SoftwareProceso de Gestión de la Documentación del SoftwareProceso de Aseguramiento de la Calidad del SoftwareProceso de Verificación del SoftwareProceso de Validación del SoftwareProceso de Revisión del SoftwareProceso de Auditoría del SoftwareProceso de Resolución de Problemas del SoftwareProceso de Ingeniería del DominioProceso de Gestión de Recursos ReutilizablesProceso de Gestión de Programas de Reutilización

Page 33: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

PROCESOS DE LOS NIVELES 1 Y 2 DE MADUREZ

Proceso de SuministroProceso de Definición de Requisitos de los StakeholdersProceso de Análisis de los Requisitos del SistemaProceso de Gestión del Modelo de Ciclo de VidaProceso de Planificación del ProyectoProceso de Evaluación y Control del ProyectoProceso de Gestión de la Configuración del SoftwareProceso de Gestión de la ConfiguraciónProceso de MediciónProceso de Aseguramiento de la Calidad del Software

Nivel 2 de madurez

Nivel 3 de madurez

Procesosde proyecto

Procesosde acuerdo

Procesostécnicos

ProcesosOrganizacionales

de proyecto

ProcesosDe soporte

del SW

Nivel 1 de madurez

65

Javier Garzás – Introducción a la calidad software

PROCESOS DEL NIVEL 3 DE MADUREZ

Proceso de Análisis de Requisitos del SoftwareProceso de Diseño de la Arquitectura del SoftwareProceso de Diseño de la Arquitectura del SistemaProceso de Gestión de InfraestructurasProceso de Gestión de Recursos HumanosProceso de Gestión de RiesgosProceso de Gestión de la DecisiónProceso de Integración del SoftwareProceso de Integración del SistemaProceso de Verificación del SoftwareProceso de Validación del Software

Nivel 2 de madurez

Nivel 3 de madurez

Nivel 1 de madurez

Procesosde proyecto

Procesos deImplementación

software

Procesostécnicos

ProcesosOrganizacionales

de proyecto

ProcesosDe soporte

del SW

66

Page 34: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

ACTIVIDADES DE DIFUSIÓN EN CASTELLANO, PARA ESPAÑA E IBEROAMERICA

67

www.iso15504.es

Javier Garzás – Introducción a la calidad software

Page 35: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

CMMI Y LA GUIA ISO 15504 DE AENOR

Organismo Responsable

Popularidad y difusión

Certificador

Método de evaluación

Modelo de procesos para software

Internacionalidad

SEI (EEUU, Spin off Universitaria)

CMMI

AENOR (España)

Popular y muy difundido. 180 empresas España

Nueva. 22 empresas evaluadas en España

MODELO ISO/IEC 15504 DE AENOR

Empresa Partner / Lead Appraisal AENOR

SCAMPI ISO/IEC 15504 1, 2 y 7 y serie ISO/IEC 17000

CMMI (menos específico en ing. del software)

ISO/IEC 12207:2008(específico en ing. del

software)

Estándar de facto de uso internacional

Guía acorde a un estándar internacional

69

Javier Garzás – Introducción a la calidad software

ALGUNAS VENTAJAS DE LA GUÍA DE AENOR – ISO 15504 FRENTE A CMMI

70

Page 36: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

CALIDAD DEL PRODUCTO

Javier Garzás – Introducción a la calidad software

CALIDAD SOFTWARE

PROCESOS PERSONAS

PRODUCTOS

72

Page 37: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

73

Actualmente las principales

iniciativas en calidad software se

centran en procesos

Javier Garzás – Introducción a la calidad software

74

Hay poca evidencia de

que cumplir un modelo de

procesos asegure la

calidad del producto…(Kitchenham y Pfleeger, 1996)

Page 38: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

75

…la estandarización de los procesos garantiza

uniformidad en la salida, lo que puede incluso

institucionalizar la creación de malos productos”

(Kitchenham y Pfleeger, 1996)

Javier Garzás – Introducción a la calidad software

Las evaluaciones deberían

basarse en evidencias directas del producto, y no en evidencias circunstanciales

del proceso”Maibaum, T. y Wassyng, A. 2008. A Product-Focused Approach to Software Certification. Computer Volume: 41, Issue: 2: 91-93

76

Page 39: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

MODELOS DE REFERENCIA EN PRUEBAS

TMM

TMMI

TPI

TMAP

ISO/IEC 29119 (en borrador)

77

Javier Garzás – Introducción a la calidad software

MODELOS DE REFERENCIA EN CALIDAD DE PRODUCTO

78

ISO/IEC 14598

ISO/IEC 15939 Measurement process

ISO/IEC 9126 (1991)

ISO/IEC 25000 (publicado en parte)

Page 40: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

ISO 9126

funcionalidad

fiabilidad

eficiencia

“mantenibilidad”

“portabilidad”

usabilidad

madurez

tolerancia a fallos

capacidad de recuperación

cumplimiento de la fiabilidad

cumplimiento de la usabilidad

“atractividad”

“operabilidad”

facilidad de aprendizaje

inteligibilidad

CalidadInterna/Externa

adaptabilidad

facilidad de instalación

coexistencia

intercambiabilidad

cumplimiento de portabilidad

“analizabilidad”

idoneidad

precisióninteroperabilidad

cumplimiento de la funcionalidad

seguridad

cumplimiento de la eficienciacomportamiento en el tiempo

utilización de recursos

“cambiabilidad”

estabilidad

capacidad de ser probado

cumplimiento de mantenibilidad

79

Javier Garzás – Introducción a la calidad software

PROCESOSINSPECCIONESMÉTRICAS

Requerimtosdetallados

usuario

Requerimtosdetalladossoftware

Diseño Codificación

ypruebas

Tranferencia Mantenimto

PRUEBAS

Planificación de la realización del proyecto

Aplicado a las actividades del ciclo

PRODUCTO

Page 41: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

CONCEPTOS DE MEDICIÓN

ENTIDAD

Proceso

Proyecto

Producto

ATRIBUTOATRIBUTO

CUADRO DE MANDO

INDICADORINDICADOR INDICADOR

MÉTRICAMÉTRICA MÉTRICA

MEDICIÓN

Javier Garzás – Introducción a la calidad software

82

ORGANIZACIÓN

DTO. DESARROLLO CPD

ORGANIZACIÓN

FÁBRICA DESARROLLO

CPD

FÁBRICA DESARROLLO

FÁBRICA DESARROLLO

Producto

Procesos

Producto

Demanda de Software y más rápido

Complejidad Tecnológica / Especialistas

Costes del Personal a contratar

Dificultad de encontrar

profesionales

Demanda de Software y más rápido

Complejidad Tecnológica / Especialistas

Costes del Personal a contratar

Dificultad de encontrar

profesionales

82

Page 42: INTRODUCCIÓN A LA CALIDAD SOFTWARE - kybele.etsii.urjc.esIS4-0910... · ¿QUÉ ES LA CALIDAD DEL SOFTWARE? • Los requisitos es la base sobre la cual se juzga la calidad (si no

Javier Garzás – Introducción a la calidad software

ESPECIALISTAS EN LA EVALUACIÓN DEL PRODUCTO

83

Javier Garzás – Introducción a la calidad software

84