Sunteți pe pagina 1din 98

Ignacio Trejos Z. 1995..

2013

Calidad del software


Ignacio Trejos Zelaya Universidad Cenfotec Tnel Evolutivo Tecnolgico UTN Sede Atenas Carrera de Tecnologas de Informacin
20 de setiembre del 2013
Ignacio Trejos Z. 1995..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."

Philip Crosby, Quality is free, Mc Graw Hill, 1979

Ignacio Trejos Z. 1995..2013

When quality is pursued, productivity follows


(Cuando se persigue la calidad, la productividad sigue)

K. Fujino Vice-President, NEC Corporation C&C Software Development Group

Ignacio Trejos Z. 1995..2013

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

Ignacio Trejos Z. 1995..2013

Vistas de calidad - Garvin


1. Basada en el valor (diseo s/ precio) Calidad por costo 5. Transcendente (excelencia innata) Reputacin

Calidad
2. Basada en el usuario (adecuacin al propsito) Visin del cliente

4. Basada en el producto (obtener lo que se paga) Mismo producto ms caractersticas

3. Basada en el proceso (conforme a los requerimientos) Satisfacer especificacin del cliente

Ignacio Trejos Z. 1995..2013

Calidad - cuantitativa

Grado de conformidad

Ignacio Trejos Z. 1995..2013

Calidad adecuacin a propsito

Utilidad y practicidad

Ignacio Trejos Z. 1995..2013

Calidad - comparativa

Grado de excelencia

Ignacio Trejos Z. 1995..2013

Usos del software


Reducir costos operativos Incrementar ingresos al vender ms productos actuales Innovar y diferenciarse en productos, servicios y modelos de negocio

Ignacio Trejos Z. 1995..2013

Tipos de software
Especfico a la organizacin Genrico de negocios (ERP, CRM, etc.) Comercial productividad COTS Empotrado

Ignacio Trejos Z. 1995..2013

Calidad del software


Grado con el cual el cliente o usuario percibe que el software satisface sus expectativas
IEEE 729-83

Ignacio Trejos Z. 1995..2013

Beneficios para el cliente


Satisfaccin del cliente Mayor confiabilidad del software Reduccin de errores al operar el software Satisfaccin de los requerimientos del usuario

Ignacio Trejos Z. 1995..2013

Beneficios para la organizacin


Se satisfacen los requerimientos del cliente Estabilidad de los requerimientos Verificacin de haber implementado los requerimientos para las diversas caractersticas Los procesos se aplican de manera consistente El proceso mejora al transcurrir el tiempo

Ignacio Trejos Z. 1995..2013

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

Ignacio Trejos Z. 1995..2013

Bueno!

Ignacio Trejos Z. 1995..2013

Obviar el diseo

Ignacio Trejos Z. 1995..2013

Modelo de calidad de McCall

Facilidad de Mantenimiento (Puedo corregirlo?)

Portabilidad (Podr usarlo en otra mquina?) Reutilizabilidad (Podr reutilizar alguna parte del software?)

Flexibilidad (Puedo cambiarlo?)

Revisin

Transicin
Interoperabilidad (Podr hacerlo interactuar con otro sistema?)

Facilidad de Prueba (Puedo probarlo?)

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?)

Ignacio Trejos Z. 1995..2013

Modelo de calidad ISO 9126

Ignacio Trejos Z. 1995..2013

Conflictos entre factores


Cmo un factor de abajo afecta un factor a la derecha
Correctitud

Utilizabilidad

Eficiencia

Confiabilidad

Integridad

Adaptabilidad

Exactitud

Robustez

Correctitud

Utilizabilidad

McConnell

Eficiencia Confiabilidad Integridad Adaptabilidad Exactitud Robustez

Ignacio Trejos Z. 1995..2013

Errare humanum est

Cada

Pulga
Zafis

Anomala

Ignacio Trejos Z. 1995..2013

La primera pulga (bicho)

Ignacio Trejos Z. 1995..2013

Error, defecto, falla

Ignacio Trejos Z. 1995..2013

NIST Report, 2002


Errores de software costaron $59,500 M / ao, 0.6% PIB EUA 1/3 de esos costos, $22,200 M, podra ser eliminado si se mejora la infraestructura y los procesos de validacin de software 80% de los costos del desarrollo de software en un proyecto tpico se gastan en la identificacin y correccin de defectos

Ignacio Trejos Z. 1995..2013

Potenciales de defectos
requerimientos diseo cdigo documentacin malas correcciones

Ignacio Trejos Z. 1995..2013

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

Bender & Associates

Ignacio Trejos Z. 1995..2013

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

Ignacio Trejos Z. 1995..2013

Costos de reparacin (IBM)

Ignacio Trejos Z. 1995..2013

Costo de los errores

Sistema

Ignacio Trejos Z. 1995..2013

Acumulacin de defectos

PROBLEMA

Anlisis de Reqs. Diseo Construccin Pruebas

Especif. correcta Diseo correcto Construccin correcta Funciones correctas

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

Ignacio Trejos Z. 1995..2013

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

