Spice

11
SPICE: UN MARCO PARA LA EVALUACIÓN DE PROCESOS SOFTWARE Antonio de Amescua, Juan Lloréns, Ángel García Departamento de Informática Universidad Carlos III de adrid amescua @ inf!uc"m!es Resumen #ara $ue una organi%aci&n me'ore la calidad de sus productos de(e pro(ado, consistente ) fia(le para evaluar el estado de s medios para usar los resultados de la evaluaci&n como parte de un co*erente! +l pro)ecto internacional #IC+, llevado a ca(o por la o(tenido en su primera fase del pro)ecto un Informe .écnico .ipo / 1 formado por un con'unto de documentos todos ellos (a'o el título g Evaluación del Proceso Software. Como consecuencia de la ausencia de informaci&n relativa a los res #IC+ / , este artículo pretende ofrecer unavisi&n general así como descri(ir los elementos principales del mismo! Palabras Clave #IC+, e'ora del proceso soft6are, +valuaci&n del proceso soft6ar proceso del suministrador! 1. Introducción +n Junio de 1771 el comité I -8I+C J.C18 C9 apro(& un es investigara las necesidades ) re$uerimientos para un estándar de e soft6are! Un a:o más tarde, se o(tuvo como conclusi&n $ue internacional para dic*o estándar! +n Junio de 177" arranc& el pro o('etivos de< a5 a)udar al pro)ecto de estandari%aci&n, en su etapa preparatoria (orradores iniciales de tra(a'o! (5 reali%ar las prue(as de usuario, o(teniendo datos de la e;peri (ase de la revisi&n del +stándar antes de emitirlo como Intern c5 crear el conocimiento del mercado ) evolucionar el estándar! +l pro)ecto #IC+ *a logrado )a el primer o('etivo! e *a o(tenido .)pe /? $ue consta de las partes $ue muestra la figura 1! +l marco proporciona un enfo$ue estructurado de la evaluac soft6are, mediante el cual< se anima a la auto@evaluaci&n 1 Desde un punto de vista oficial la I - 12234 de(ería ser el término a emple esperar $ue se siga denominando #IC+! / Un punto importante es $ue los documentos de la I - 12234 s&lo se pueden o través de los canales de I - o a través de un miem(ro de una organi%aci&n $ue I -, como por e'emplo el +uropean oft6are Institute! 1

description

spice

Transcript of Spice

SPICE: UN MARCO PARA LA EVALUACN DE PROCESOS SOFTWARE

SPICE: UN MARCO PARA LA EVALUACIN DE PROCESOS SOFTWARE

Antonio de Amescua, Juan Llorns, ngel Garca

Departamento de Informtica

Universidad Carlos III de Madrid

amescua(inf.uc3m.es

Resumen

Para que una organizacin mejore la calidad de sus productos debe tener un mtodo probado, consistente y fiable para evaluar el estado de sus procesos y adems, unos medios para usar los resultados de la evaluacin como parte de un programa de mejora coherente. El proyecto internacional SPICE, llevado a cabo por la organizacin ISO, ha obtenido en su primera fase del proyecto un Informe Tcnico Tipo 2 (ISO 15504) formado por un conjunto de documentos todos ellos bajo el ttulo general de Evaluacin del Proceso Software.Como consecuencia de la ausencia de informacin relativa a los resultados del proyecto SPICE, este artculo pretende ofrecer una visin general as como describir los elementos principales del mismo.

Palabras Clave

SPICE, Mejora del proceso software, Evaluacin del proceso software, Capacidad del proceso del suministrador.

1. Introduccin

En Junio de 1991 el comit ISO/IEC JTC1/SC7 aprob un estudio para que se investigara las necesidades y requerimientos para un estndar de evaluacin de procesos software. Un ao ms tarde, se obtuvo como conclusin que exista un consenso internacional para dicho estndar. En Junio de 1993 arranc el proyecto SPICE con los objetivos de:

a) ayudar al proyecto de estandarizacin, en su etapa preparatoria, para desarrollar los borradores iniciales de trabajo.

b) realizar las pruebas de usuario, obteniendo datos de la experiencia que constituirn la base de la revisin del Estndar antes de emitirlo como International Standard.

c) crear el conocimiento del mercado y evolucionar el estndar.

El proyecto SPICE ha logrado ya el primer objetivo. Se ha obtenido el Technical Report Type 2 que consta de las partes que muestra la figura 1.

El marco proporciona un enfoque estructurado de la evaluacin de los procesos software, mediante el cual:

se anima a la auto-evaluacin;

se aborda la idoneidad de la gestin de los procesos evaluados;

tiene en cuenta el contexto en el que operan los procesos evaluados;

produce un conjunto de valores del proceso (perfil del proceso) en vez de un resultado (valido/no valido).

Este marco es vlido para todos los dominios de aplicaciones y tamaos de organizacin.

Figura 1 Informe Tcnico: Componentes y las relaciones entre ellos.

El uso de la evaluacin del proceso en una organizacin debera estimular principalmente a:

a) una cultura de mejora constante y al establecimiento de los mecanismos adecuados para soportar y mantener tal cultura;

