You are on page 1of 67

Segunda Jornada Nacional de Tecnologa de la Informacin CEFOF / Fudespro

Aseguramiento de la calidad del software


Ignacio Trejos Zelaya Instituto Tecnolgico de Costa Rica

Agosto 1999

Temas
Problemas en el desarrollo de software Soluciones para el desarrollo de software Principios de la calidad del software Revisiones estticas Pruebas sistemticas Estndares Iniciacin en calidad del software Maduracin
2

El software
El software consiste de programas, datos, documentacin y procedimientos operativos mediante los cuales los sistemas computacionales son tiles al ser humano.

Estado actual
Las sociedades dependen crecientemente de la tecnologa de informacin Hay aplicaciones de seguridad crtica gobernadas por software Se produce software de variada calidad heursticamente Se ha avanzado comparativamente ms rpido que las ingenieras establecidas Hay mucho por hacer
4

Estado - nmeros
Por cada 6 proyectos nuevos de gran tamao, otros 2 se cancelan Re-trabajo afecta presupuesto total: 40% a 50% presupuesto real 31% se cancelan antes de terminar 52.7% completados exceden 89% presupuesto
Standish Group, 1994
5

Problemas del software


No satisface requerimientos Toma mucho tiempo construirlo Se cae, falla, pega Difcil de estimar y planificar Difcil de modificar y mantener Poco porttil Usa subptimamente los recursos No se dan garantas
6

Fallas - hardware
Mortalidad infantil Tasa de fallas Regin de falla

Perodo de servicio

Tiempo
7

Fallas - software (ideal)


Mortalidad infantil Tasa de fallas

Perodo de servicio

Tiempo
8

Fallas - software (real)


real Tasa de fallas

cambios

ideal

Tiempo
9

Problemas - naturaleza
Complejidad - conformidad Complejidad - tamao, interaccin, forma Establecer y estabilizar requerimientos Maleabilidad y cambiabilidad Invisibilidad e inmaterialidad Carencia de suficientes teoras de dominios Pobre comunicacin usuarios <-> tcnicos
10

Soluciones tcnicas
Lenguajes de alto nivel Sistemas y ambientes operativos Sistemas de bases de datos Redes, distribucin, Internet Mtodos de programacin, anlisis y diseo IA y aplicaciones Componentes y reutilizacin Mtodos formales Tcnicas de verificacin y validacin Herramientas, automatizacin, 4GLs
11

Soluciones administrativas
Administracin de proyectos Ciclos de vida, productos y actividades Evaluacin de riesgos Manejo de configuracin Estrategia informtica Equipos de trabajo, ingeniera concurrente Administracin de la calidad Soporte automatizado Medicin
12

Calidad

13

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
14

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
15

Calidad de sistemas
Calidad = satisfaccin del usuario Satisfacer los requerimientos del usuario Caractersticas buenas de rendimiento Cumplimiento de estndares explcitamente documentados Otras caractersticas implcitas del trabajo profesional
16

Por qu calidad?
Es un asunto de competitividad Es esencial para la supervivencia Es esencial para mercadeo internacional Es eficaz respecto del costo Retiene clientes e incrementa utilidades Es caracterstica de empresas de clase mundial
17

Algunas caractersticas
Funcionalidad Integridad Portabilidad Utilizabilidad Interoperabilidad Confiabilidad Eficiencia Auditabilidad Mantenibilidad Reutilizabilidad
18

Problemas serios de calidad


Empresa Total Errores 4,319 Cdigo (%) 8 Diseo (%) 22 Requerim. (%) 51 Logstica (%) 19

488

19

66

12

1,292

11

57

25

19

Costos de reparar defectos


Hewlett-Packard 1991

Requerimientos $ 45 (< 1 h./p.) Diseo $ 450 (6 h./p.) Codificacin $ 1,500 (20 h./p.) Integracin $ 1,500 (20 h./p.) Pruebas finales $ 45,000 (600 h./p.) Entrega $450,000 (6,000 h./p.)
20

Trabajo y re-trabajo

requerimientos

diseo

programacin

pruebas

aceptacin
21

Deteccin tradicional

requerimientos

diseo

programacin

pruebas

aceptacin
22

Deteccin localizada

requerimientos

diseo

programacin

pruebas

aceptacin
23

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

24

Enfocar esfuerzos
Mejorar estudios de requerimientos Alinear con negocio Retroalimentacin temprana Especializacin por dominio Concentrarse en etapas tempranas Revisin esttica Prevencin de defectos Atencin a la mantenibilidad Participacin del usuario Gente y cultura Pruebas sistemticas Rastreabilidad Documentacin Medicin Soporte
25

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

26

V&V
Verificacin: determinar si cada actividad del ciclo de vida del proyecto interpreta correctamente la especificacin dada por una actividad precedente y genera un producto que satisface esa especificacin Validacin: evaluar un producto de software entregado para determinar si funciona de acuerdo con lo que prescriben sus requerimientos
27

