ESTÁNDARES Y MODELOS DE CALIDAD DEL SOFTWARE

16  28  Descargar (0)

Texto completo

(1)

ESTÁNDARES Y MODELOS DE CALIDAD DEL SOFTWARE

INTRODUCCIÓN

La calidad es un concepto complejo, que se viene aplicando en el campo de la informática desde hace muchos años, la aplicación de la calidad al producto software toma cuerpo con la aparición de los primeros modelos de calidad de producto y se fortalece con la propuesta de normas internacionales que comienzan a ser utilizados como marco de referencia para el campo profesional y académico. En el año de 1987 la Oficina Internacional para la Estandarización (ISO) y la Comisición Electrotécnica Internacional (IEC), constituyeron un comité técnico conjunto con la finalidad de proponer normas internacionales en el campo de las tecnologías de la información y los equipos denominado ISO/IEC.

En 1985 se inició el desarrollo la norma internacional ISO/IEC y fue publicada en 1991 como “ISO/IEC 9126:1991: Tecnología de la Información – Evaluación del Producto Software – Características de la Calidad y Guía para su Aplicación”. Para ello usaron como base para la definición de las características el concepto de calidad que posteriormente aparecería en la norma ISO 8402 y que está basada en las necesidades del usuario. Esta norma constituyó el primer esfuerzo internacional para unificar y uniformizar los términos de calidad referido al producto software y proponer una estructura basada en características y sub-características de calidad.

En 1994, se determina la revisión de la norma ISO/IEC 9126 debido a que se estaban desarrollando normas internacionales en el área de evaluación de la calidad de productos. Como resultado de la revisión, se producen dos series de normas la una ISO/IEC 9126 referida al modelo de calidad del producto software y la ISO/IEC 14598 referida a la evaluación de la calidad del producto. La publicación completa de ambas series, se iniciaron en julio de 1998 y concluyeron en abril de 2004, con 4 normas en las serie 9126 y 6 normas en la serie 14598. Una nueva propuesta de calidad de producto se plantea en 1999 y se aprueba en el 2000, se denomina proyecto SquaRE (Software product Quality REquirements) con la idea de proponer un nuevo marco de referencia para el tema de calidad de producto software, pero esta vez orientándose a la calidad del producto como resultado de un proceso, esta serie de normas tienen la numeración 25000 y aún está en construcción.

Cada una de estas normas está dividida en características y sub-características internas, externas y de usabilidad que hacen posible definir las métricas asociadas a cada una de estas y el tipo de pruebas que se deben llevar a cabo en la evaluación de software.

(2)

LA CALIDAD DEL SOFTWARE

El producto software es un componente presente en gran cantidad de actividades y su correcta operación es crítica para el éxito del negocio, en este contexto el desarrollo o selección de productos software de gran calidad es de suma importancia. Una especificación y evaluación detallada de la calidad del producto software es un factor clave para asegurar la calidad adecuada, esto solo se puede lograr definiendo las características de calidad y teniendo en cuenta el propósito del uso del producto software, por eso es importante que cada una de las características consideradas importantes de la calidad sea especificada y evaluada utilizando métricas validadas o de amplia aceptación.

En la norma ISO/IEC 14598 se define al modelo de calidad como un conjunto de características que conforman la base para especificar requerimientos de calidad y evaluar la calidad, en la siguiente figura se muestra un modelo de calidad de dos niveles para las características y sub-características y en el tercer nivel presenta las métricas; estas últimas se pueden obtener de la medición de los diversos atributos que tiene el producto y que influyen en cada sub-característica.

Figura 1: Esquema general de un modelo de calidad del software

Garvin presenta un enfoque interesante y muy influyente, con cinco visiones de la calidad:

 La visión trascendental que puede ser reconocida pero no definida

 La visión del usuario como la adecuación al propósito del usuario

 La visión del productor como conformidad con la especificación

 La visión del producto basada en las características observables del producto

(3)

 La visión basada en el valor que el cliente está dispuesto a pagar por ella. El modelo ISO/IEC 9126 presenta el concepto de calidad en uso, la calidad externa y la calidad interna que corresponden con la visión del usuario, del productor y del producto. La siguiente figura representa el ciclo de vida de la calidad que muestra la influencia o dependencia entre los distintos enfoques de calidad interna, externa y en uso.

Figura 2: Ciclo de vida de la calidad

La calidad también puede ser definida como parte del ciclo de vida de desarrollo de software, la siguiente figura muestra que las necesidades de calidad del usuario sobre el producto de software, contribuyen a especificar los requerimientos de calidad externa y estos a su vez los requerimientos de calidad interna.

El cumplimiento de los requisitos de calidad interna se comprobarán en un proceso de verificación que permitirá medirlo, el cumplimiento de requisitos de calidad externa se comprobarán en un proceso de validación que permitirá medirlo y finalmente la satisfacción de las necesidades de la calidad del producto se comprobarán en un proceso de evaluación que permitirá medir la calidad en uso.

(4)

Figura 3: Calidad en el ciclo de vida del software

CALIDAD DEL PRODUCTO SOFTWARE – NORMA ISO/IEC 9126

La norma ISO/IEC 9126 presentan dos modelos de calidad, el primero referido a la calidad interna y externa y el segundo modelo referido a la calidad en uso.

Calidad interna y externa

La norma ISO/IEC 9126 define la calidad interna como la totalidad de las características del producto software desde una perspectiva interna, es medida y evaluada en base a los requerimientos de calidad interna. La calidad externa se define como la totalidad de las características del producto software desde una perspectiva externa, es medida y evaluada mientras se prueba en un ambiente simulado, con datos simulados y usando métricas externas.

En la siguiente figura se representa el modelo de calidad externa e interna, se muestra un conjunto de seis características: funcionalidad, fiabilidad, usabilidad, eficiencia, facilidad de mantenimiento y portabilidad.

(5)

Figura 4: Modelo de calidad interna y externa del producto software

En la siguiente tabla se muestra las seis características y las definiciones de cada una de ellas.

Tabla 1: Características de la calidad interna y externa ISO/IEC 9126.

Característica Definición

Funcionalidad Capacidad del producto software para proveer las funciones que satisfacen las necesidades explícitas e implícitas cuando el software se utiliza bajo condiciones específicas.

Fiabilidad Capacidad del producto software para mantener un nivel

especificado de funcionamiento cuando se está utilizando bajo condiciones especificadas

Usabilidad Capacidad del producto software de ser entendido, aprendido

usado y atractivo al usuario, cuando es usado bajo las condiciones especificadas

Eficiencia Capacidad del producto software para proveer un desempeño

apropiado, de acuerdo a la cantidad de recursos utilizados y bajo las condiciones planteadas

Facilidad de

mantenimiento

Capacidad del producto software para ser modificado. Las modificaciones pueden incluir correcciones, mejoras o adaptación del software a cambios en el entorno, en requerimientos y especificaciones funcionales

Portabilidad Capacidad del producto software de ser trasladado de un entorno

(6)

Calidad en uso

La norma ISO/IEC 9126 define la calidad en uso como la perspectiva del usuario de la calidad del producto software cuando éste es usado en un ambiente específico y un contexto de uso específico. Éste mide la extensión para la cual los usuarios pueden conseguir sus metas en un ambiente particular, en vez de medir las propiedades del software en sí mismo.

La siguiente figura representa el modelo de la calidad en uso que muestra un conjunto de 4 características: efectividad, productividad, integridad, y satisfacción.

Figura 5: Modelo de calidad del producto software para la calidad en uso.

La definición de cada una de las características de la calidad en uso se muestra en la siguiente tabla:

Tabla 2: Características de la calidad en uso ISO/IEC 9126

Característica Definición

Efectividad La capacidad del producto software para permitir a los usuarios lograr las metas especificadas con precisión y completitud en un contexto de uso específico

Productividad La capacidad del producto software para permitir a los usuarios emplear cantidades apropiadas de recursos en relación a la efectividad lograda en un contexto de uso específico

Integridad La capacidad del producto software para lograr niveles aceptables de riesgo de daño a las personas, negocio, software, propiedad o entorno en un contexto de uso específico

Satisfacción La capacidad del producto software para satisfacer a los usuarios en un contexto de uso específico

Las métricas de calidad del producto se asocian y aplican a los diversos atributos del producto, y permiten determinar posteriormente los niveles de calidad del producto.

Las métricas que se pueden aplicar de acuerdo a los atributos están definidas en las normas ISO/IEC 9126 – 2 para el caso de la calidad externa, la ISO/IEC 9126 – 3 para el caso de la calidad interna y la ISO/IEC 9126 – 4 para el caso de la

(7)

calidad en uso. En todos los casos, las normas señalan que las métricas presentadas no pretenden ser exhaustivas y completas, ni limita la posibilidad de usar otras métricas de acuerdo a las necesidades del usuario.

Las métricas internas pueden ser aplicadas durante el diseño y la codificación del producto software no ejecutable y proporciona a todos los involucrados el beneficio de conocer la calidad del producto durante su construcción y tomar decisiones sobre esa base para conseguir el producto con la calidad esperada. Las métricas externas pueden ser aplicadas durante la prueba y operación del producto software ejecutable y proporciona a todos los involucrados el beneficio de conocer la calidad del producto software durante las pruebas u operación y saber si cumple con la calidad esperada.

Las métricas de calidad en uso miden el nivel en que un producto software cumple con las necesidades específicas de los usuarios en un contexto de uso determinado por los escenarios en los que el usuario realiza sus tareas.

EVALUACIÓN DE LA CALIDAD DEL PRODUCTO SOFTWARE – NORMA ISO/IEC 14598

El estándar ISO/IEC 14598 es usado como base metodológica para la evaluación del producto software, pero no solo del producto sino también es necesario considerar mediciones en el proceso empleado para diseñar, desarrollar, probar, y controlar el producto. En este sentido, la norma ISO/IEC 14598 ofrece una visión general y explica la relación entre su serie y el modelo de calidad de la ISO/IEC 9126, define los términos técnicos utilizados, contiene requisitos generales para la especificación y evaluación de la calidad del software, y brinda la claridad de los conceptos generales. Además provee un marco de trabajo para evaluar la calidad de todos los tipos de productos software y establec e requisitos para los métodos de medición y evaluación de los productos de software.

La serie de normas ISO/IEC 14598 proporciona un marco de trabajo para evaluar la calidad de todos los tipos de productos de software e indica los requisitos para los métodos de medición y para el proceso de evaluación, esta norma consta de seis partes que describen los requisitos del proceso de evaluación en tres situaciones diferentes:

 Requisitos para desarrolladores (parte 3)

 Requisitos para compradores (parte 4)

(8)

Figura 6: Norma ISO/IEC 14598

ISO/IEC 14598 – Parte 1: Visión General: Básicamente provee una visión general de las otras cinco partes y explica la relación entre la evaluación del producto software y el modelo de calidad definido en la ISO/IEC 9126. También hace la presentación del proceso de evaluación desglosado en los siguientes pasos: Establecer los requerimientos de evaluación, especificar la evaluación, planear la evaluación, Ejecutar la evaluación.

ISO/IEC 14598 – Parte 2: Planificación y Gestión: Esta parte contiene los requerimientos y las guías para las funciones de soporte tales como el planeamiento y gestión para la evaluación del producto del software. Aquí se planifican las mediciones y las actividades de evaluación, específicamente se incluye: Preparación de las políticas, definición de objetivos organizacional es y de mejora, identificación de la tecnología, asignación de responsabilidades, Identificación e implementación de técnicas de evaluación para software desarrollado y adquirido, entrenamiento en tecnología, recopilación de datos y herramientas, comparación y administración de mejoras dentro de la organización. ISO/IEC 14598 – Parte 3. El Proceso para desarrolladores: Esta parte provee los requerimientos y las recomendaciones para la evaluación del producto software cuando la evaluación es conducida en paralelo con el desarrollo y llevada a cabo por el desarrollador. Esta parte se enfoca en el uso de indicadores que pueden predecir la calidad final del producto midiendo los productos intermedios que se desarrollan durante el ciclo de vida. Aquí se cubre la planeación y evaluación de mediciones internas y externas con el fin de asegurar de que la calidad del producto sea incorporada en la fase de desarrollo.