b) la ingeniera de procesos para cumplir los requisitos del negocio;

c) la optimizacin de recursos.

Como resultado se obtendrn organizaciones con alta sensibilidad hacia el cliente y hacia los requisitos del mercado, minimizando los costes de sus productos y logrando una satisfaccin del usuario final.

El Informe Tcnico ha sido diseado para satisfacer a tres usuarios diferentes: evaluadores, clientes y suministradores.

Para evaluadores:un marco que define todos los aspectos para dirigir evaluaciones.

Para clientes:un medio para determinar la capacidad actual y potencial de los procesos software del suministrador. Estos obtendrn los beneficios de:

a) reducir incertidumbre para seleccionar suministradores software, al conocer los riesgos asociados con el contratista;

b) dotar de controles adecuados para contener el riesgo;

c) suministrar una mtrica para elegir entre coste estimado del proyecto y capacidad de los suministradores que compiten.

Para suministradores:un medio para determinar la capacidad actual y potencial de sus propios procesos software;

un instrumento para definir reas y prioridades para la mejora del proceso software;

un marco que defina un mapa de caminos para la mejora del proceso software.

Los beneficios principales de un enfoque estandarizado para la evaluacin del proceso son:

1. proporcionar un modelo para la mejora del proceso pblico y compartido;

2. conducir a un entendimiento comn del uso de la evaluacin del proceso para la mejora del proceso y la evaluacin de la capacidad;

3. facilitar la evaluacin de la capacidad en un concurso abierto;

4. realizar una revisin regular y controlada sobre la experiencia de la utilizacin;

5. ser cambiado nicamente mediante el consenso internacional;

6. animar la armonizacin de los esquemas existentes.

2. Visin General

El marco para la evaluacin de procesos software se puede utilizar por organizaciones implicadas en la planificacin, gestin, monitorizacin, control y mejora de la adquisicin, suministro, desarrollo, operacin, evolucin y soporte del software.

La evaluacin del proceso examina los procesos utilizados por una organizacin para determinar si son efectivos para conseguir sus objetivos. Los resultados de la evaluacin se pueden utilizar para conducir las actividades de mejora o para la determinacin de la capacidad del proceso.

Figura 2: Contexto para la utilizacin de la Evaluacin del Proceso SoftwareLa figura 2 muestra la relacin entre evaluacin del proceso y sus dos principales contextos para su utilizacin: la mejora del proceso y la determinacin de la capacidad del proceso.

3. Elementos principales de SPICE

Los elementos esenciales para comprender SPICE son los siguientes:

3.1 Modelo de Referencia

Los resultados de la evaluacin del proceso se describe en un modelo de dos dimensiones: Dimensin del proceso y Dimensin de la capacidad. Esto es lo que se denomina arquitectura del modelo de referencia.

Dimensin del proceso: que est caracterizado por los objetivos del proceso que constituye los elementos fundamentales a medir;

Dimensin de la capacidad del proceso: que est caracterizado por una serie de atributos de proceso, aplicables a cualquier proceso, que representan caractersticas necesarias para gestionar y mejorar su capacidad de realizacin.

Dimensin del proceso: El modelo de referencia agrupa los procesos en categora de procesos. Estos procesos se corresponden con los definidos en ISO 12207 Software Life-Cycle Process. (tabla 1). La descripcin de cada proceso consta de:

una declaracin del objetivo del proceso describiendo a un alto nivel los objetivos generales del proceso, y tambin una descripcin en trminos genricos de los probables resultados de una implementacin efectiva del proceso; y

una o ms observaciones proporcionando mayor informacin sobre los procesos y su relacin a los procesos definidos en ISO 12207 y a otros procesos en este modelo de referencia.

