Beruflich Dokumente
Kultur Dokumente
Justificacin
El concepto de Proceso de software es uno de los conceptos ms abstractos en la
historia de la Ingeniera de software. Muchas veces confundido como un proyecto
informtico o como un abstracto que pretende ser la base de una potencial gestin
de conocimiento de los procesos de desarrollo informtico. Desde que Watts
Humprey define ms formalmente el proceso de software, se ha logrado concebir
una cosmovisin del proceso de software ms formal, siendo fijada como un
proceso de continuo aprendizaje mediante el cual una organizacin mejora y se
mejora a travs de procesos adquiridos y/o sus propios procesos. As se llega al
proceso llamado CMM o Capability Maturity Model con sus modelos asociados a
personas y adquisiciones. La versin actualizada del CMM, lCMMI o CMM
Integrated, es actualmente un instrumento de la gestin de la ingeniera de
software tradicional y formal.
No obstante, esta formalizacin ha hecho que su validez se pierda como "un
proceso ms a ejecutar" y no en su sentido organizador del trabajo informtico
sobre todos los artefactos informticos que una organizacin utiliza hoy en da.
An ms, los adelantos en ingeniera organizacional y su pervivencia en las
empresas hoy en da, hacen de que un enfoque de Proceso de software no se
limite ni constria a un conjunto de prcticas y al cumplimiento de un modelo, sino
a un estado o proceder organizacional tendiente a gestionar el conjunto de
proyectos, procesos y tareas asociadas al procesamiento de datos, de informacin
y de conocimiento de una organizacin cualquiera.
En este sentido la asignatura presenta el proceso de software bajo una ptica de
enclave organizacional que precisa una gestin completa, cabal e integral. Con
relacin a la Ingeniera de software como disciplina y al Ingeniero de software
como profesional, el enfoque dado al concepto de Proceso de software resulta
integrador con otros campos relacionados como la calidad y la gestin de riesgos,
la gestin de proyectos y, la administracin de sistemas tecnologizados al
introducir conceptos de ventas versus diseo, seleccin de componentes o
simplemente la constitucin de una Oficina de Proyectos Informticos.
En este sentido se introduce como trmino provocador el de Proceso de Negocio
de Software, para encaminar al lector hacia esta nueva idea del alcance de un
proceso de software, ya no como un conjunto de "cosas por hacer" para producir
software, sino un conjunto de procesos claves y estrategicos que regulan todo el
negocio adscrito a una produccin de software lo cual no limita lo procesos a la
produccin tradicional, sino que incluye toda la cadena de valor que aporta valor a
Objetivos especficos
- Conocer los fundamentos de la calidad y de la organizacin de la calidad en una
organizacin (ISO 9000, 1400 y 1800) y en una unidad de calidad integral (SQA,
SCM, SEPG) y situarlos en una ptica de estrategia organizacional.
- Comprender el rol organizacional de los modelos de mejora (CMM, SPICE, etc.),
los conceptos de modelizacin, el rol de herramientas CASE centrado en el
proceso, y dominar y generar mtricas en ingeniera del software.
- Conocer las herramientas de decisin al momento de comprar o producir un
software.
CAPTULO
OBJETIVO(S)
APORTACIN Y
RESULTADO OBTENIDO
Captulo 1
Conocer los
conceptos y
caractersticas
esenciales de un
proceso de
software.
Se identifica la nocin de
proceso de software y sus
rasgos distintivos.
Captulo 2
Conocer los
paradigmas y su
relacin con los
procesos de
software.
Captulo 3
Conocer el
enfoque de
proyectos y su
relacin con los
procesos de
software.
Se relaciona el enfoque de
proyectos tradicional
(diseo, gestin y direccin)
con los procesos de
software lo cual relaciona la
visin de proceso
organizacional con la visin
de proceso asociada al
software.
Captulo 4
Reflexionar sobre
la oficina de
proyectos y los
procesos de
software.
proyectos de software
desde la ptica de los
procesos de software.
DAVENPORT, Thomas. (1993). Process Innovation. Harvard Business School Press. USA.
Stakeholders. Todo grupo o persona que puede afectar o se ve afectado por una organizacin o
sus actividades. Tambin, toda persona o grupo que puede ayudar a definir las proposiciones de
valor de una organizacin.
2
- Validacin: El software debe validarse, para asegurar que cumpla con lo que
quiere el cliente.
- Evolucin: El software debe evolucionar, para adaptarse a las necesidades del
cliente.
Adems de estas actividades fundamentales, Pressman menciona un conjunto de
"actividades protectoras", que se aplican a lo largo de todo el proceso del
software. Ellas se sealan a continuacin:
- Seguimiento y control de proyecto de software.
- Revisiones tcnicas formales.
- Garanta de calidad del software.
- Gestin de configuracin del software.
- Preparacin y produccin de documentos.
- Gestin de reutilizacin.
- Mediciones.
- Gestin de riesgos.
Un artefacto es una pieza de informacin que es producida, modificada o usada por el proceso,
define un rea de responsabilidad para un rol y est sujeta a control de versiones. Un artefacto
puede ser un modelo, un elemento de modelo o un documento.
f) Auditora de la configuracin.
Debe asegurarse que el cambio ha sido implementado correctamente y debo
saber en qu estado est cada componente.
g) Informes de estado.
Los informes de estado responden los siguientes interrogantes:
- Cundo se realiz el cambio?
- Dnde se cambi un componente?
- Quin es el autor del cambio?
- Qu se cambi?
- Cul es el alcance del cambio?
h) Cambio - Cambiando el ciclo de vida.
A medida que se avanza a lo largo del ciclo de vida se debe poder restringir que
tipo de cambios se puede realizar sobre el software. El ciclo de vida determina dos
aspectos que influyen sobre el plan de SCM: cantidad de versiones que deber
administrar y etapas durante las cuales aceptar sean efectuados cambios sobre
el producto en s.
La rigidez de los controles ser directamente proporcional al avance del proyecto
en la fase. A medida que se acerca al final de la fase, se debe estar acercando a
tener algn entregable listo (versin). Esto hace que las restricciones para
modificar el software sean incrementadas para asegurar que no existan desvos,
solo los cambios de urgencia o muy bien justificados tendrn lugar en esta etapa.
De la misma manera, en ciclos de vida con un alto grado de prototipacin, se har
nfasis en la auditora en lugar de restringir que el equipo pueda modificar el
producto.
Cualquier elemento de un producto de software que est sujeto a cambios. Esto incluye cdigo
fuente, documentacin, QA test plans, QA data, libreras, cdigo objeto, etc. Tambin es conocido
en la terminologa traducida que encontramos como "tem de configuracin".
FOWLER, Priscilla; RIFKIN, Stanley. (1990). Software Engineering Process Group Guide.
CMU/SEI-90-TR-024. Carnegie Mellon University.
Enlace web: http://www.sei.cmu.edu/library/abstracts/reports/90tr024.cfm. [Ledo: 20 de enero
2010, 12.00 h GMT+1].
- Trabaja con los gerentes de lnea, cuyos proyectos se ven afectados por cambios
en las prcticas de ingeniera de software, proporcionando una amplia perspectiva
de los esfuerzos de mejora y ayudarles a fijar las expectativas.
- Mantiene relaciones de colaboracin de trabajo con los ingenieros de software,
especialmente para obtener, planificar, e instalar nuevas prcticas y tecnologas.
- Los arreglos para cualquier capacitacin o educacin continua relacionados con
mejoras en el proceso.
- Pistas, monitores, y los informes sobre el estado de los esfuerzos de mejora en
particular.
- Facilita la creacin y mantenimiento de las definiciones de procesos, en
colaboracin con los directores y el personal de ingeniera.
- Mantiene una base de datos de proceso.
- Proporciona consultora de procesos para proyectos de desarrollo y de gestin.
Software Engineering Institute. Carnegie Mellon. (2010). Software Engineering Process Group
Guide. [en lnea].
Enlace web: http://www.sei.cmu.edu/library/abstracts/reports/90tr024.cfm. [Ledo: 20 de enero
2010, 14.00 h GMT+1].
SERGIO Fernndez. (2003). Ingeniera de Software. [en lnea]. Enlace web: http://apuntesutn.com.ar/apuntes/documento.aspx?IdDocumento=433&bajar=1. [Ledo: 6 de enero 2010, 14.00 h
GMT+1].
NIVELES
Nivel 1:
Inicial
CARACTERSTICAS
- Sin proceso definido.
- Sin estndares o si existen son ignorados.
- Poca habilidad para estimar.
- El xito est basado en "hroes".
- Poca visibilidad.
- Deadlines ms importantes que calidad.
- Proyectos fuera de trmino y presupuesto.
Nivel 2:
Repetible
Nivel 3:
Definido
Nivel 5:
Optimizado
Se considera tpico que una organizacin dedique unos 18 meses para progresar
un nivel, aunque algunas consiguen mejorarlo. En cualquier caso requiere un
amplio esfuerzo y un compromiso intenso de la direccin.
Como consecuencia, muchas organizaciones que realizan funciones de factora de
software o, en general, outsourcing de procesos de software, adoptan el modelo
CMM y se certifican en alguno de sus niveles. Esto explica que uno de los pases
en el que ms organizaciones certificadas existan sea India, donde han florecido
las factoras de software que trabajan para clientes estadounidenses y europeos.
1.6.2.1. Antecedentes
CMMI v1.2 corresponde a la tercera versin entregable del modelo CMMI, posterior a las
versiones 1.02 (primera versin ao 2000) y 1.1 (ao 2002). Las versiones previas sirvieron
como retroalimentacin para que los propios usuarios, evaluadores y evaluados hicieran
acotaciones sobre posibles mejoras, las cuales fueron estudiadas, refinadas y algunas
incluidas en la versin 1.2. CMMI v1.2 para desarrollo, que corresponde a una de tres
constelaciones de prcticas, es una gua que ayuda a manejar, medir y monitorear procesos
utilizados en el desarrollo de productos y servicios de una organizacin, y contiene
prcticas ligadas a la administracin de proyectos, administracin de procesos, ingeniera y
soporte. Las otras dos constelaciones son CMMI para Adquisicin que provee una gua
para liderar la adquisicin informada y decisiva, y CMMI para Servicios que proporciona
1.6.2.2. Representaciones
La representacin usada en CMMI entrega una gua para efectuar las actividades
de mejora de los procesos y es utilizada en el mtodo de evaluacin. Segn el
modelo se tienen dos formas para mejorar. Una forma es mejorar un proceso
especfico o un conjunto de ellos usando la "representacin continua" (continuous
representation) y la otra es la mejora de la organizacin completa segn los
procesos definidos y ocupados usando la "representacin escalonada" o por
"etapas" (Staged Representation). En la tabla 1.2 se muestran los niveles para
estos dos tipos de representaciones.
Nivel de madurez
Nivel 0
Incompleto
Nivel 1
Realizado
Inicial
Nivel 2
Manejado
Manejado
Nivel 3
Definido
Definido
Nivel 4
Manejado cuantitativamente
Manejado cuantitativamente
Nivel 5
Optimizado
Optimizado
NIVELES
CARACTERSTICAS
La organizacin usualmente no provee un ambiente estable para soportar
los procesos. xitos en estas organizaciones se debe a la competencia y
esfuerzos hericos de la gente dentro de la organizacin y no al uso de
procesos probados. A pesar de este caos, organizaciones pertenecientes al
nivel de madurez 1 con frecuencia producen productos y servicios que
funcionan; sin embargo, ellos frecuentemente exceden sus presupuestos y
no cumplen sus planes.
Nivel 1:
Iniciado
Nivel 2:
Manejado
Nivel 3:
Definido
Nivel 4:
Manejado
cuantitativamente
REA DE PROCESO
CATEGORA
NIVEL DE
MADUREZ
Soporte
Soporte
Soporte
Gestin de procesos
Ingeniera
Gestin de procesos
Gestin de
proyectos
Ingeniera
Gestin de
proyectos
Soporte
Gestin de
proyectos
Gestin de
proyectos
Gestin de procesos
Ingeniera
Soporte
Gestin de
proyectos
Gestin de
proyectos
Gestin de procesos
Gestin de procesos
Ingeniera
Validacin (VAL)
Ingeniera
Verificacin (VER)
Ingeniera
1.6.3. SPICE
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.
1.6.3.1. Necesidades y requerimientos para un estndar de evaluacin de procesos
de software
USUARIOS
Evaluadores
CARACTERSTICAS
Un marco que define todos los aspectos para dirigir evaluaciones.
Un medio para determinar la capacidad actual y potencial de los procesos
software del suministrador. Estos obtendrn los beneficios de:
Clientes
Los elementos esenciales para comprender SPICE son los siguientes: 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.
1.6.3.4.1. 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. Ver tabla 1.6. 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.
NIVELES
Nivel 0.
Proceso
Incompleto
CARACTERSTICAS
Nivel 1.
Proceso
Realizado
Nivel 2.
Proceso
Gestionado
Nivel 3.
Proceso
Establecido
Nivel 4.
Proceso
Previsible
Nivel 5.
Proceso
Optimizado
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
NIVEL DE
ATRIBUTO
ATRIBUTO
VALOR DE LA INSTANCIA
A
VALOR DE LA INSTANCIA
B
5.2
5.1
N
N
N
N
4.2
4.1
P
P
N
N
3.2
3.1
L
L
P
P
2.2
2.1
L
L
L
L
1.1
Nivel de Capacidad
=
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.
DE AMESCUA, Antonio; LLORENS, Juan; GARCA, Angel. Knowledge Reuse Group. (2009).
SPICE: Un marco para la evaluacin de procesos de software. [en lnea]. Enlace web:
www.ie.inf.uc3m.es/grupo/Investigacion/LineasInvestigacion/Articulos/spice.doc. [Ledo: 6 de enero
2010, 15.00 h GMT+1].
A semejanza del modelo CMM, el modelo Trillium presenta una escala de cinco
niveles de madurez (Trillium, 2000):
- Nivel 1. Desestructurado. En este nivel el proceso de desarrollo es ad-hoc. Los
proyectos frecuentemente no pueden satisfacer objetivos de calidad o de
programacin. El xito posible se basa ms en el trabajo de los individuos que en
la propia estructura e infraestructura organizacional.
- Nivel 2. Repetible y orientado al proyecto. El xito individual del proyecto se
consigue a travs de una frrea planificacin y control de gestin del proyecto,
dando especial nfasis a los requerimientos de gestin, tcnicas de estimacin y
configuracin del cambio.
- Nivel 3. Definido y orientado al proceso. Aqu los procesos son definidos y
utilizados al nivel organizacional, no obstante se acepta que el proyecto sea
adaptado a las circunstancias. Los procesos son controlados y mejorados. Se
incorporan requerimientos ISO 9001 como procesos de entrenamiento y auditora
interna.
- Nivel 4. Gestionado e integrado. La monitorizacin y anlisis del proceso es
usado como mecanismo clave de mejora. Procesos de gestin del cambio y
programas de prevencin de defectos son integrados. Las herramientas CASE se
integran dentro del proceso.
- Nivel 5. Completamente integrado. Metodologas formales son extensivamente
usadas. Repositorios organizacionales son usados para soportar y mantener la
historia del proceso de desarrollo.
1.6.4.3. Arquitectura Trillium Model
Realizado por
Lic. Rafael Gonzalez Freites
rafaelfreites@hotmail.com
azua de Compostela
rep. dominicana