Professional Documents
Culture Documents
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
Fallas - hardware
Mortalidad infantil Tasa de fallas Regin de falla
Perodo de servicio
Tiempo
7
Perodo de servicio
Tiempo
8
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
488
19
66
12
1,292
11
57
25
19
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
direccin de calidad
Equipo
direccin unidad de trabajo Control de calidad (productos de) trabajo
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
Informac in
37
Administrac in
Etapas
Revisin individual (preparacin)
Listas de cotejo
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
Revisin
44
2 Estudio de Factibilidad
Polticas
Sistema instalado
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
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
63
Mejorar estimaciones
64
Perfeccionar rendimiento
65
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