(9)

Una vez identificadas las características fundamentales de calidad y el marco de trabajo, deben ser definidas las etapas siguientes:

Organización, donde están los aspectos organizacionales de desarrollo y de soporte deben formar parte de todo el sistema de calidad y del plan de mediciones.

Planeamiento del Proyecto y requerimientos de Calidad, donde está el desarrollo y el ciclo de vida de soporte deben ser establecidos y documentados durante el plan de calidad o en otros documentos, aquí es indispensable verificar que el productor y las medidas de control requeridas sean técnicamente factibles, razonables y alcanzables.

Especificaciones, donde el desarrollador realiza un mapeo de los requerimientos internos y externos de calidad, con relación a las especificaciones, los requerimientos de mediciones resultantes de esta fase deben ser un tipo de mapeo entre las especificaciones de requerimientos, requerimientos externos de calidad, requerimientos internos correspondientes de calidad y atributos especificados junto a sus escalas de medición y valores objetivos que contribuyan a la cuantificación de la calidad del software, todo esto puede enfocarse por proyecto o por producto.

Diseño y planeamiento, donde estás los procedimientos requeridos para el análisis y recopilación de datos necesitan ser definidos, el plan debe incluir: Cronogramas, asignación de responsabilidades, uso de herramientas, bases de datos y entrenamiento especializado requerido, aquí se especifica la precisión de las mediciones y técnicas estadísticas. También debe considerarse como los resultados de las mediciones impactarán en el desarrollo, los planes de contingencia y de mejora.

Montaje y pruebas, aquí las mediciones actuales son recolectadas, se realizan análisis apropiados y se toman acciones necesarias, en cada fase del desarrollo debe procurarse lograr un montaje enfocado a las características internas y externas de calidad que definan la calidad global del producto y que puedan ser validados por los resultados de las pruebas y la experiencia del usuario.

ISO/IEC 14598 – Parte 4. El proceso para compradores: Esta parte provee los requerimientos y las recomendaciones para que la evaluación del producto software sea conducida en función a los compradores que planean adquirir o re-usar un producto de software existente o pre-desarrollado. Los que adquieren el producto pueden comprar paquetes completos ya sea desarrollados según ciertas especificaciones o pre-desarrollados para un mercado más general. Los compradores también podrían ser desarrolladores que desean integrar productos estándar en sus propios diseños de software, o de desarrolladores buscando herramientas específicas de software.

(10)

Al respecto se plantean cuatro etapas:

Establecimiento de los requerimientos, donde se establece el alcance de la evaluación. Los requerimientos para la calidad del software definidos en la ISO/IEC 9126 pueden ser usados como punto de partida pero otros aspectos como el costo y el de cumplimiento a regulaciones deberán ser también considerados, también deben considerarse el tiempo de la evaluación para que sea consistente con los objetivos.

Especificación de la evaluación, durante la redacción de las especificaciones, debe considerarse aspectos tales como: Los requerimientos de calidad a ser evaluados correlacionados con la calidad en uso y métricas externas con prioridades además de un umbral de aceptación definido, el alcance y lo que cubren los casos de prueba donde sean aplicables referencias a módulos de evaluación, los métodos de recolección de mediciones, información requerida y métodos de análisis.

Diseño de la Evaluación, Aquí debe considerarse que la evaluación dependerá del tipo de software que será evaluado. Un plan de evaluación necesita considerar: Necesidades de acceso a la documentación del producto, herramientas de desarrollo y personal, requerimientos en costos y c onocimientos, cronograma de evaluación y arreglos de contingencia, y criterio para decisiones de evaluación, métodos y herramientas de reporte, procedimientos para la validación y estandarización sobre proyectos futuros.

Ejecución de la Evaluación, Aquí se hace el registro documental del seguimiento del proceso evaluativo, puede incluir: Los resultados mismos y la trazabilidad del producto así como información de configuración, registros de análisis, resultados y decisiones, problemas, limitaciones en las mediciones y cualquier compromiso con relación a los objetivos originales, conclusiones sobre los resultados de la evaluación pero también sobre los métodos empleados.