Dimensin de la capacidad: Est formada por seis niveles de capacidad y nueve atributos de proceso. Un nivel de capacidad est formado por uno o varios atributos que conjuntamente proporcionan una mejora importante en la capacidad de realizar un proceso. Los niveles proporcionan una manera racional de progresar en la mejora de la capacidad de cualquier proceso.

El modelo de referencia por s solo no se puede usar como base para realizar evaluaciones fiables y consistentes de la capacidad de proceso puesto que no es suficiente el nivel de detalle. Se debe soportar con un conjunto de indicadores comprensibles del rendimiento y capacidad del proceso (Parte 5 del Informe Tcnico).

Categora de ProcesoProceso

IDNombreIDNombre

CUSCliente-Suministrador

CUS.1Adquirir software

CUS.2Gestionar las necesidades del cliente

CUS.3Suministrar software

CUS.4Operar software

CUS.5Proporcionar servicio al cliente

ENGIngeniera

ENG.1Desarrollar los requisitos y diseo del sistema

ENG.2Desarrollar los requisitos software

ENG.3Desarrollar el diseo software

ENG.4Implementar el diseo software

ENG.5Integrar y probar el software

ENG.6Integrar y probar el sistema

ENG.7Mantener el sistema y el software

SUPSoporte

SUP.1Desarrollar documentacin

SUP.2Realizar la gestin de la configuracin

SUP.3Realizar el aseguramineto de la calidad

SUP.4Realizar la verificacin del producto

SUP.5Realizar la validacin del producto

SUP.6Realizar revisiones conjuntas

SUP.7Realizar auditorias

SUP.8Realizar resolucin de problemas

MANGestin

MAN.1Gestionar el proyecto

MAN.2Gestionar la calidad

MAN.3Gestionar los riesgos

MAN.4Gestionar los subcontratistas

ORGOrganizacin

ORG.1Ingeniera del negocio

ORG.2Definir el proceso

ORG.3Mejorar el proceso

ORG.4Proporcionar recursos humanos con habilidades

ORG.5Proporcionar la infraestructura de ingeniera del software

Tabla 1 Categoras de procesos y procesos3.2 Niveles de Capacidad y Atributos de Proceso

La figura 3 sintetiza la dimensin de la capacidad de proceso, indicando los atributos de proceso (PA) de cada nivel de capacidad. A continuacin, se describe cada nivel.

Figura 3 Dimensin de la Capacidad de Proceso

Nivel 0: Proceso Incompleto

El proceso no est implementado o no logra conseguir su objetivo. No hay atributos en este nivel.

Nivel 1: Proceso Realizado

El propsito implementado logra su objetivo definido.

PA 1.1: Rendimiento del Proceso

El proceso emplea un conjunto de prcticas, que son iniciadas por unos productos identificables y produce unos productos identificables, que satisfacen el propsito del proceso.

Nivel 2: Proceso Gestionado

El proceso Realizado entrega productos con una calidad aceptable en un margen de tiempo y necesidades de recursos definidos.

PA 2.1: Gestin del Rendimiento

La ejecucin del proceso se gestiona para producir productos en un plazo de tiempo y con unos requisitos preestablecidos.

PA 2.2: Gestin del Producto

La ejecucin del proceso se gestiona para producir productos que se documentan y se controlan satisfaciendo sus requisitos funcionales y no funcionales, de acuerdo con los objetivos de calidad del producto del proceso.

Nivel 3: Proceso Establecido

El proceso Gestionado se realiza utilizando un proceso definido basado en los principios de la ingeniera del software.

PA 3.1: Definicin del Proceso

La ejecucin del proceso utiliza una definicin de proceso basada en un proceso estndar, que permite contribuir a los objetivos de negocio definidos en la organizacin.

PA 3.2: Recursos del Proceso

La ejecucin del proceso utiliza eficazmente recursos humanos con las habilidades adecuadas y una infraestructura de proceso que contribuyen a los objetivos de negocio definidos de la organizacin.

Nivel 4: Proceso Previsible

El proceso Establecido se realiza constantemente dentro de los lmites de control definidos para lograr sus objetivos.

PA 4.1: Medicin del Proceso

La ejecucin del proceso se soporta por los objetivos y mediciones que son utilizadas para asegurar que la implementacin del proceso contribuye a la consecucin de los objetivos.

PA 4.2: Control del Proceso

