15 PPQA - Intro
15 PPQA - Intro
15 PPQA - Intro
Aseguramiento de Calidad de
Proceso y de Producto
Judith Meles
Aseguramiento de Calidad de Proceso y de
Producto (PPQA): Cobertura
Definición
Calidad en el Desarrollo
Calidad de Software
Principios de Calidad
Calidad
de Visiones y Perspectivas
Producto Estándares de Calidad
Calidad de Modelos de Calidad
CMMI
PPQA Proceso de Proceso
Modelos de Mejora IDEAL
Auditorías
Aseguramiento
Revisiones Técnicas
de Calidad
Testing
CMMI vs
AGILE
¿Qué es la calidad?
Todos los aspectos y características de un
producto o servicio que se relacionan con su
habilidad de alcanzar las necesidades manifiestas
o implícitas
3
La calidad es relativa a las personas, a su edad, a
las circunstancias de trabajo, el tiempo…
Retrasados
100% en Tiempo
Cancelados o
60% Abortados
40% 90 %
50 % 50 %
30 %
20%
0%
Un Software de Calidad satisface…
▫ Las expectativas del Cliente
▫ Las expectativas del Usuario
▫ Las necesidades de la gerencia
▫ Las necesidades del equipo de desarrollo y
mantenimiento
▫ Otros interesados…
Principios
La calidad no se ‘inyecta’ ni se compra, debe estar embebida.
Es un esfuerzo de todos
Las personas son la clave para lograrlo
Capacitación
Se necesita sponsor a nivel gerencial
Pero se puede empezar por uno
Se debe liderar con el ejemplo
No se puede controlar lo que no se mide
Simplicidad, empezar por lo básico
El aseguramiento de la calidad debe planificarse
El aumento de las pruebas no aumenta la calidad
Debe ser razonable para mi negocio
8
¿Calidad para quién?
Visión
Del Usuario
Visión
Basada en el
valor
9
10
GESTIÓN
DE LA
CALIDAD
Calidad en el Software
Modelos para crearlos
Revisiones Técnicas
Técnicas y
Herramientas
Auditorías
Proyecto
Revisiones
Técnicas
Para
Aseguramiento
de Calidad
Modelos para medirlos Técnicas y
Auditorías (De
Configuración)
Herramientas
Para Control de
Producto Calidad
Testing
12
ISO/IEC 25000: Modelos
▣ Calidad en Uso (ISO 25010: 2011)
▣ Calidad de producto (ISO 25010:2011)
▣ Calidad de Datos (ISO 25012:2008)
Calidad de
Producto
Calidad en Calidad de
uso Datos
Calidad de
Producto
Capacidad de
Pertinencia Tolerancia a
Capacidad Operabilidad No repudio Analizabilidad ser
Funcional fallos
reemplazado
Protección
Capacidad de Capacidad de
frente errores Autenticidad
Recuperación ser modificado
de usuario
Responsabilida Capacidad de
Estética
d ser probado
Accesibilidad
Performance
Seguridad
Confiabilidad
Local (único atributo) óptimo
15 Global (múltiple atributo) óptimo
Modelos de Calidad de Producto
CALIDAD DEL SOFTWARE (MCCALL)
Facilidad de Portabilidad
Mantenimiento Reusabilidad
Flexibilidad Interoperatividad
Facilidad de Prueba
Revisión del Transición del
Producto Producto
Operación del
Producto
Corrección - Fiabilidad - Usabilidad (facilidad de manejo) -
Integridad - Eficiencia
16
17
Lo que sirve a unos...
Producto
Proceso
Personas Tecnología
Entorno de
desarrollo
19
Proceso sin definir
Definición de un Proceso de Software
Proceso: La secuencia de pasos
ejecutados para un propósito
dado (IEEE)
Proceso de Software: Un
conjunto de actividades,
métodos, prácticas, y B
transformaciones que la gente A D
usa para desarrollar o C Procedimientos y métodos
mantener software y sus
productos asociados (Sw-CMM)
Personas con
habilidades, PROCESO
entrenamiento y
motivación Herramientas y
Equipos
¿Cómo lo definimos?
Un proceso sin definir
Empleado de <<extend>>
Video
Cliente
Registrar Devolución de
Película Brindar Consulta de
Película
SISTEMA PROBADO
MODELOS SISTEMA
Ingeniería
Implementación Prueba Despliegue
MODELOS
Boleta
2349
Plan
de Prueba CASOS DE PRUEBA SISTEMA
FUNCIONANDO
<<include>>
Empleado de <<extend>>
Video
Cliente
Registrar Devolución de
Película Brindar Consulta de
Película
2
4
Administración de la Calidad del Software
• Concerniente con asegurar que se alcancen los niveles
requeridos de calidad para el producto de software.
• Implica la definición de estándares y procesos de calidad
apropiados y asegurar que los mismos sean respetados.
• Debería ayudar a desarrollar una “cultura de calidad” donde
la calidad es vista como una responsabilidad de todos y cada
uno.
Reporte del Grupo de Aseguramiento de Calidad
(GAC)
• No debería reportar al Gerente de Proyectos.
• No debería haber más de una posición entre la
Gerencia de Primer Nivel y el GAC.
• Cuando sea posible, el GAC debería reportar alguien
realmente interesado en la calidad del software.
Actividades de la Administración de
Calidad de Software
• Aseguramiento de Calidad
▫ Establecer estándares y procedimientos organizacionales de
calidad.
• Planificación de Calidad
▫ Selecciona los procedimientos y estándares aplicables para
un proyecto en particular y los modifica si fuera necesario.
• Control de Calidad
▫ Asegura que los procedimientos y estándares son respectados
por el equipo de desarrollo de software.
Funciones del Aseguramiento de Calidad de Software
• Prácticas de Aseguramiento de Calidad
▫ Desarrollo de herramientas adecuadas, técnicas, métodos y estándares
que estén disponibles para realizar las revisiones de Aseguramiento de
Calidad.
• Evaluación de la planificación del Proyecto de Software
• Evaluación de Requerimientos
• Evaluación del Proceso de Diseño
• Evaluación de las prácticas de programación
• Evaluación del proceso de integración y prueba de software
• Evaluación de los procesos de planificación y control de proyectos
• Adaptación de los procedimientos de Aseguramiento de calidad para
cada proyecto.
La Administración de Calidad y
el Desarrollo de Software
Proceso de Desarrollo de
Software
Proceso de Administración
de Calidad
Mejorar NO
Calida
SI
Estandarizar
d OK?
Procesos Procesos
Calidad de Procesos en la Práctica
• Definir procesos estándares tales como:
▫ Cómo deberían conducirse revisiones
▫ Cómo debería realizarse la administración de configuración, etc.
• Monitorear el proceso de desarrollo para asegurar que los
estándares sean respetados.
• Reportar en el proceso a la Administración de Proyectos y al
responsable del software.
• No use prácticas inapropiadas simplemente porque se han
establecido los estándares.
Estándares y Aseguramiento de Calidad
• Los estándares son la clave para la administración de
calidad efectiva.
• Pueden ser estándares internacionales, nacionales,
organizacionales o de proyecto.
• Estándares de Producto definen las características que todos
componentes deberían exhibir, ej. estilos de programación
común.
• Estándares de Procesos definen cómo deberían ser
implementados los procesos de software.
Planificación de la Calidad
• Un plan de calidad define los productos de
calidad deseados y como serán evaluados , y
define los atributos de calidad más significativos.
• El plan de calidad debería definir el proceso de
evaluación de la calidad.
• Define cuales estándares organizacionales
deberían ser aplicados , como así también si es
necesario utilizar nuevos estándares.
Control de Calidad
• Este implica el control del proceso de desarrollo
para asegurar que se siguen los estándares y
procedimientos .
• Existen dos enfoques para el control de
calidad:
▫ Revisiones de Calidad;
▫ Evaluaciones de Software Automáticas y
mediciones.
Revisiones de Calidad
• Este es el principal método de validación de la calidad de
un proceso o un producto.
• Un grupo examina parte de un proceso o producto y su
documentación para encontrar potenciales problemas.
• Existen diferentes tipos de revisiones con diferentes
objetivos
▫ Inspecciones para remoción de defectos (producto);
▫ Revisiones para evaluación de progreso (producto y proceso);
▫ Revisiones de Calidad (producto y estándares).
Calidad en el Software
Modelos para crearlos
Revisiones Técnicas
Técnicas y
Herramientas
Auditorías
Proyecto
Revisiones
Técnicas
Para
Aseguramiento
de Calidad
Modelos para medirlos Técnicas y
Auditorías (De
Configuración)
Herramientas
Para Control de
Producto Calidad
Testing
3
7
Mejora de Procesos
3
8
Modelo IDEAL
Learning
Revise Document
Organizational & Analyze
Approach Lessons Define
Processes
& Measures Acting
Stimulus for Set Context Establish Plan &
Improvement & Establish Improvement Execute
Sponsorship Infrastructure Pilots
5
Continua
4
3 Serie2
0
1
AP AP 2 AP3 AP
4 5
AP 6
AP
5 Niveles, de 1 a 5 6 Niveles de 0 a 5
Definidos por un conjunto de Áreas de Definidos por cada Áreas de Proceso.
Proceso. Niveles indican “Capacidad” de un
Niveles indican “Madurez Organizacional” Área de Proceso.
Similar al SW-CMM Similar al EIA/IS-731
Provee una única clasificación que facilita Permite comparaciones sobre la base
comparaciones entre organizaciones. de cada AP.
Provee una secuencia probada de mejoras. Permite elegir el orden de las mejoras.
CMMI - Roles - Grupos
Tamaño de la Organización
Rol
Grupo
Lo importante es que exista alguien responsable de cubrir las
actividades de cada uno de los roles o grupos.
CMMI – Representación por Etapas
CMMI: Niveles de la Representación por Etapas
Productividad
• foco en la mejora de procesos y Calidad
5 Optimizado
Cuantita-
• procesos medidos y controlados
4 tivamente
Administrado
• procesos caracterizados por la organización
3 Definido • son proactivos
• procesos caracterizados por proyectos
2 Administrado
• es a menudo reactiva
• procesos impredecibles
1 Inicial
• pobremente controlado
• reactivo Riesgo
Áreas de Proceso por Nivel para CMMI V 1.3
➢ Administración de Performance Organizacional
Optimizado ➢Análisis Causal y Resolución.
Revisiones Técnicas
Técnicas y
Herramientas
Auditorías
Proyecto
Revisiones
Técnicas
Para
Aseguramiento
de Calidad
Modelos para medirlos Técnicas y
Auditorías (De
Configuración)
Herramientas
Para Control de
Producto Calidad
Testing
Puntos Claves
5
2
Puntos Claves
• “Nivel 2”
▫ Política Organizacional para planear y ejecutar
▫ Requerimientos, objetivos o planes
▫ Recursos adecuados
▫ Asignar responsabilidad y autoridad
▫ Capacitar a las personas
▫ Administración de Configuración para productos de trabajo elegidos
▫ Identificar y participar involucrados
▫ Monitorear y controlar el plan y tomar acciones correctivas si es necesario
▫ Objetivamente monitorear adherencia a lo procesos y QA de productos y/o servicios
▫ Revisar y resolver aspectos con el nivel de administración más álto
CMMI cara a cara con Ágil Referencias:
Verde : Da soporte,
Negro: Neutral,
• “Nivel 3” Rojo: Desigual
▫ Mantener un proceso definido
▫ Medir la performance del proceso
• “Nivel 4”
▫ Establecer y mantener objetivos cuantitativos para el proceso
▫ Estabilizar la performance para uno o más subprocesos para determinar su
habilidad para alcanzar logros
• “Nivel 5”
▫ Asegurar mejora continua para dar soporte a los objetivos
▫ Identificar y corregir causa raíz de los defectos
Hipótesis
• Tolerancia de CMMI a Ágil
▫ Hay áreas de proceso que:
Hay soporte,
Otras Neutrales,
Otras en conflicto
▫ Soporte a evaluación en un ambiente Ágil
[Mejores Procesos →
→ Mínima sobrecarga
Mejor Producto] →
→ Refinamiento de Requerimientos
- Metáforas
- Casos de negocio
→
→ Características de las personas →
→ Características de las personas
- Disciplinados - Comfortable
- Siguen reglas - Creative
- Aversión al riesgo - Risk Takers
→
→ Comunicación →
→ Comunicación
→
→ Gestión de Conocimiento →
→ Gestión de Conocimiento
→
→ Mejora Organizacionalmente →
→ Mejora en el Proyecto
→
→ Capacidad/Madurez →
→ Capacidad/Madurez
→
→ Cuerpo de Conocimiento →
→ Cuerpo de Conocimiento
- Cruzando dimensiones - Personal
- Estandarizado - Evolucionando
- Temporal
•-
→
→ Reglas de Atajo →
→ Reglas de Atajo
- Desalentadas - Alentadas
Diferencias
CMMI MÉTODOS ÁGILES
• Características”
→
→ Comités →
→ Individuos
→
→ Confianza del Cliente →
→ Confianza del Cliente
→
→ Cargado al frente →
→ Conducido por Pruebas
→
→ Alcance de la vista →
→ Alcance de la vista
[Involucrado, Producto] [Involucrado, Producto]
- Amplio - Pequeño
- Inclusivo - Focalizado
- Organziacional
→
→ Nivel de Discusión →
→ Nivel de Discusión
→
→ Descriptivo →
→ Prescriptivo
→
→ Cuantitativo →
→ Cualitativo
→
→ Universalidad →
→ Situacional
→
→ Actividades →
→ Producto
→
→ Estratégico →
→ Táctico
→
→ “¿Cómo lo llamaremos?” →
→ “Sólo hazlo!”
→
→ Gestión de Riesgos →
→ Gestión de Riesgos
- Proactiva - Reactiva
Diferencias
CMMI MÉTODOS ÁGILES
→
→ Foco de Negocio →
→ Foco de Negocio
• “Foco” - Interna
- Reglas
- Externo
- Innovación
→
→ Predictibilidad →
→ Performance
→
→ Estabilidad →
→ Velocidad
Similitudes
• Meta: Organizaciones de alto desempeño
• Ambas planean
• Ambas son CMMs (Consultant Money Makers)
• Ambas tienen reglas [Reglas = Requerimientos del proceso]
▪ La violación tiene serias repercusiones
▪ ‘SEPG’ (Grupo de proceso de ingeniería de software) & ‘Política
de Proceso’
• Ninguno es completo
• No nuevas ideas
▪ Basadas en la experiencia
• Ninguno es aplicable a “cualquier proyecto”