Control
Tcnicas y actividades => satisfaccin de requerimientos Comprobacin sobre productos Comprobacin: revisiones estticas, pruebas, desarrollo evolutivo, prototipos Ayuda al seguimiento de proyectos Lo ejercen los desarrolladores
28

Responsabilidades
Usuarios Administracin Funcin aseguramiento de la calidad Desarrolladores (internos y externos)

29

Responsabilidades
informacin s/calidad

Admin./Usuarios

metas de calidad

Aseguramiento de la calidad

Unidad de trabajo

procedimientos para el control de la calidad

direccin de calidad

Equipo
direccin unidad de trabajo Control de calidad (productos de) trabajo

modificaciones al proceso de calidad

datos s/calidad

30

Funcin de aseguramiento
Documentar polticas y hacerlas cumplir Prescribir procedimientos de control Procesar datos y mantener base de datos Aseguramiento sistemas proveedores Actualizar y perfeccionar manual de calidad Analizar datos y retroalimentar procesos Proveer capacitacin interna
31

Principios de calidad
Evitar la introduccin de defectos (prevencin) Asegurar que los defectos son detectados y corregidos tan temprano como sea posible Establecer y eliminar las causas y los sntomas de los defectos Auditar independientemente el cumplimiento de estndares y procedimientos
32

Principios administrativos
Definir estructura, papeles, responsabilidades, lneas de comunicacin Planificar el trabajo Controlar avance contra planes Refinar planes progresivamente

33

Principios ingenieriles
Analizar el problema Especificar la solucin Usar modelos Descomponer la solucin Controlar las relaciones (integracin y rastreo)
34

Revisiones estticas
Principio: personas distintas de autores revisan productos Objetivos:
educar evaluar verificar decidir asegurar
35

Principios generales
Las realizan colegas tcnicos Evalan productos Proceso definido Autor participa Papeles definidos Slo productos revisados se incorporan a la lnea de base
36

Verificacin - esttica
* Especificac in Trabajo Borrador * Revisin esttica ac eptar * Integrar Producto de trabajo

Retrabajar

Equipo *

Control de calidad

Datos

Procedimientos Aseguramiento de la calidad

Informac in

37
Administrac in

Etapas
Revisin individual (preparacin)

Listas de cotejo

Revisin grupal (sinergia)

38

Variedades
Vistazo general Tormentas de ideas Walkthrough (caminata) Revisin tcnica Inspeccin Auditora Revisin administrativa
39

Retroalimentacin
Del proceso administrativo: determinar avance, acciones correctivas, asignacin de recursos, metas de calidad, productividad, costos Del proceso tcnico: rastreabilidad y cumplimiento de requerimientos, cualidades del producto, mejoras al proceso tcnico, uso de tcnicas, herramientas, mtodos
40

Pruebas
Las pruebas muestran la presencia de errores, pero nunca su ausencia Dijkstra Deben ser planeadas y diseadas Validar requerimientos: operacin normal y casos lmite Funcionales, de desempeo y de tensin Niveles:unidades (componentes), mdulos (subsistemas), integracin, sistemas / aceptacin

Limitaciones
No certifican Muestran errores o desviaciones Dan niveles de confianza

42

Estrategia
Planificar Ser sistemtico Ser objetivo Iniciar oportunamente la especificacin de pruebas

43

Integracin con ciclo (fragmento)


Especificacin de requerimientos Casos de prueba Revisin Especificacin de requerimientos Casos de prueba Diseo arquitectnico Pruebas de integracin Software probado Pruebas de aceptacin

Revisin

44

Eficiencia en eliminacin de T. C. Jones, 1997 defectos


Revisiones informales de diseo: 25% a 40% Inspecciones formales de diseo: 45% a 65% Revisiones informales de cdigo: 20% a 35% Inspecciones formales de cdigo: 45% a 70% Pruebas unitarias: 15% a 50% Pruebas de nueva funcionalidad: 20% a 35% Pruebas de regresin: 15% a 30% Pruebas de integracin: 25% a 40% Pruebas del sistema: 25% a 55% Inspeccin formal de cdigo y diseo+pruebas sistemticas: 97%
45

Ciclo de vida (ejemplo)


Admon. Inf. Avance Inf. Estud. preliminar Req. del Usuario Inf. Fact. Restricciones Restricciones operacionales Descripcin bases de datos 3 Anlisis Espec. de req. 8 9 Usuarios Pruebas del sist. Desarrollo docum. Espec. de req. 4 Diseo conceptual Diseo conceptual Soporte tcnico 1 Estudio Preliminar Alcances
Necesidades

2 Estudio de Factibilidad

Req. del sistema

5 Diseo fsico Diseo detallado 7 Desarrollo de la prog. Sistema integrado

Polticas

Bases de datos convertida

Manuales Plan de pruebas

