Documente Academic
Documente Profesional
Documente Cultură
2013
Agradecimientos
Watts Humphrey Capers Jones John Nicholls Tony Hoare Tom Gilb Dorothy Graham Marcelo Jenkins Mario Jimnez Roberto Sasso Edwin Garro Gregory Alfaro Exactus / Softland Mis alumnos, mis colegas Cenfotec, ITCR
Ignacio Trejos Z. 1995..2013
Calidad y sexo
"Salvando las diferencias, la calidad tiene mucho en comn con el sexo. Todo el mundo lo quiere. Todo el mundo cree que lo conoce. Todo el mundo cree que su ejecucin es slo cuestin de seguir las inclinaciones naturales. Y, por supuesto, la mayora de las personas piensa que los problemas en estas reas son producidos por otra gente."
Qu es calidad?
"La totalidad de las caractersticas de un producto o servicio, que tienen que ver con su capacidad de satisfacer necesidades enunciadas o implcitas"
ISO 8402 The International Standard Quality Vocabulary
Calidad
2. Basada en el usuario (adecuacin al propsito) Visin del cliente
Calidad - cuantitativa
Grado de conformidad
Utilidad y practicidad
Calidad - comparativa
Grado de excelencia
Tipos de software
Especfico a la organizacin Genrico de negocios (ERP, CRM, etc.) Comercial productividad COTS Empotrado
Es multidimensional
Debe trabajar por largo tiempo Buen rendimiento Adaptado a mis necesidades especficas Ser capaz de usarlo con UNIX o Windows Fcil de usar Sin pulgas ni defectos
Bueno!
Obviar el diseo
Portabilidad (Podr usarlo en otra mquina?) Reutilizabilidad (Podr reutilizar alguna parte del software?)
Revisin
Transicin
Interoperabilidad (Podr hacerlo interactuar con otro sistema?)
Operacin
Correctitud (Hace lo que quiero?) Confiabilidad (Lo hace de forma confiable todo el tiempo?) Eficiencia (Se ejecutar en mi hardware lo mejor que pueda?) Integridad (Es seguro?) Facilidad de uso (Est diseado para ser usado?)
Utilizabilidad
Eficiencia
Confiabilidad
Integridad
Adaptabilidad
Exactitud
Robustez
Correctitud
Utilizabilidad
McConnell
Cada
Pulga
Zafis
Anomala
Potenciales de defectos
requerimientos diseo cdigo documentacin malas correcciones
Causas ms comunes
Definicin de requerimientos errnea Fallas en la comunicacin entre cliente y desarrollador Desviaciones de los requerimientos de software Errores de diseo lgico Errores de codificacin Incumplimiento de instrucciones de documentacin y codificacin Deficiencias en el proceso de pruebas Problemas de interfaz de usuario Errores en procedimientos Errores de documentacin
Ignacio Trejos Z. 1995..2013
8000 proyectos
Ms de 200% tarde 6% 101-200% tarde 16% Cancelados 29%
51-100% tarde 9% 21-50% tarde 8% Menos que 20% tarde 6% A tiempo 26%
Ignacio Trejos Z. 1995..2013
Standish Group
Fuentes de defectos
Costos de detectar + reparar defectos (HP) Actividad Requerimientos Diseo Codificacin Integracin Pruebas finales Entrega Costo $45 $450 $1,500 $1,500 $45,000 $450,000 Esfuerzo < 1 h/p 6 h/p 20 h/p 20 h/p 600 h/p 6,000 h/p
Hewlett-Packard 1991
Sistema
Acumulacin de defectos
PROBLEMA
Especif. incorrecta Diseo errneo Construccin errnea Errores corregibles Diseo de espec. errnea Construy s/un diseo errneo Errores incorregibles Construy s/ ideas errneas Problemas ocultos
Davis
Trabajo y re-trabajo
requerimientos
diseo
programacin
pruebas
aceptacin
Ignacio Trejos Z. 1995..2013
Deteccin tradicional
requerimientos
diseo
programacin
pruebas
aceptacin
Ignacio Trejos Z. 1995..2013
Probabilidad de resultados
The quality of a system is governed by the quality of the processes used to develop and evolve it Watts S. Humphrey
Ignacio Trejos Z. 1995..2013
Importa el proceso?
Trabajo no productivo
Porcentaje de esfuerzo
Trabajo productivo
Proceso
Tiempo
Atencin al proceso
Trabajo no productivo
Trabajo productivo
Proceso
Proceso de software
Quin hace Qu, Cundo y Cmo
Ciclo de vida
Herramienta
Personas Paradigma
Proceso de Software
Prcticas y principios Roles (quin) Artefactos (qu) Ignacio Trejos Z. 1995..2013
Notacin
La calidad se construye...
En la especificacin de necesidades En el diseo de productos o servicios En la construccin del producto En la provisin del servicio Mediante el soporte ofrecido a lo largo del ciclo de vida del producto
Hacia la calidad
Los defectos son evitables El mejoramiento continuo de la calidad no reside en aumentar las pruebas, sino en mejorar continuamente los procesos de produccin
Prevencin
Evaluacin
Falla
Interna
Externa
Costos de falla
Costos de falla internos: costos de falla que ocurren antes de enviar el producto al cliente o antes de proveerle un servicio Costos de falla externos: costos de falla que ocurren despus de enviar el producto al cliente, o que le ocurren durante o despus de proveerle un servicio
Costos de prevencin
Descripciones de puestos Filtrado de candidatos Evaluaciones de personal Educacin Capacitacin Anlisis de mercado Encuestas Planeamiento Pronsticos Proyectos piloto Revisiones de procedimientos Redaccin de procedimientos Adopcin de estndares Planeacin de la calidad Capacitacin en calidad Administracin del aseguramiento de la calidad Incentivos de calidad Estudios de capacidades Revisiones de diseo Prototipaje Revisiones de requerimientos con usuarios Biblioteca de reutilizacin Administracin de la configuracin Evaluacin de proveedores Encuestas a proveedores
Ignacio Trejos Z. 1995..2013
Costos de evaluacin
Lectura de documentos Revisiones Caminatas (walkthroughs) Inspecciones de proceso Inspecciones finales Validacin de prototipos Auditoras de producto Pruebas de unidades Pruebas de integracin Pruebas del sistema Pruebas de aceptacin Evaluacin de calidad de proveedores externos Actividades de verificacin y validacin Auditoras de proceso Pruebas de rendimiento en el campo Preparacin y configuracin de equipo para pruebas Benchmarking
El tmpano
Capers Jones
50-200X
1X 1X
Arquitectura
Diseo detallado
Construccin
Requerimientos
Arquitectura
Diseo detallado
Construccin
Liberacin
McConnell
Deteccin localizada
requerimientos
diseo
programacin
pruebas
aceptacin
Ignacio Trejos Z. 1995..2013
No ac Arreglar ac
Fase en que se crea un defecto
Requerimientos
Costo de corregir
50-200X
1X 1X
Arquitectura
Diseo detallado
Construccin
Requerimientos
Arquitectura
Diseo detallado
Construccin
Liberacin
McConnell
Kan / Westfall
Kan / Westfall
Aseguramiento
Patrones planificados y sistemticos de acciones necesarias para proveer confianza Producto : requerimientos tcnicos preestablecidos Proceso : conforme a estndares preestablecidos
Verificacin y validacin
Verificacin -- estamos construyendo el producto correctamente? are we building the product right? Validacin -- estamos construyendo el producto correcto? are we building the right product?
Costo de la calidad
Enfocarse en calidad desde temprano tpicamente reduce el esfuerzo y acorta el tiempo
McConnell
Esttica y dinmica
Sommerville, 2000
Verificacin y validacin
Valida Valida
Pruebas de Aceptacin
Valida
Valida Valida Valida Pruebas Unitarias
Revisiones Estticas
Pruebas de Integracin
Pruebas Dinmicas
61
Ignacio Trejos Z. 1995..2013
Operation
Operational software Operational test Accepted software Acceptance test Tested software Integration test Project completion
Test cases
Test data
Review
Test data
Architectural design Test data Test cases Design Integrated specification Review Integration software plan Detailed Build Integration design Files Walkthrough Module designs
Test data Test cases
Test cases
LEGEND
SDLC Phase
Code
Pruebas de aceptacin
Software probado
Casos de prueba
Diseo arquitectnico Pruebas de integracin
Revisin
Deteccin localizada
requerimientos
diseo
programacin
pruebas
aceptacin
Ignacio Trejos Z. 1995..2013
Capers Jones
Capers Jones
Desarrollo incremental
Davis et al.
R D
PA PI
R D C
PA PI PU
R D C
PA PI PU
PU
iteracin
Filtrado de defectos
Capers Jones
10X?
1X 10X? 1X
Costo de corregir
Arquitectura
Diseo detallado
Construccin
Requerimientos
Arquitectura
Diseo detallado
Construccin
Liberacin
McConnell
IBM (DBMS)
Reduccin del 50% defectos liberados (a clientes), respecto de versin anterior Cronograma baj en 15% Pruebas: de 3 turnos en 60 das a 1 turno en 40 das Valoracin por clientes: pasaron de pobre a bueno Mantenimiento: reduccin de costo del 45% (ao 1)
13
15
17
19
Sistema
CMM
Optimizante
Administrado
Definido
Repetible
Inicial
Krasner
Raytheon CMM
SEI Carnegie Mellon University Performance Results of CMMI Based process improvement
Ignacio Trejos Z. 1995..2013
Rendimiento
Sedigh-Ali et al.
Krasner, 1999