modelo spice
DESCRIPTION
SPICE - Software Process Improvement and Capability DeterminationTRANSCRIPT
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADORSEDE IBARRA
ESCUELA DE INGENIERÍA
TRABAJO PARA LA MATERIA DE EVALUACIÓN DE SISTEMAS
“SPICE (Software Process Improvement and Capability Determination)”
Autor: “Jorge Bejarano”
“Ibarra – Mayo del 2013”
RESUMEN
2
Para que una organización mejore la calidad de sus productos debe tener un método
probado, consistente y fiable para evaluar el estado de sus procesos y además, unos
medios para usar los resultados de la evaluación como parte de un programa de mejora
coherente. El proyecto internacional SPICE, llevado a cabo por la organización ISO, ha
obtenido en su primera fase del proyecto un Informe Técnico Tipo 2 (ISO 15504)
formado por un conjunto de documentos todos ellos bajo el título general de Evaluación
del Proceso Software.
Como consecuencia de la ausencia de información relativa a los resultados del proyecto
SPICE, este artículo pretende ofrecer una visión general así como describir los
elementos principales del mismo.
3
ABSTRACT
For an organization to improve the quality of their products must have a proven method,
consistent and reliable for assessing the status of processes and also means to use the
assessment results as part of a coherent program of improvement. The international
SPICE Project, conducted by the ISO organization has made in its first phase of a
Technical Report Type 2 (ISO 15504) consists of a set of documents all under the
general title Software Process Assessment.
Due to the absence of information concerning the results of the SPICE project, this
article offers an overview and describe the main elements of it.
4
ÍNDICE
1. Introducción 5
2. SPICE 7
2.1. Historia 7
2.2. Definición 7
2.3. Características de SPICE 8
2.4. Elementos principales de SPICE 8
2.4.1. Dimensión y capacidad del proceso 9
2.4.2. Atributos del proceso 13
2.4.3. Dimensión del proceso 14
2.4.4. Perfil del proceso 14
2.5. Ventajas y desventajas 15
3. Referencia bibliográfica 20
5
1. Introducción
En la actualidad ha aumentado de forma considerable la producción de software,
debido a la aparición y uso de nuevas tecnologías de la información, en todas las
diferentes áreas tanto económicas como políticas, sociales o industriales, etc.
Para las empresas que desarrollan software para las nuevas TI (Tecnologías de la
información) es de mucha importancia el costo del desarrollo de estos y la calidad
que se debe entregar al usuario final, y por su parte para el usuario final es muy
exigente en la calidad que tiene el software que se le ha entregado para su puesta en
funcionamiento.
Al momento de desarrollar un software, desde la especificación de requerimientos
hasta su entrega final, vemos que van apareciendo faltas y fallos, que son
encontrados en el proceso. Pero, ¿cómo se puede gestionar y optimizar el proceso de
desarrollo del software para que sean mínimos los errores que encontramos?, y más
importante aún ¿cómo se puede medir y asegurar la calidad de un sistema final?
Es por esto que alrededor del mundo se han creando modelos y estándares que
pueden ser utilizados por los especialistas dedicados a tareas de calidad inmersos en
procesos de desarrollo o auditorias de software. Al momento de gestionar la calidad
de los procesos y la calidad del producto final se deben usar métricas para medir las
características del producto final y tomar decisiones con respecto a los defectos que
se encuentran, para así reducir costos innecesarios y demoras prolongadas en la
entrega.
6
Actualmente existen varios modelos y estándares usados para evaluar software, los
más usados son las Normas ISO, CMM, SPICE entre otros. Es este presente trabajo
vamos a estudiar a detalle el modelo SPICE para evaluar el proceso del desarrollo
del software.
Ilustración 1: Normativas de calidad de software
Elaborado por: IT360Tomado de: http://www.it360.es/iso15504.php
7
2. SPICE
2.1. Historia
En Junio de 1991 el comité ISO/IEC JTC1/SC7 aprobó un estudio para que se
investigara las necesidades y requerimientos para un estándar de evaluación de
procesos software. Un año más tarde, se obtuvo como conclusión que existía un
consenso internacional para dicho estándar. En Junio de 1993 arrancó el
proyecto SPICE con los objetivos de:
a) Ayudar al proyecto de estandarización, en su etapa preparatoria, para
desarrollar los borradores iniciales de trabajo.
b) Realizar las pruebas de usuario, obteniendo datos de la experiencia que
constituirán la base de la revisión del Estándar antes de emitirlo como
International Standard.
c) Crear el conocimiento del mercado y evolucionar el estándar.
(De Amescua, Lloréns, & García, 2008)
2.2. Definición
SPICE (Determinación de la Capacidad de Mejora del Proceso de Software)
también conocido como ISO/IEC 15504 “es un estándar internacional que es
aplicable a cualquier organización/empresa que quiera conocer y mejorar la
capacidad de sus procesos” (European Software Institute [ESI], 2011).
8
El modelo SPICE es independiente de:
Tipo de organización
Modelo
Ciclo de vida
La metodología de desarrollo
Tecnología utilizada.
A demás Spice “No pretende fijar la manera de realizar los procesos dentro de una
organización, sino que valora su capacidad y ayuda a proponer mejoras que aumenten
esta capacidad” (European Software Institute [ESI], 2011).
2.3. Características de SPICE
Establece un marco y los requisitos para cualquier proceso de evaluación de procesos.
Proporciona requisitos para los modelos de evaluación de los procesos y para modelos
de evaluación de organizaciones. Proporciona guías para la definición de las
competencias de un evaluador de procesos. Comprende: evaluación de procesos, mejora
de procesos, determinación de capacidad.
2.4. Elementos principales de SPICE
Los resultados de la evaluación del proceso se describe en un modelo de dos
dimensiones: Dimensión del proceso y Dimensión de la capacidad. Esto es lo que se
denomina arquitectura del modelo de referencia.
9
Ilustración 2: Arquitectura del modelo de referencia
Elaborado por: Jorge BejaranoTomado de: (European Software Institute [ESI], 2011)
2.4.1. Dimensión de la capacidad del proceso
La dimensión de la capacidad del proceso “está caracterizado por una serie de atributos
de proceso, aplicables a cualquier proceso, que representan características necesarias
para gestionar y mejorar su capacidad de realización” (De Amescua, Lloréns, & García,
2008).
A esto que llamamos niveles de capacidad del proceso, también lo podemos denominar
nivel de madurez de un proceso.
10
Ilustración 3: Niveles de capacidad y atributos de proceso
Incompleto
Gestionado
Realizado
Establecido
Previsible
Optimizando 5
4
3
2
1
0
Niveles de CapacidadNiveles de Capacidad Atributos de ProcesoAtributos de Proceso
1.1 Rendimiento del Proceso
2.1 Gestión del Rendimiento2.2 Gestión del Producto
3.1 Definición del Proceso3.2 Recurso del Proceso
4.1 Medición del Proceso4.2 Control del Proceso
5.1 Cambio del Proceso5.2 Mejora Continua
Elaborado por: De Amescua, Lloréns & GarcíaTomado de: (De Amescua, Lloréns, & García, 2008)
2.4.1.1. Niveles de capacidad
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 propósito implementado logra su objetivo definido.
PA 1.1: Rendimiento del Proceso, “el proceso emplea un conjunto de
prácticas, que son iniciadas por unos productos identificables y produce unos
productos identificables, que satisfacen el propósito del proceso” (De
Amescua, Lloréns, & García, 2008).
11
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: Gestión del Rendimiento, “la ejecución del proceso se gestiona
para producir productos en un plazo de tiempo y con unos requisitos
preestablecidos” (De Amescua, Lloréns, & García, 2008).
PA 2.2: Gestión del Producto, “la ejecución 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” (De Amescua, Lloréns, & García, 2008).
Nivel 3: Proceso Establecido, el proceso Gestionado se realiza utilizando un proceso
definido basado en los principios de la ingeniería del software. Aquí en este nivel el
proceso ya se encuentra establecido en la organización.
PA 3.1: Definición del Proceso, “la ejecución del proceso utiliza una definición
de proceso basada en un proceso estándar, que permite contribuir a los objetivos
de negocio definidos en la organización” (De Amescua, Lloréns, & García,
2008).
PA 3.2: Recursos del Proceso, “la ejecución 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
organización” (De Amescua, Lloréns, & García, 2008).
12
Nivel 4: Proceso Previsible, el proceso Establecido se realiza constantemente dentro de
los límites de control definidos para lograr sus objetivos.
PA 4.1: Medición del Proceso, “la ejecución del proceso se soporta por los
objetivos y mediciones que son utilizadas para asegurar que la implementación
del proceso contribuye a la consecución de los objetivos” (De Amescua,
Lloréns, & García, 2008).
PA 4.2: Control del Proceso, “la ejecución del proceso se controla a través de
la recopilación y análisis de mediciones para controlar y corregir, donde sea
necesario, el rendimiento del proceso para lograr fiablemente los objetivos del
proceso definidos” (De Amescua, Lloréns, & García, 2008).
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” (De Amescua,
Lloréns, & García, 2008).
PA 5.1: Cambio de Proceso, “los cambios a la definición, gestión y
rendimiento del proceso son controlados mejor para conseguir los objetivos de
negocio de la organización” (De Amescua, Lloréns, & García, 2008).
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
13
objetivos del negocio definidos de la organización” (De Amescua, Lloréns, &
García, 2008).
2.4.2. Atributos del Proceso
“Un atributo del proceso representa una característica medible de cualquier proceso. Los
atributos de capacidad del proceso son los elementos básicos del esquema de
evaluación” (De Amescua, Lloréns, & García, 2008).
Cada atributo se evalúa entre un rango de cuatro puntos:
N - No conseguido - No hay evidencia de que se consigue el atributo definido.
P - Conseguido parcialmente - Se ha conseguido algo el atributo definido.
L - Bastante conseguido - Se ha conseguido significativamente el atributo
definido.
F - Conseguido completamente - Se ha conseguido totalmente el atributo
definido.
(De Amescua, Lloréns, & García, 2008)
El nivel de capacidad se derivará de los valores de los atributos de los procesos.
2.4.3. Dimensión del proceso
14
La dimensión de proyecto “está caracterizado por los objetivos del proceso que
constituye los elementos fundamentales a medir” (De Amescua, Lloréns, & García,
2008).
Normalmente, en la mejora de la calidad de los procesos participan dos tipos de
modelos, el modelo de procesos y el modelo de evaluación. El modelo de procesos
define un catálogo o colección estructurada de buenas prácticas que describen las
características de un proceso efectivo, mientras que el modelo de evaluación
proporciona los principios requeridos para realizar una evaluación de la calidad, e
implantación, de dicho modelo de procesos en una organización. Como se observa en la
Fig. 1, en el modelo objeto de este estudio, se hace uso del modelo de procesos ISO/IEC
12207:2008 (uno de los modelos de procesos de referencia para la industria del
software), y de la norma ISO/IEC 15504 como modelo de evaluación.
15
Tabla 1: Dimensión del proceso
Categoría de Proceso ProcesoID Nombre ID Nombre
CUS Cliente-SuministradorCUS.1 Adquirir softwareCUS.2 Gestionar las necesidades del clienteCUS.3 Suministrar softwareCUS.4 Operar softwareCUS.5 Proporcionar servicio al cliente
ENG IngenieríaENG.1 Desarrollar los requisitos y diseño del
sistemaENG.2 Desarrollar los requisitos softwareENG.3 Desarrollar el diseño softwareENG.4 Implementar el diseño softwareENG.5 Integrar y probar el softwareENG.6 Integrar y probar el sistemaENG.7 Mantener el sistema y el software
SUP SoporteSUP.1 Desarrollar documentaciónSUP.2 Realizar la gestión de la configuraciónSUP.3 Realizar el aseguramiento de la calidadSUP.4 Realizar la verificación del productoSUP.5 Realizar la validación del productoSUP.6 Realizar revisiones conjuntasSUP.7 Realizar auditoriasSUP.8 Realizar resolución de problemas
MAN GestiónMAN.1 Gestionar el proyectoMAN.2 Gestionar la calidadMAN.3 Gestionar los riesgosMAN.4 Gestionar los subcontratistas
ORG Organización
Consta de los procesos que directamente impactan al cliente, soportan el desarrollo y la entrega, al cliente, del software proporcionándole su correcta operación y utilización.
Consta de los procesos que directamente especifican, implementan, o mantienen un sistema, el producto software y su documentación de usuario.
Consta de los procesos que contienen prácticas de una naturaleza genérica que pueden ser utilizadas por cualquiera que gestione cualquier clase de proyecto en un ciclo de vida
software.
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.
16
ORG.1 Ingeniería del negocioORG.2 Definir el procesoORG.3 Mejorar el procesoORG.4 Proporcionar recursos humanos con
habilidadesORG.5 Proporcionar la infraestructura de
ingeniería del software.
Elaborado por: De Amescua, Lloréns & GarcíaTomado de: (De Amescua, Lloréns, & García, 2008)
2.4.4. Perfil del Proceso
Una evaluación SPICE se realiza con el propósito de obtener un perfil de cada uno de
los procesos (o instancias de proceso) dentro del alcance de la evaluación. Este perfil
muestra la capacidad de la unidad organizativa para lograr el objetivo del proceso.
La evaluación examina a un número de instancias de proceso con el fin de
obtener los datos necesarios para producir un perfil del proceso. Una instancia
de proceso es una implementación particular de un proceso. Por ejemplo, para
cada vez que se realiza la prueba de un módulo del sistema, habrá una instancia
de Realizar Prueba de Unidad. Las instancias de proceso examinadas durante
la evaluación tienen que ser cuidadosamente seleccionadas para asegurar que
la evaluación alcanzará su propósito y cubrirá su alcance.
Se evalúa cada instancia de proceso examinando sus atributos, y obteniendo
como consecuencia un valor. Estos valores son decididos mediante el análisis
de los indicadores asociados y juzgando su existencia. Las decisiones sobre la
existencia de indicadores están basados en una objetiva evidencia, la cual es
registrada para soportar y justificar los resultados de la evaluación.
Consta de los procesos que establecen los objetivos del negocio de la organización y del producto de proceso de desarrollo, y activos de recursos que, cuando son empleados por los proyectos en la organización, ayudarán a la misma a lograr sus objetivos de negocio.
17
El resultado básico de la evaluación 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. (De Amescua, Lloréns, & García, 2008)
Ilustración 4: Árbol de evaluación
Elaborado por: De Amescua, Lloréns & GarcíaTomado de: (De Amescua, Lloréns, & García, 2008)
2.5. Ventajas y desventajas
SPICE ofrece una base para una evaluación muy detallada del estado actual del proceso
de una organización. Por su gran nivel de descomposición 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
evaluación y a adoptar actitudes positivas de los equipos hacia la evaluación.
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
Proceso
Atributo
Atributo
Atributo
Instancia de Proceso
Instancia de Proceso
Instancia de Proceso
Instancia de Proceso
18
que se puedan ver reducidos estos costes. Es importante tener en cuenta que la
evaluación no necesita abordarse a toda la organización, 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 estándar internacional se pueden
realizar comparaciones a nivel mundial entre evaluaciones en contextos similares. (De
Amescua, Lloréns, & García, 2008)
19
3. Bibliografía
De Amescua, A., Lloréns, J., & García, Á. (8 de Diciembre de 2008). Obtenido de http://moodle.univo.com.mx/ingenieria/moodledata/temp/backup/1293679217/course_files/semana3/iso-spice.doc
European Software Institute [ESI]. (22 de Mayo de 2011). Obtenido de http://www.camarabilbao.com/ccb/contenidos.downloadatt.action?id=3746781