10 Sistema aceptado Implantacin

12 Asegu. de la calidad Inf. Avance

Inf. Avance Inf Avance Inf. Avance Inf. Calidad 11

Sistema instalado

Inf. Evaluacin Admon.

Evaluacin Post-impl.

46

Integracin en el ciclo
Se organiza por actividades Enumera: supuestos, tcnicas recomendadas, objetivos, participantes, preparacin, duraciones sugeridas, listas de cotejo por tipo de documento y actividad, otras consideraciones Se documentan procedimientos por seguir
47

Estndares
Para productos o para procesos Son de carcter obligatorio y definen alcances Guas: dan orientaciones de carcter general Prcticas recomendadas: orientaciones detalladas de procedimiento Convenciones: codifican prcticas comunes, dan recomendaciones especficas
48

Estndares IEEE
Pueden ser usados para cumplir con los requerimientos CMM o ISO 9001 (ISO 9000-3) Contiene ms de 25 estndares aplicables en distintas actividades del proceso de desarrollo

49

Manual de calidad
Sistema de calidad Polticas y objetivos de calidad Estructura organizativa con deberes y responsabilidades Modelo de proceso Relacin con normas como ISO 9000 Referencia a estndares y procedimientos detallados Corto!
50

Estndares y procedimientos
Desarrollar y documentar estndares para productos y procesos Adaptar los del IEEE Difundir, evolucionar y mantener actualizado Incluir prcticas recomendadas, guas y convenciones Organizar en un manual

Identificar reas problema Determinar causas principales Encontrar soluciones en estndares Adaptar soluciones de los estndares Documentar estndar Aprobar estndar Capacitar al personal Probar estndar
Revisar y mejorar estndar

M. Jenkins - Exactus

52

Objetivos tpicos
Reducir nmero de errores encontrados en pruebas y operacin Aumentar productividad Reducir tiempos de desarrollo Aumentar respuesta a solicitudes de clientes Mejorar exactitud de estimados y cronogramas Alcanzar certificacin ISO 9001
53

Factores crticos de xito


Apoyo de la administracin Capacitacin Compromiso de los participantes Asignar tiempo y recursos a revisiones, planificacin, especificacin de pruebas Funcin de aseguramiento de la calidad coordinadores de revisiones, de pruebas
54

Pasos iniciales
Obtener apoyo y compromiso de la Administracin Hacer de la calidad informtica algo central Evaluar el estado actual de la organizacin Establecer objetivos por conseguir Fortalecer capacitacin Plan de calidad donde se amerite Asignar responsabilidades y definir papeles
55

Pasos iniciales
Determinar actividades ms importantes por controlar Mantener independencia (relativa) de los evaluadores, luego considerar GACSI Elaborar guas primero, luego estndares Elaborar y mantener listas de comprobacin Guas de gestin de la calidad para proyectos contratados
56

Problemas comunes
Compromiso no demostrado de la Administracin Mala imagen ante el usuario Comunicacin pobre con los usuarios Gente equivocada en el grupo de calidad Plan de aseguramiento de la calidad grande y burocrtico
57

Problemas comunes
Valor agregado no percibido Complacencia del personal Capacitacin inadecuada

58

Sugerencias
Definir claramente objetivos
Plazo Costo Modelo de calidad por utilizar

Evaluar bien la situacin actual Iniciar con piloto, aumentar gradualmente Utilizar ayuda externa No copiar a otras organizaciones
59

Organizacin inmadura
Se sacrifica funcionalidad y calidad para cumplir con cronogramas No usa mtodos objetivos para evaluar la calidad de sus procesos y productos Es difcil predecir la calidad de sus productos Se reducen o eliminan actividades de aseguramiento de la calidad para cumplir con cronogramas
60

Organizacin madura
Tiene capacidad para administrar sus procesos de desarrollo y mantenimiento La gerencia puede comunicar los procedimientos por utilizar y promover capacitacin Los procedimientos se cumplen sistemticamente El proceso es continuamente mejorado
61

Organizacin madura
Los directores de proyecto dan seguimiento a la calidad de los productos y procesos de software Existen mtodos objetivos para medir calidad y analizar problemas en procesos Cronogramas y presupuestos se elaboran con base en datos histricos Estimados coinciden con resultados de costo, tiempo, funcionalidad y calidad
62

Estimaciones vrs. realidad

63

Mejorar estimaciones

64

Perfeccionar rendimiento

65

Rendimiento vrs. inversin


productividad Plan ambicioso Plan bsico

tiempo Costo inicial de la calidad

66

Certificarse?
Obtener ventaja competitiva
Para 1999 las 5000 principales empresas europeas tendrn certificacin ISO 9001 en sus sistemas internos de calidad del software Las licitaciones y compras grandes exigirn certificacin ISO 9001 en Europa

Establecer una meta objetiva para un programa de calidad Estndar global para juzgar la idoneidad de proveedores 67

You might also like