lunes, 13 de julio de 2009

Modelos de Calidad de Software

Introducción

En el presente artículo se pretenden dar las características generales de tres de los modelos de calidad de software más conocidos, identificar las diferencias y beneficios de cada uno de ellos.

Desarrollo


Se conoce como modelo de calidad de software a un conjunto de buenas prácticas usadas para el desarrollo y/o la adquisición de software, dichos modelos se caracterizan por definir las actividades que se deben hacer mas no la forma de hacerlas, esto es así debido a que se considera que las forma de realizar las actividades depende de la metodología usada y de los objetivos de negocio. Existen varios modelos entre los cuales los más conocidos son:

CMM (Modelo de Capacidad y Madurez): Fue desarrollado por la Universidad Carnegie Mellon para el SEI (Software Engineering Institute). Se caracteriza por la definición de niveles de madurez, concretamente 5 (Inicial, Repetible, Definido, Gestionado y Optimizado), también define un conjunto de prácticas claves agrupadas en áreas clave de proceso.

El objetivo del modelo es definir el grado de madurez de una organización teniendo en cuenta las practicas o procesos que ha adoptado, así, si una organización cumple todas la actividades o practicas de un nivel determinado, será clasificada en dicho nivel de madurez.

Este modelo evoluciono al modelo CMMI (Modelo de Madurez de la Capacidad para el desarrollo de Software)

ISO/IEC 12207: Creado por la organización ISO, Al igual que el modelo CMM incluye procesos y actividades e incluye todos las etapas del siclo de vida del software, su objetivo es según la Wikipedia es proporcionar una estructura común para que compradores, proveedores, desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo de software usen un lenguaje común.

Los procesos definidos por este modelo se dividen en tres tipos, procesos principales, procesos de soporte procesos de la organización, Los primeros dependen de la situación particular mientras que los des grupos restantes deben ser existir independientemente del proyecto que se esté realizando.

ISO/IEC 15504: Definido por la organización ISO, este modelo define niveles capacidad de cualquier proceso, dichos niveles son: Incompleto, Realizado, Gestionado, Establecido, Predecible y en optimización. También agrupa los procesos en tres grupos similares a los definidos en el modelo ISO/IEC 12207, procesos primarios, procesos de soporte y procesos organizacionales.

Semejanzas

Lo primero que hay que decir es que el modelo ISO/IEC 15504 está alineado con el modelo ISO/IEC 12207 y que los procesos del primero están muy relacionados con el segundo, también en el desarrollo del modelo ISO/IEC 15504 se ha procurado la compatibilidad con el modelo CMMI que a su vez el sucesor del modelo CMM.

Cualquiera de los modelos que se seleccione implica un gran esfuerzo para lo organización.

Ventajas

En general con cualquiera de los modelos que se implemente se obtiene las siguientes ventajas:

• Un marco que facilita la determinación de tiempos y costos de los nuevos proyectos
• Un mayor control del producto final
• A mediano plazo una mayor satisfacción del equipo de trabajo
• Una mayor satisfacción del cliente
• Reducción de los errores durante todo el ciclo de vida.
• Todos los benéficos derivan en una mayor calidad de software que a su vez termina siendo una mejor rentabilidad de la empresa.

Conclusiones

Es importante para una empresa que pretenda desarrollar software de calidad adoptar un modelo que le permita definir cuál es el grado de organización en el que se encuentra, si se trata del modelo CMM hablaremos del nivel de madures de los procesos y si se trata del modelo ISO/IEC 15504 hablaremos de niveles de capacidad.

Es importante que todo el personal esté involucrado en las actividades necesarias para llevar a buen término un proceso de certificación en cualquiera de los modelos, pues en cualquier caso se requiere un alto esfuerzo y un alto grado de compromiso por parte de todas las personas involucradas.

Se debe destacar que la SEI ya no da mantenimiento al modelo CMM y que este modelo fue integrado el modelo CMMI.

Si una organización decide certificarse en alguno de estos modelos, es importante que conozca que relación tiene dicho modelo con los demás modelos, esto le permitirá compararse con otras organizaciones certificadas en otros modelos, y presentarse ante sus clientes de forma adecuada.

A pesar del alto grado de esfuerzo que requiere un proceso de certificación en alguno de estos modelos de calidad, esto se ve compensado por las ventajas que trae para la organización.

No hay comentarios: