CALIDAD DE SOFTWARE
CALIDAD DE SOFTWARE
La calidad es uno de los factores principales que debemos tener en cuenta cuando trabajamos con sistemas grandes porque si no planteamos la calidad podríamos llegar a tener dificultades. Nos concentramos solo en dos estándares de calidad.
Evolución Histórica
Inspección/detección de errores (hasta los ‘40)
El problema de la calidad era muy grande, donde el trabajo era artesanal donde había un control individual de cada tarea.
Tenemos la empresa Ford que fue una de las primeras que iba cumpliendo estándares.
O laboratorios Bel
Control (estático) de calidad (hasta los ’80)
El mercado era poco competitivo y el precio de venta era fijado por los fabricantes en función de los costos.
Se empezó a impedir que el producto defectuoso llegue al cliente.
Se empezó a conseguir uniformidad de servicio.
CONTROL DE CALIDAD = PROBLEMA A RESOLVER
El control de calidad de los departamentos de producción se empezó utilizando técnicas estadísticas.
Garantía de calidad (a partir de los ‘80)
El mercado era competitivo, había muchas ofertas y el precio de venta era fijado por el mercado .
Se empezó a realizar planificaciones y tener medidas de calidad . Modelos de calidad
Aquí nacen los estándares de calidad
La calidad afecta a todos los departamentos
Gestión de Calidad hoy en dia
Tiene un impacto estratégico y una oportunidad de ventaja competitiva (con certificaciones de calidad)
Nos garantiza para hacer planificación, fijación de objetivos, coordinación, formación, adaptación de toda la organización.
La calidad afecta a la sociedad en general de la organización: directivos, trabajadores y clientes.
Los estándares se usan también para hacer mejores cosas.
No se hace calidad total de la noche a la mañana, hay todo un proceso que hay que seguir para poder llegar a esos niveles.
CALIDAD
Def (ISO 8.402): Es un conjunto de propiedades y de características de un producto o servicio, que le dan aptitud para satisfacer una necesidad explícita o implícita.
Esto de decir necesidades implícitas se da muchas veces cuando tenemos clientes que ni saben lo que quieren, que la idea es buscar o determinar cuales son.
Terminología (ISO 8.402)
CONTROL DE CALIDAD
Es un conjunto de técnicas y actividades de carácter operativo para VERIFICAR los requerimientos de calidad del producto o servicio.
Yo en el control de calidad veo el COMO hago para llegar a verificar los requerimientos, ahí también incluyo la calidad más allá de lo que entrego.
GARANTÍA DE CALIDAD:
Es un conjunto de actividades planificadas y sistemáticas necesarias para proporcionar la CONFIANZA para que los requerimientos dados de calidad satisfaga a un producto o servicio.
GESTIÓN DE CALIDAD:
Es un aspecto de la gestión que determinar y aplica:
política de calidad
objetivos
responsabilidades
y que los realiza con medio tales como:
planificación de calidad
control de calidad
garantía de calidad
mejora de la calidad
¿De quién es responsabilidad la gestión de calidad?
Todos los niveles ejecutivos (desde gerencia hasta equipos), pero debe estar guiado por la DIRECCIÓN y su realización involucra a todos los miembros de la organización.
En la gestión de calidad, se tienen en cuenta también los CRITERIOS DE RENTABILIDAD.
Los estándares dan normas que se tienen que cumplir, pero no te dicen cómo hacerlo, dónde en función de eso armó en realidad mi PLAN Y POLÍTICA DE CALIDAD y lo que debería hacer es cumplir toda esa planificación.
SISTEMA DE GESTIÓN DE CALIDAD
Es un conjunto de:
responsabilidades
procedimientos
procesos
recursos
que se establecen para llevar a cabo la Gestión de Calidad.
Todos forman parte de la ESTRUCTURA DE LA ORGANIZACIÓN.
El QS debe tener un volumen y alcance para conseguir los objetivos de la calidad
El QS satisface las necesidades internas de una organización. Es más amplio que los requerimientos de un cliente concreto que dan valor a lo que le interesa (de forma directa).
Se puede exigir que se tengan en cuenta ciertos elementos de QS para finalidades contractuales. (Muchas empresas que quieren contratar muchas veces se fijan en que estén certificados para tenerlos en cuenta).
CALIDAD DE SOFTWARE
Def (IEEE 1990): es el grado de un sistema, componente o proceso cumple con los requerimientos especificados y las necesidades de un cliente o usuario.
Def (Pressman 1998) : es la concordancia del software producido con:
los requerimientos explícitos establecidos
los requerimientos implícitos no establecidos formalmente
los estándares de desarrollo prefijados
que desea el usuario o cliente.
FACTORES PARA DETERMINAR LA CALIDAD DE SOFTWARE
Según Pressman, podemos clasificar en 2 grupos:
Factores que pueden ser medidos de forma directa
Factores que pueden ser medidos de forma indirecta
Según McCall, se centra en 3 aspectos importantes de un software:
Características operativas
Corrección
Fiabilidad
Eficiencia
Seguridad (Integridad)
Facilidad de Uso
Capacidad de soporte de cambios
Facilidad de Mantenimiento
Flexibilidad
Facilidad de Prueba
Adaptabilidad a nuevos entornos
Portabilidad (¿Puedo usarlo en otra máquina?)
Reusabilidad (¿Se puede reutilizar alguna parte del software?)
Interoperabilidad (¿Interactúa con otro sistema?)
Situación Actual
La industria de software no ha acabado de salir de la fase artesanal.
Padecemos de “Prisa patológica”, que es consecuencia de DESORGANIZACIÓN y FALTA DE PLANIFICACIÓN.
“Todo el tiempo que invierto en el inicio, es tiempo que lo ganó al final” (No es programar nada más)
Alta dependencia de los “héroes” (Hacer las cosas de forma de equipo, capacitando nueva gente y teniendo experto que dan su aporte)
Dedicamos nuestro esfuerzo de hoy a arreglar lo que se hizo mal ayer.
El software es algo intangible (es bastante abstracto)
La disciplina, la ingeniería de software es relativamente reciente y muchos de sus conceptos importantes están aún inmaduras.
Carencia de un corpus de conocimiento aceptado mayoritariamente que sirva como fundamentos.
Escasa precisión de mercado.
En una organización inmadura:
Procesos normalmente improvisados (muchas veces no hay planificación)
Si tenemos especificaciones, no se siguen rigurosamente.
Organización reactiva (resolver crisis inmediatas)
Planes y presupuestos excedidos sistemáticamente por no estar basados en estimaciones realistas.
Si tenemos plazos rígidos → capaz sacrifiquemos funcionalidad y calidad del producto para satisfacer el plan.
No existen bases objetivas para juzgar la calidad del producto
Cuando los proyectos están fuera de plan, las revisiones o pruebas se eliminan.(En realidad algo que no se prueba no debería salir al mercado)
Los proyectos..
90% → No alcanzan los objetivos
40% →Fracasan por completo
29% → No se entregan nunca
Costo de demandas y litigios legales añadidos
Efecto ONDA (Proveedores y Distribuidores)
¿Qué hacer?
El cambio cultural de la empresa y equipo que involucra a todos!!!
ESTÁNDARES Y MODELOS DE EVALUACIÓN Y MEJORA DE LOS PROCESOS DE SOFTWARE
ISO 9000 (ISO 9001:2008)
Es más europeo
“Di lo que haces, haz lo que dices” (Lo que digo debo probar)
Objetivo → estandarizar Sistemas de Calidad en Empresas
Def: Son un conjunto de normas (no solo de software) editadas y revisadas periódicamente por la Organización Internacional de Normalización (ISO) sobre la garantía de calidad de los procesos.
Publicada en 1987 y adoptada en más de 90 países
Cuenta con directrices para la :
Gestión del Sistema de Calidad
Modelos de Garantía de Calidad
Las mismas son genéricas y aplicadas en cualquier sector
Es un marco de trabajo para la mejora continua.
Objetivo de ISO 9000→ proporcionar una Guía para Gestión de Calidad :
Diseño e Implementación de Sistemas de Calidad.
→ No normaliza el Sistema de Gestión de Calidad porque depende de:
Tipo de sector
Tamaño de empresa
Organización interna, etc.
Sino que se normalizan las verificaciones que se han de realizar sobre el sistema de calidad
(Funciona como guía para gestion, el como lo tenemos que desarrollar nosotros, nos da aspecto para asegurar la calidad)
Todos los requerimientos generales deben estar descriptos para garantizar la calidad.
Aspectos Positivos
Es un factor competitivo para las empresas
Proporciona confianza a clientes
Ahorra tiempo y dinero, evitando re-certificar la calidad según los estándares locales o particulares de una empresa.
Se adoptó en más de 90 países y se implementó en todo tipo de organizaciones tanto en sectores públicos como privados
Proporciona una cierta garantía de que las cosas que digo que se van a hacer se hagan realidad.
Aspectos Negativos
Es costoso
Muchas veces se hace por obligación
Es cuestión de tiempo que dejé de ser un factor competitivo (Es bueno hacerlo porque facilita muchas cosas como empresa y demuestran que voy aplicando estos factores)
Hay diferencia de interpretación de las cláusulas del estándar
No es un indicador de calidad de producto, proceso o servicio. (En que factores es la pregunta)
Hay mucha publicidad engañosa.
CMM (Compability Maturity Model)
Es más norteamericano
El gobierno de defensa de EEUU para asegurar que sus proveedores cumplan con un criterio mínimo de calidad exige que estén certificados en CMM.
CMM es una aplicación de conceptos de gestión de procesos y mejora de la calidad de desarrollo y mantenimiento de software.
Estudia los procesos de Desarrollo de Software
Produce una evolución de madurez de la organización según una escala de 5 niveles. La madurez es un indicador de la capacidad para construir un software de calidad.
Es un Modelo para Mejorar una organización
Posee una revisión constante.
Fue creado en 1991 por Carnegie Mellon Software Engineering que surge como CMM-SW
Luego siguieron:
Versión para Ingeniería de Software
Versión para adquisiciones
Otras
Después se integran o se amplía y en 2005 nace CMMi (i de Integration) que es una evolución de CMM y que integra distintos modelos de calidad
Tenemos estos 5 niveles, se deben cumplir cosas para llegar a niveles superiores. Al llegar al nivel 3 se dice que la empresa tiene un nivel satisfactorio de confianza.
Es importante tener en claro:
Donde nos encontramos como empresa de desarrollo o como equipo
Dónde queremos llegar como empresa
Cómo llegaremos (Plan)
Cómo sabemos si llegamos (Seguimiento)
No podemos hacer todo de golpe !!! (No me levanto un dia y digo me voy a certificar sino que voy subiendo niveles a través de procesos previos y pilotos)
Certificación. Organismos
¿Hay Exigencia?
La Unión Europea edita el libro blanco sobre:
Crecimiento
Competitividad
Puestos de trabajo
Se reconoce a la calidad como un elemento esencial de éxito en la empresa y constituye un factor estratégico en la Política Europea de Competitividad.
Se potencia la creación de una infraestructura de calidad:
entidades de acreditación
organismos de normalización
entidades de inspección
etc.
Son gente externa…
Se impulsa la implantación de Programas de Calidad en distintas Administraciones Públicas
Las grandes empresas exigen certificados de calidad a sus proveedores.
Desde la Administración se potencia la implantación de programas de calidad.
Proceso Habitual de Certificación
Motivación
Selección de la norma aplicable
Subcontratación a empresa externa
Auditoría de certificación
Informe de Acciones correctoras
Certificado
Imposición de seguimiento
Incumplimiento!!
Documentación para hacer la certificación
Solicitud Formal
Sistema de Calidad
Manual de Calidad
Manual de Procedimiento
Manual de Especificación
Otros documentos
Expediente y Certificación correspondiente.
Otros Aspectos
Plazos y costos para certificarse, es una inversión que uno hace.
Consultoría, se puede ir para consultar
Formación para certificarse
Organismo que certifican
Mantenimiento de la certificación (Tengo un mantenimiento, no es algo que hago una sola vez)
Seguimiento anual
Revisión de la certificación
MAPROSOFT (Es otra normas no tan conocida como las anteriores)
Es un conjunto de mejores prácticas para el desarrollo de software, está enfocado desde el punto de vista organizacional.
Este modelo se aplica a la pequeñas y medianas empresas desarrolladoras de software y tomó como referencia CMMi, ISO 15504, PMBOK e ISO 9000
ESTRUCTURA DE MAPROSOFT
Se establecen lineamientos para procesos de Categoría de Gerencia
Se retroalimenta con la información generada en apoyo a la estrategia de la organización.
Se definen los elementos para el funcionamiento de los procesos de la Categoría de Operación en función de la estrategia de dirección.
Se recibe y evalúa información generada por estos y comunica los resultados a la categoría de alta dirección.
Se realizan las actividades de acuerdo a los elementos proporcionados por la Categoría de
Gerencia
Se entrega ésta información y productos generados.
NIVELES
Realizado
Gestionado
Establecido
Predecible
Optimizado
Comentarios
Publicar un comentario