Capers Jones, 2009

Ignacio Trejos Z. 1995..2013

Cmo lograr calidad en el software?

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

Ignacio Trejos Z. 1995..2013

Atencin al proceso

Trabajo no productivo

Trabajo productivo

Proceso

Ignacio Trejos Z. 1995..2013

Proceso de software
Quin hace Qu, Cundo y Cmo

Ciclo de vida

Herramienta

Actividades (cmo, cuando)

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

... a travs de los procesos

Ignacio Trejos Z. 1995..2013

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

Ignacio Trejos Z. 1995..2013

Costo de la calidad (resumen)


Costo de la calidad

Prevencin

Evaluacin

Falla

Interna

Externa

Ignacio Trejos Z. 1995..2013

Costo de la (no-) calidad


Costos de prevencin: costo de actividades diseadas para evitar baja calidad en productos o servicios Costos de evaluacin: costos asociados con medir, evaluar o auditar productos o servicios para asegurar conformidad con estndares de calidad o requerimientos de rendimiento Costos de falla: costos que resultan de productos o servicios que no conforman con los requerimientos o que no satisfacen las necesidades de los usuarios costos resultantes de la baja calidad
Ignacio Trejos Z. 1995..2013

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

Ignacio Trejos Z. 1995..2013

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

Ignacio Trejos Z. 1995..2013

Costos de falla internos


Accidentes Errores de contabilizacin Cambios de diseo Rotacin de personal Equipo no disponible Gastos financieros en exceso Gastos de viaje en exceso Reparar defectos Re-trabajo correctivo Actualizar documentos Re-integracin Restauracin de versiones Horas extra Obsolescencia Sobrepagos Rediseo Reinspeccin Re-probar Retrabajo Desechar elementos Pruebas de regresin
Ignacio Trejos Z. 1995..2013

Costos de falla externos


Visitas a clientes quejosos Insatisfaccin del cliente Avisos de cambios a productos en operacin Soporte tcnico para quejas provocadas por defectos Equipo no disponible Mantenimiento de cdigo (y otra documentacin) y liberacin de versiones corregidas Evoluciones de productos debido a defectos Gastos financieros excesivos Gastos de viaje en exceso Mejora debida a defecto Multas Capacitacin a personal en servicio Prdida de reputacin Reduccin de ventas Revisiones de fallas en campo Reclamos por acuerdos de servicio Prdida de clientes Re-trabajo, re-inspeccin, etc. Garantas, costos financieros, etc. Litigios Pago de daos y perjuicios Prdida de participacin de mercado Obsolescencia Sobrepagos Concesiones de precio Errores de precio Rediseo Reinspeccin Reparacin en-caliente Re-probar Devoluciones Costos crecientes de mercadeo y promocin de ventas

Ignacio Trejos Z. 1995..2013

El tmpano

Ignacio Trejos Z. 1995..2013

La calidad afecta los costos del software

Capers Jones

Ignacio Trejos Z. 1995..2013

Correccin tarda de defectos es cara


50-200X
Costo de corregir

50-200X

Fase en que se crea un defecto


Requerimientos

1X 1X

Arquitectura

Diseo detallado

Construccin

Requerimientos

Arquitectura

Diseo detallado

Construccin

Liberacin

Fase en que se corrige un defecto

McConnell

Ignacio Trejos Z. 1995..2013

Deteccin localizada

requerimientos

diseo

programacin

pruebas

aceptacin
Ignacio Trejos Z. 1995..2013

Corregir ms defectos ms temprano


50-200X

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

Fase en que se corrige un defecto

McConnell

Ignacio Trejos Z. 1995..2013

Tasa de defectos (0)

Kan / Westfall

Ignacio Trejos Z. 1995..2013

Tasa de defectos (1)

Kan / Westfall

Ignacio Trejos Z. 1995..2013

Aseguramiento
Patrones planificados y sistemticos de acciones necesarias para proveer confianza Producto : requerimientos tcnicos preestablecidos Proceso : conforme a estndares preestablecidos

Ignacio Trejos Z. 1995..2013

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?

Ignacio Trejos Z. 1995..2013

Costo de la calidad
Enfocarse en calidad desde temprano tpicamente reduce el esfuerzo y acorta el tiempo

McConnell

Ignacio Trejos Z. 1995..2013

Esttica y dinmica

Sommerville, 2000

Ignacio Trejos Z. 1995..2013

Verificacin y validacin

Necesidades del Negocio Verifica Definicin de Requerimientos Verifica

Valida Valida

Pruebas de Aceptacin

Valida
Valida Valida Valida Pruebas Unitarias

Pruebas del Sistema

Revisiones Estticas

Diseo del Sistema Verifica

Pruebas de Integracin

Valida Construccin Del Sistema Verifica Valida

Pruebas Dinmicas

61
Ignacio Trejos Z. 1995..2013

Ciclo (de vida) V


Feasibility Study Requirements definition Statement of requirements Project initiation Plans Updated requirements Requirements specification Requirements specification
Test data Test cases

Operation

Project phase out