ISO/IEC 14598 - Parte 5: El Proceso para Evaluadores: Esta parte provee los requerimientos y recomendaciones para la evaluación del producto software cuando la evaluación es conducida por evaluadores independientes. Aquí se debe tener en cuenta los requerimientos de evaluación, las especificaciones de evaluación, el diseño de la evaluación, las actividades de evaluación y el reporte de evaluación.

ISO/IEC 14598 - Parte 6: Documentación de los Módulos de Evaluación: Esta parte provee las guías para la documentación del módulo de evaluación. Estos módulos representan la especificación del modelo de calidad y las correspondientes métricas internas y externas que serán aplicadas a una evaluación en particular. Incluye métodos y técnicas de evaluación más las mediciones actuales resultantes de su aplicación. También se considera la

(11)

administración efectiva de complejidades inherentes a las cuestiones de medición. Los módulos de la evaluación son componentes claves de la ISO/IEC 14598-6 y son usados para proveer un formato consistente y repetible de reporte. Dichos módulos proveen: Visibilidad de la información necesitada para cuadrar con requerimientos específicos de calidad, Documentación de las interfaces necesarias con herramientas de medición.

CALIDAD DEL PRODUCTO SOFTWARE – NORMA ISO/IEC 25000 (SquaRE) El proyecto SquaRE viene avanzando desde el año 2000, este proyecto pretende establecer un modelo para la especificación y evaluación de un producto software, esto ha llevado a reordenar la distribución de normas internacionales ISO/IEC 9126 e ISO/IEC 14598 y considerar otras normas para incluirlas dentro de su desarrollo.

En la siguiente figura se puede apreciar la nueva arquitectura de la serie de normas 25000.

Figura 7: Arquitectura de la serie de normas ISO/IEC 25000

Esta nueva serie de normas denominada SQuaRE o ISO/IEC

25000:2005 (Software Quality Requirements and Evaluation) se basa en ISO/IEC 9126 y en ISO/IEC 14598 y tiene como principal objetivo la coordinación y armonización del contenido de ISO/IEC 9126 y de ISO 15939:2002 (Measurement Information Model), donde la norma ISO 15939 tiene un modelo de información que ayuda a determinar que se debe especificar durante la planificación, performance y evaluación de la medición.

Esta integración de las normas ISO/IEC 9126 e ISO 15939 permiten plantear un proceso de 4 pasos:

(12)

La identificación de los requerimientos relacionados a la calidad del producto, es decir, seleccionar la parte del modelo de calidad (ISO/IEC 9126-n) que resulta relevante para la evaluación de calidad

La identificación del contexto de interpretación, es decir, selección de los valores de referencia y determinación de los target especificados en un contexto determinado

El uso de las medidas derivadas de la etapa de preparación de los datos La comparación y análisis de los resultados, obtenidos respecto de un conjunto de valores de referencia.

La familia de estándares SQuaRE incluye 14 documentos agrupados en 5 tópicos: Administración de la Calidad – 2500n, Modelo de Calidad – 2501n, Medidas de Calidad – 2502n, Requerimientos de Calidad – 2503n y Evaluación de la Calidad – 2504n.

Administración de la Calidad:Abarca la Guía para SquaRE y Planificación y Administración.

Modelo de Calidad:Describe el modelo de calidad interno / externo y la calidad en uso y presenta características y subcaracterísticas.

Medidas de Calidad: Medición de primitivas, Medidas para la calidad interna, Medidas para la calidad externa y Medidas para la calidad en uso.

Requerimientos de Calidad: Permite habilitar la calidad del software a ser especificado en términos de requerimientos de calidad durante todo el ciclo de vida de un proyecto de software o adquisición, mantenimiento y operación.

Evaluación de la Calidad:Evaluación de la Calidad, Proceso para desarrolladores, Proceso para compradores, Proceso para evaluadores y Documentación del módulo de evaluación.

La siguiente figura muestra el modelo de referencia SquaRE y la reestructuración de los contenidos, se alinea a otros documentos existentes, y se amplía aspectos que las normas anteriores, sólo se señala a manera de información.

(13)

Figura 8: Modelo de referencia para la arquitectura Square