La ejecucin del proceso se controla a travs de la recopilacin y anlisis de mediciones para controlar y corregir, donde sea necesario, el rendimiento del proceso para lograr fiablemente los objetivos del proceso definidos.

Nivel 5: Proceso Optimizando

El proceso Previsible optimiza su rendimiento para satisfacer las necesidades de negocio actuales y futuras y logra repetidamente satisfacer sus objetivos de negocio definidos.

PA 5.1: Cambio de Proceso

Los cambios a la definicin, gestin y rendimiento del proceso son controlados mejor para conseguir los objetivos de negocio de la organizacin.

PA 5.2: Mejora Continua

Los cambios a los procesos se identifican y se implementan para asegurar la mejora continua en el cumplimiento de los objetivos del negocio definidos de la organizacin.

3.3 Atributos del Proceso

Un atributo del proceso representa una caracterstica medible de cualquier proceso. Los atributos de capacidad del proceso son los elementos bsicos del esquema de evaluacin.

Cada atributo se evala entre un rango de cuatro puntos:

N No conseguidoNo hay evidencia de que se consigue el atributo definido.

P Conseguido parcialmenteSe ha conseguido algo el atributo definido.

L Bastante conseguidoSe ha conseguido significativamente el atributo definido.

F Conseguido completamenteSe ha conseguido totalmente el atributo definido.

El nivel de capacidad se derivar de los valores de los atributos de los procesos.

3.4 Perfil del Proceso

Una evaluacin SPICE se realiza con el propsito de obtener un perfil de cada uno de los procesos (o instancias de proceso) dentro del alcance de la evaluacin. Este perfil muestra la capacidad de la unidad organizativa para lograr el objetivo del proceso.

La evaluacin examina a un nmero de instancias de proceso con el fin de obtener los datos necesarios para producir un perfil del proceso. Una instancia de proceso es una implementacin particular de un proceso. Por ejemplo, para cada vez que se realiza la prueba de un mdulo del sistema, habr una instancia de Realizar Prueba de Unidad. Las instancias de proceso examinadas durante la evaluacin tiene que ser cuidadosamente seleccionadas para asegurar que la evaluacin alcanzar su propsito y cubrir su alcance.

Se evala cada instancia de proceso examinando sus atributos, y obteniendo como consecuencia un valor. Estos valores son decididos mediante el anlisis de los indicadores asociados y juzgando su existencia. Las decisiones sobre la existencia de indicadores estn basados en una objetiva evidencia, la cual es registrada para soportar y justificar los resultados de la evaluacin.

El resultado bsico de la evaluacin es un conjunto de valores de los atributos de cada instancia de proceso. stos se pueden combinar para producir un nivel de capacidad para la instancia del proceso. Los valores para las distintas instancias del mismo proceso se pueden combinar para producir un perfil del proceso como unidad.

Figura 4 rbol de Evaluacin

Se realizan dos tipos de juicio durante la evaluacin de una instancia de un proceso. El primero es para ver si el proceso se realiz, para ello se examina si las prcticas y los tipos de productos esperados existen. Este juicio es la base del valor del atributo de Rendimiento del Proceso, examinando si la instancia est al nivel No realizado, o a uno de los niveles de mayor de capacidad.

El segundo juicio determina cmo de bien se gestiona ese proceso. Se examina la existencia de diferentes prcticas y productos con objeto de realizar los juicios sobre los diferentes atributos de capacidad. Se registran, para soportar los valores de cada atributo, la evidencia sobre la existencia de las prcticas y de sus caractersticas y productos.

Los valores de los atributos se sitan en una escala de cuatro niveles de consecucin: no (N), parcialmente (P), en su mayora (L), completamente (F). La instancia del proceso se da en uno de estos valores segn el logro de cada uno de los nueve atributos. Este conjunto formado por los nueve valores de atributos es el perfil de la instancia del proceso.

Nivel de AtributoAtributoValor de la Instancia AValor de la Instancia B

55.2

5.1NNNN

44.2

4.1PPNN

33.2

3.1LLPP

22.2

2.1LLLL

1

1.1LF

Nivel de Capacidad =12

Figura 5 Perfil de la Instancia del Proceso