Operational software Operational test Accepted software Acceptance test Tested software Integration test Project completion

Test data Test cases

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

Tested modules Unit Test

Baselined Phase products

Coding Code Reading

Code

Ignacio Trejos Z. 1995..2013

Integracin con ciclo

Especificacin de requerimientos Casos de prueba Revisin Especificacin de requerimientos

Pruebas de aceptacin

Software probado

Casos de prueba
Diseo arquitectnico Pruebas de integracin

Revisin

Ignacio Trejos Z. 1995..2013

Deteccin localizada

requerimientos

diseo

programacin

pruebas

aceptacin
Ignacio Trejos Z. 1995..2013

Descubrimiento de defectos usual

Capers Jones

Ignacio Trejos Z. 1995..2013

Descubrimiento de defectos con inspecciones

Capers Jones

Ignacio Trejos Z. 1995..2013

Desarrollo incremental

Davis et al.

Ignacio Trejos Z. 1995..2013

Proceso iterativo + V&V

R D

PA PI

R D C

PA PI PU

R D C

PA PI PU

PU

iteracin

Ignacio Trejos Z. 1995..2013

Filtrado de defectos

Ignacio Trejos Z. 1995..2013

Eficiencia en remocin de defectos

Capers Jones

Ignacio Trejos Z. 1995..2013

Bajar costos de defectos

Fase en que se crea un defecto


Requerimientos

10X?

1X 10X? 1X
Costo de corregir

Arquitectura

Diseo detallado

Construccin

Requerimientos

Arquitectura

Diseo detallado

Construccin

Liberacin

Fase en que se corrige un defecto

McConnell

Ignacio Trejos Z. 1995..2013

Qu significa todo esto?


Reduccin de tiempos: del 10% al 45% Cuando comienzan las pruebas, las inspecciones han atrapado 85% de los defectos

Ignacio Trejos Z. 1995..2013

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)

Ignacio Trejos Z. 1995..2013

Tasa de descubrimiento de defectos (Rayleigh)

Putnam & Myers

Ignacio Trejos Z. 1995..2013

Tasa de descubrimiento de defectos


Defect Discovery Rate
50 40 30 20 10 0 1 3 5 7 9 11 Week
Ignacio Trejos Z. 1995..2013

13

15

17

19

Costo de los errores

Sistema

Ignacio Trejos Z. 1995..2013

Prevencin y deteccin temprana

Ignacio Trejos Z. 1995..2013

Ms bueno, ms barato, ms rpido


El software de alta calidad no es ms caro. Es ms rpido y barato construir y mantener software de alta calidad que software de baja calidad, desde el desarrollo inicial hasta llegar al costo total de propiedad. Capers Jones
High-quality software is not expensive. High-quality software is faster and cheaper to build and maintain than low-quality software, from initial development all the way through total cost of ownership. Capers Jones

Ignacio Trejos Z. 1995..2013

Beneficios calidad <-> economa


Reducir cancelacin de proyectos Reducir litigio en contratacin externa Acortar cronogramas de desarrollo Bajar costos de desarrollo Bajar costos de mantenimiento Reducir costos de garantas Incrementar satisfaccin de clientes Aprovechar oportunidades de mercado Desarrollar oportunidades de innovacin Mejorar moral de equipos tcnicos
Ignacio Trejos Z. 1995..2013

Softland (Exactus ERP)

Ignacio Trejos Z. 1995..2013

Softland (Exactus ERP)

Ignacio Trejos Z. 1995..2013

Softland (Exactus ERP)

Ignacio Trejos Z. 1995..2013

Ignacio Trejos Z. 1995..2013

Ignacio Trejos Z. 1995..2013

Ignacio Trejos Z. 1995..2013

Satisfaccin de clientes (94% entregas a tiempo)

Ignacio Trejos Z. 1995..2013

Satisfaccin de los clientes (93% satisfechos o ms)

Ignacio Trejos Z. 1995..2013

CMM

Optimizante

Administrado

Definido

Repetible

Inicial

Ignacio Trejos Z. 1995..2013

Visibilidad del proceso

Ignacio Trejos Z. 1995..2013

CoSQ: CMM/1 vs CMM/3

Krasner

Ignacio Trejos Z. 1995..2013

Raytheon CMM

Ignacio Trejos Z. 1995..2013

Ahorros en costos (DB Systems GmbH)

SEI Carnegie Mellon University Performance Results of CMMI Based process improvement
Ignacio Trejos Z. 1995..2013

Rendimiento

Ignacio Trejos Z. 1995..2013

Costo de calidad y CMM

Sedigh-Ali et al.

Ignacio Trejos Z. 1995..2013

Efectos avance en CMM

Ignacio Trejos Z. 1995..2013

CoSQ versus Mejoras en rendimiento

Krasner, 1999

Ignacio Trejos Z. 1995..2013

Ignacio Trejos Z. 1995..2013

Gracias por su atencin!

Ignacio Trejos Zelaya itrejos@ucenfotec.ac.cr

Ignacio Trejos Z. 1995..2013

S-ar putea să vă placă și