MODELOS DEMEJORA DE PROCESOS DE SOFTWARE

La mejora de proceso software es un mecanismo de mejora continua de la calidad que consiste en aplicar de forma consistente las prácticas que proporcionan buenos resultados y eliminar o cambiar aquellas prácticas que causan problemas. Para aplicar la mejora de proceso software, es necesario tener claro tres aspectos fundamentales: Selección del modelo de mejora del proceso a utilizar, Selección del modelo de proceso a utilizar como referencia, Selección del método a utilizar en la etapa de evaluación.

A continuación se menciona algunos modelos de mejora continua del proceso software, y los diferentes métodos de evaluación en el mundo:

Estados Unidos

En noviembre de 1986, el Instituto de Ingeniería del Software (Software Engineering Institute, SEI) de Pittsburgh, ante el requerimiento presentado por parte del Departamento de Defensa de los Estados Unidos de un modelo que pudiera valorar la capacidad de sus contratistas software, empezó a desarrollar un modelo sobre la madurez del proceso software. En septiembre de 1987, el SEI publicó el primer borrador del modelo de madurez del proceso software y un cuestionario asociado con respuestas del tipo “si” o “no” que no recogen diferentes niveles de cumplimiento sobre los aspectos tratados.

(14)

Este modelo y el cuestionario culminaron en agosto de 1991 en la versión 1.0 del Modelo de Madurez de Capacidad para el Software (Capahility Maturity Model, CMM). Utilizando este modelo como base, el SEI comercializó dos métodos para determinar la madurez del proceso software de una empresa: Evaluación del Proceso Software y Valoración de la Capacidad Software.

La versión 1.1 del CMM publicó en febrero de 1993 junto con la actualización del método SCE (v.2.0) para que estuviese alineado con la versión 1.1 del CMM. Muchas empresas han modificado el método SPA para alinearlo con la versión 1.1 del CMM; una de estas empresas ha sido el Instituto para la Mejora del Proceso Software que ha propuesto el método de Evaluación Enfocado en la Acción. En mayo de 1995, el SEI actualizó el SPA, denominándose método de Evaluación basada en el CMM para la Mejora Interna del Proceso v.1.0 (CMM-Based Appraisal for Internal Process Improvemnent, CBA IPI). Se generaron nuevas versiones más consistentes del CBA IPI y de SCE en abril de 1996 donde se utilizan aproximaciones comunes para interpretar el CMM y para recoger y analizar los datos. Actualmente, se encuentra disponible el CMMI, que recoge aspectos tanto del CMM como de ISO/IEC 15504.

Unión Europea

En 1988, la Comisión de la Comunidad Europea comenzó a realizar un estudio sobre el comportamiento de su principal programa de Tecnologías de la Información, el Programa Estratégico Europeo para la Investigación en Tecnologías de la Información descubriéndose que la transferencia de tecnología en el área particular de la ingeniería del software no había tenido el éxito esperado a diferencia de lo acaecido en otras áreas como la fabricación. Así, entre octubre de 1990 y febrero de 1993, la CEC desarrolló un proyecto ESPRIT de investigación denominado BOOTSTRAP para dotar a Europa de un método de evaluación y mejora del proceso software. Este proyecto fue uno de los pioneros en Europa sobre mejora del proceso software (European System and Software Iniciative, ESSI). Se desarrolló tomando como base el CMM, la serie de estándares lSO 9000 y el modelo genérico de proceso, PSS 005, de la Agencia Espacial Europea. A partir de febrero de 1991, el método ha sido gestionado y desarrollado por un grupo de interés económico europeo, llamado Instituto Bootstrap, el cual publicó la versión 2.3 en septiembre de 1995 y la versión 3.0 en febrero de 1997 (con ISO/IEC 15504).

ISO/IEC

Durante 1990 y 1991, el DTI del Reino Unido patrocinó un estudio de investigación, denominado ImprovelT, para analizar los métodos de evaluación y valorar la capacidad de ingeniería del software de los contratistas potenciales. Este estudio descubrió que existían numerosos métodos de evaluación que estaban en uso o bajo desarrollo. También identificó un apoyo muy extendido por parte de las empresas al desarrollo de un método común de dominio público y, preferiblemente, respaldado por un estándar internacional.

