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

  1. 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 


  1. 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.


  1. 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


  1. 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.


  1. El QS debe tener un volumen y alcance para conseguir los objetivos de la calidad


  1. 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). 


  1. 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:

  1. Factores que pueden ser medidos de forma directa

  2. Factores que pueden ser medidos de forma indirecta


  • Según McCall, se centra en 3 aspectos importantes de un software:

  1. Características operativas

  • Corrección 

  • Fiabilidad

  • Eficiencia

  • Seguridad (Integridad)

  • Facilidad de Uso


  1. Capacidad de soporte de cambios

  • Facilidad de Mantenimiento

  • Flexibilidad

  • Facilidad de Prueba


  1. 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?


ARTESANAL → INGENIERIA 



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 :

  1. Gestión del Sistema de Calidad 

  2. 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.



9000

Normas para la gestión y garantía de la calidad 

Directrices de selección y uso

Directrices generales para aplicar las normas 9001,9002,9003

Guia para aplicar las normas 9001 a empresas de software

Guia para la gestión de un programa de seguridad (9000-9004)



9001

Modelo para la garantía de la calidad en diseño/desarrollo , produccion, instalacion y servicio 

Se reemplazó ISO 9001

(Versión 2008) MODELO DE CALIDAD TOTAL con Modelo de Desarrollo de SW

9002

Modelo para garantizar la calidad en producción y servicios

9003

Modelo para garantizar la calidad en inspección final y pruebas

9004

Elemento y gestión del sistema de calidad. Reglas generales.

Directrices para los servicios (9004-2)

Directrices para materiales procesados  (9004-3)

Directrices para la mejora de calidad  (9004-4)



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:

  1. Versión para Ingeniería de Software 

  2. Versión para adquisiciones 

  3. 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:

  1. Crecimiento

  2. Competitividad

  3. 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…


  1. Se impulsa la implantación de Programas de Calidad en distintas Administraciones Públicas

  2. Las grandes empresas exigen certificados de calidad a sus proveedores.

  3. Desde la Administración se potencia la implantación de programas de calidad.


Proceso Habitual de Certificación


  1. Motivación 

  2. Selección de la norma aplicable 

  3. Subcontratación a empresa externa

  4. Auditoría de certificación 

  5. Informe de Acciones correctoras

  6. Certificado 

  7. Imposición de seguimiento

  8. Incumplimiento!!


Documentación para hacer la certificación 


  1. Solicitud Formal

  2. Sistema de Calidad

  3. Manual de Calidad

  4. Manual de Procedimiento 

  5. Manual de Especificación 

  6. Otros documentos 

  7. 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


Categoría de Alta Dirección (DIR)

  • 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.


Categoría de Gerencia (GER)

  • 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.


Categoría de Operación (OPE)

  • 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

Entradas populares de este blog