Una vez obtenidos los valores de los atributos se puede calcular un nivel de capacidad para la instancia del proceso. Los atributos estn asociados con los niveles de capacidad. Para conseguir un nivel de capacidad, una instancia del proceso tiene que ser valorada como conseguida completamente para todos los atributos asociados con los niveles inferiores, y conseguida en su mayora o completamente por los atributos de ese nivel.Los valores para las distintas instancias de un proceso se puede combinar para producir los perfiles de distribucin de frecuencias para el proceso general. Para cada atributo se puede producir un perfil de las instancias del proceso que fueron valoradas en cada uno de los niveles de consecucin. Se puede tambin producir un nivel que muestre el nmero (o porcentaje) de instancias del proceso en cada nivel de capacidad.

4. Ventajas y Desventajas

SPICE ofrece una base para una evaluacin muy detallada del estado actual del proceso de una organizacin. Por su gran nivel de descomposicin de los procesos e indicadores, proporciona evaluaciones objetivas y con resultados repetibles, especialmente cuando es realizada por evaluadores entrenados y cualificados. El European Software Institute (ESI) ya ofrece cursos para ello.

Al disminuir la subjetividad se consigue reducir discordias sobre los resultados de la evaluacin y a adoptar actitudes positivas de los equipos hacia la evaluacin.

Por contra se requiere un gran esfuerzo para realizar las evaluaciones y por tanto un alto coste. Las evaluaciones se pueden llevar a cabo por personal interno de tal manera que se puedan ver reducidos estos costes. Es importante tener en cuenta que la evaluacin no necesita abordarse a toda la organizacin, las evaluaciones SPICE se puede realizar nicamente en aquellos procesos que sean reas de problema.

El modelo de referencia SPICE no contiene una estrategia de mejora del proceso. Esto puede verse como positivo o negativo dependiendo de lo que se quiera.

Pero la ventaja principal es que al disponer de un estndar internacional se pueden realizar comparaciones a nivel mundial entre evaluaciones en contextos similares.

Bibliografa

ISO/IEC JTC1/SC7: Information Technology - Software Process Assessment

Part 1: Concepts and Introductory Guide.

Part 2: A Reference Model For Processes And Process Capability.

Part 3: Performing And Assessment.

Part 4: Guide To Performing Assessments.

Part 5: An Assessment Model And Indicator Guidance.

Part 6: Guide To Qualification Of Assessors.

Part 7: Guide For Use In Process Improvement

Part 8: Guide For Use In Determining Supplier Process Capability

Part 9: Vocabulary.

Introduction to Process Assessment, Jos Luis Iparragurri, European Software Institute. Madrid SEPG, 20-21 March 1997, Tutorial Materials.

Introduction to SPICE. Bob Smith. European Software Institute. The European Observatory on Software Best Practices. Madrid, 1996.

SPICE Architecture. Bob Smith. European Software Institute. The European Observatory on Software Best Practices. Madrid, 1996. FORMCHECKBOX

Proceso

Evaluacin

del Proceso

Determinacin

de la capacidad

Mejora

del Proceso

Se examina por la

Identifica la capacidad y los riesgos del

Identifica cambios al

Conduce a

Conduce a

Motiva

Consta de los procesos que directamente impactan al cliente, soportan el desarrollo y la entrega, al cliente, del software proporcionndole su correcta operacin y utilizacin.

Consta de los procesos que directamente especifican, implementan, o mantienen un sistema, el producto software y su documentacin de usuario.

Consta de los procesos que pueden ser empleados por cualquiera de los otros procesos (incluyendo los procesos de soporte) en distintos puntos del ciclo de vida del software.

Consta de los procesos que contienen prcticas de una naturaleza genrica que pueden ser utilizadas por cualquiera que gestione cualquier clase de proyecto en un ciclo de vida software.

Consta de los procesos que establecen los objetivos del negocio de la organizacin y del producto de proceso de desarrollo, y activos de recursos que, cuando son empleados por los proyectos en la organizacin, ayudarn a la misma a lograr sus objetivos de negocio.

Instancia de Proceso

Instancia de Proceso

Instancia de Proceso

Instancia de Proceso

Atributo

Atributo

Atributo

Proceso

Indicador

Indicador

Indicador

Desde un punto de vista oficial la ISO 15504 debera ser el trmino a emplear; sin embargo, es de esperar que se siga denominando SPICE.

Un punto importante es que los documentos de la ISO 15504 slo se pueden obtener oficialmente a travs de los canales de ISO o a travs de un miembro de una organizacin que sea official liason con ISO, como por ejemplo el European Software Institute.

2

_920716775.bin