(15)

En junio de 1991, el grupo de Estándares Internacionales para la Ingeniería del Software aprobó un período de estudio con base de ImprovelT, para investigar la necesidad y las características de un estándar de evaluación del proceso software. El informe del estudio indicaba que existía un consenso internacional sobre la necesidad y los requisitos de un estándar de evaluación del proceso software. En junio de 1992 se estableció un nuevo grupo de trabajo para desarrollar este estándar internacional que, en enero de 1993, lanzó el proyecto denominado Mejora del Proceso Software y Determinación de la Capacidad para desarrollar un estándar internacional de evaluación y mejora del proceso software.

El proyecto toma como base las mejores características de los siguientes métodos y/o modelos de evaluación: CMM, TRILLIUM, Software Technology Diagnostic (STD) y Bootstrap. El conjunto de los borradores de SPICE se publicaron como informes técnicos durante 1995; posteriormente le ha seguido un período de prueba que aún no ha finalizado. De hecho, se dice que actualmente se encuentra en fase de pruebas y sólo en el entorno de grandes empresas, sin existir todavía experimentación comercial con el método. Finalmente, en 1998 se convirtió en el estándar internacional ISO/IEC 15504 versión 3.3 de evaluación del proceso software.

Actualmente, las dos líneas, CMM e ISO 15504, han confluido en lo que se ha denominado CMMI (capability Maturity Model integration). CMMI contempla ambas visiones mediante su representación continua (perspectiva ISO) [CMMI, 2001a] y por etapas (perspectiva CMM) [CMMI, 2001b]. También se incluye un método de evaluación denominado SCAMPI [SCAMPI, 2001].

Los principales modelos de mejora del proceso software son:

Modelo IDEAL, Desarrollado por el SEI (Software Engineering Institute) Constituido por bucle continuo de 5 etapas (Initiation, Diagnosing, Estahlishing, Acting and Leveraging). La etapa inicial es el comienzo del programa de mejora. Una vez que se tiene el patrocinio y los recursos adecuados, se evalúa el estado actual de la práctica de software (diagnóstico). Posteriormente, se establecen la estrategia de implementación y los planes de acción para la mejora (establecimiento). Por último, se ejecutan los planes y las mejoras recomendadas (actuación) y se difunden (analizando las lecciones aprendidas y los resultados de la mejora, al mismo tiempo que se revisa la aproximación realizada) para el siguiente ciclo de mejora.

Modelo de mejora del proceso software desarrollado por ISPI (Institute for Software Process Improvement), donde se describen brevemente cada una de las etapas del modelo de mejora: Compromiso a la mejora del proceso software por parte de la Alta Dirección para que se involucre en el proyecto de mejora, Evaluación del proceso software para determinar cuál es el estado actual del proceso software de la compañía, es decir sus puntos fuertes y débiles, con objeto

(16)

de determinar los procesos que se van a mejorar, Infraestructura y planes para la mejora del proceso software para crear la estructura necesaria de mejora del proceso, Implantación de la mejora del proceso software para realizar las actividades definidas previamente en el plan.

Los dos modelos de proceso utilizados habitualmente en la etapa de evaluación son el Modelo de Madurez de la Capacidad (CMM) y la parte 2 del estándar ISO 15504. Como se ha indicado anteriormente, el modelo de procesos se utiliza en la etapa de evaluación con objeto de conocer cómo está el propio proceso software de la empresa con respecto a dicho modelo.

La etapa de evaluación se puede llevar a cabo desde dos puntos de vista diferentes: Enfoque de evaluación del proceso que es un enfoque colaborat ivo y su objeto es determinar las fortalezas y debilidades del proceso software de la compañía, y el enfoque de valoración de la capacidad software que se trata más bien de un enfoque auditor y su objeto es identificar qué subcontratistas cualificados podrán llevar a cabo el desarrollo software a contratar. Actualmente, con el nuevo CMMI se utiliza el método SCAMPI como método de evaluación para la mejora del proceso.

Figure

Actualización...

Referencias

Actualización...