UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
HERRAMIENTA PARA SOPORTE AL PROYECTO DE MEJORA DE CALIDAD DE PROCESOS CON MODELO CMMI E IDEAL
TESIS PARA OPTAR AL GRADO DE MAGÍSTER EN TECNOLOGÍAS DE INFORMACIÓN
JESICA ALEXANDRA MADRID MIELES
PROFESOR GUÍA: MARIA CECILIA BASTARRICA PIÑEYRO
MIEMBROS DE LA COMISIÓN: SERGIO OCHOA DELORENZI AGUSTIN VILLENA MOYA JAVIER PEREIRA RETAMALES
SANTIAGO DE CHILE JUNIO 2008
RESUMEN
En las diversas industrias, y específicamente, en la industria del software, existen varios
determinantes de la calidad de los productos y los servicios, como son: las personas, la
tecnología y los procesos, teniendo los procesos una incidencia significativa en la calidad del
producto. Para responder a la necesidad de una guía para mejorar los procesos que intervienen
en el desarrollo y mantenimiento del software, se crearon los modelos CMMI® (Capability
Maturity Model Integration) e IDEALSM (llamado así por las fases que lo componen: Initiating,
Diagnosing, Establishing, Acting and Learning).
El proyecto de calidad es en general un proceso largo, que implica la colaboración
coordinada de varias personas y que se puede ver afectado por el alto índice de rotación del
personal y con ello, la pérdida del conocimiento adquirido con respecto a decisiones,
actividades realizadas y lógica de uso de artefactos generados, ya que generalmente no queda
registrado en ningún lugar. De igual modo, la poca facilidad para incorporar a nuevo personal o
visualizar el avance y desarrollo completo del proyecto de mejora, debido a que la información
no se encuentra centralizada, genera incertidumbre y no proporciona una adecuada visibilidad
en grandes proyectos como el de mejora de procesos.
Es por ello que en este proyecto de tesis se elaboró una herramienta que represente una
bitácora documental del desarrollo del proyecto de mejora de calidad de procesos
implementando CMMI® y basado en IDEALSM. Esta herramienta gestiona de manera
centralizada el proyecto de calidad, sus fases, actividades e involucrados; las etapas
identificadas en el proyecto tienen una directa correlación con las fases del modelo guía
IDEALSM; da soporte a la documentación de procesos relacionándolos con el modelo CMMI®,
lleva una bitácora de las decisiones tomadas y lecciones aprendidas durante el proyecto y
almacena los artefactos generados de manera centralizada, permitiendo una visualización de
avance de proyecto y de su historial, además de ayudar en la capacitación a nivel de procesos.
La herramienta fue validada en línea1 por un grupo de personas mediante una encuesta de
acuerdo a criterios de experiencia y utilidad dentro del marco del desarrollo de un proyecto de
calidad.
1 La herramienta puede ser usada en línea accediendo a: http://www.alturasoluciones.com/
Agradecimientos
Quiero agradecer antes que nada a Dios, por esta vida tan llena de bendiciones. Agradezco
al hombre que no solo es el compañero de vida: mi esposo, sino también mi inspiración,
impulso y alegría, gracias a ti David por toda tu sabiduría, apoyo y amor.
Agradezco a mis padres y a mis hermanos, que son un pilar muy importante en mi vida, gracias
por su apoyo de toda la vida y por su cariño eterno. Y a toda la familia y amigos que nos han
apoyado para que cumplamos nuestras metas y sueños, gracias a todos.
Un agradecimiento muy especial al personal administrativo y a los profesores de la
Universidad de Chile, especialmente Cecilia Bastarrica, por compartir con nosotros sus
conocimientos y experiencias y por estar siempre dispuestos a darnos su colaboración.
Gracias a nuestros amigos chilenos y extranjeros en Chile, por hacernos sentir como en casa,
gracias por su hospitalidad y amistad que ha marcado nuestras vidas. Gracias a todos por hacer
de nuestra meta de estar en Chile, una experiencia tan grata e inolvidable.
ÍNDICE DE CONTENIDO
1. INTRODUCCIÓN .......................................................................................................................................1
1.1. PROCESOS .....................................................................................................................................1 1.2. CMMI.............................................................................................................................................2 1.3. IDEAL............................................................................................................................................5 1.4. PROBLEMA A RESOLVER ..................................................................................................................7 1.5. SOLUCIÓN PROPUESTA ....................................................................................................................8 1.6. TRABAJOS RELACIONADOS.............................................................................................................10
2. ANÁLISIS DEL SISTEMA...................................................................................................................14
2.1. ESPECIFICACIÓN DE REQUISITOS DEL SISTEMA ...............................................................................14 2.1.1. Descripción general ................................................................................................................14
Objetivo general ..............................................................................................................................14 Objetivos específicos ......................................................................................................................14 Definición.........................................................................................................................................15
2.1.2. Requisitos específicos ............................................................................................................16 Requisitos funcionales ....................................................................................................................16 Atributos de Calidad ........................................................................................................................17
2.1.3. Identificación de Actores y Casos de Uso..............................................................................17 Descripción de actores del sistema ................................................................................................17 Diagrama de Casos de Uso de alto nivel........................................................................................18 Descripción de Casos de Uso.........................................................................................................19 Diagrama de Casos de Uso del Sistema ........................................................................................20
2.2. MODELO CONCEPTUAL ..................................................................................................................21 2.3. ESPECIFICACIÓN DE INTERFAZ DE USUARIO ....................................................................................22
3. DISEÑO DEL SISTEMA......................................................................................................................25
3.1. CASOS DE USO REALES DEL SISTEMA ............................................................................................25 3.2. ARQUITECTURA DEL SISTEMA ........................................................................................................33
3.2.1. Arquitectura física ...................................................................................................................33 3.2.2. Arquitectura lógica ..................................................................................................................34
Capa de presentación .....................................................................................................................35 Capa de negocio .............................................................................................................................35 Capa de persistencia.......................................................................................................................36
3.3. ESQUEMA DE BASE DE DATOS .......................................................................................................38
4. CONSTRUCCIÓN DEL SISTEMA......................................................................................................45
4.1. ESTIMACIÓN DEL ESFUERZO...........................................................................................................45 4.2. METODOLOGÍA DE DESARROLLO.....................................................................................................47 4.3. ENTORNO DE CONSTRUCCIÓN ........................................................................................................48
5. USO DE LA HERRAMIENTA .............................................................................................................50
5.1. INTRODUCCIÓN..............................................................................................................................50 5.2. DESCRIPCIÓN DEL SISTEMA ...........................................................................................................55
5.2.1. Creación del proyecto de calidad ...........................................................................................55 Crear usuario Jefe de Proyecto ......................................................................................................55 Crear Proyecto ................................................................................................................................56
5.2.2. Menú del sistema....................................................................................................................58 5.2.3. Panel de control......................................................................................................................58 5.2.4. Gestión de actividades ...........................................................................................................60
Nueva actividad...............................................................................................................................61 Editar actividad................................................................................................................................62
5.2.5. Configuración..........................................................................................................................63 Editar proyecto ................................................................................................................................63 Editar ciclo .......................................................................................................................................64
Activar área de proceso ..................................................................................................................64 Cerrar ciclo actual ...........................................................................................................................66 Usuarios ..........................................................................................................................................68 Nuevo Usuario.................................................................................................................................68
5.2.6. Procesos de la organización ..................................................................................................69 Documentación del proceso organizacional ...................................................................................70 Nuevo subproceso ..........................................................................................................................73 Editar subproceso ...........................................................................................................................74 Actividades del subproceso.............................................................................................................75
6. ANÁLISIS DE VALIDACIÓN DE LA HERRAMIENTA.......................................................................76
6.1. MÉTODO DE VALIDACIÓN................................................................................................................76 6.2. PREGUNTAS PARA VALIDACIÓN.......................................................................................................77 6.3. RESPUESTAS OBTENIDAS...............................................................................................................78
7. CONCLUSIONES................................................................................................................................80
7.1. CONCLUSIONES DEL TRABAJO REALIZADO.......................................................................................80 7.2. PROPUESTAS DE MEJORA ..............................................................................................................82
8. BIBLIOGRAFÍA...................................................................................................................................85
9. ANEXOS..............................................................................................................................................86
9.1. DETALLE DE LOS CASOS DE USO....................................................................................................86 9.2. RESPUESTAS DE ENCUESTA ...........................................................................................................91
ÍNDICE DE ILUSTRACIONES Y TABLAS
Figura 1: Áreas de proceso agrupadas por niveles .......................................................................................3 Figura 2: El modelo IDEALSM .........................................................................................................................5 Figura 3: Representación de relación entre modelo de referencia, método de evaluación y guía de proceso de mejora..........................................................................................................................................6 Figura 4: Diagrama de Casos de Uso de alto nivel del sistema ..................................................................19 Figura 5: Diagrama de Casos de Uso para el jefe de proyecto ...................................................................20 Figura 6: Conceptos y atributos del Sistema ...............................................................................................21 Figura 7: Modelo Conceptual del Sistema ...................................................................................................22 Figura 8: Mapa de navegación del Sistema.................................................................................................23 Figura 9. Interfaz – Caso de uso: Crear proyecto ........................................................................................26 Figura 10. Interfaz – Caso de uso: Visualizar Panel de Control ..................................................................28 Figura 11. Interfaz – Caso de uso: Gestionar actividades ...........................................................................29 Figura 12. Interfaz – Caso de uso: Cerrar Ciclo actual ................................................................................31 Figura 13. Interfaz – Caso de uso: Seleccionar área de proceso para ciclo ...............................................32 Figura 14. Diagrama de arquitectura física de la aplicación ........................................................................33 Figura 15. Diagrama de arquitectura lógica de la aplicación .......................................................................34 Figura 16. Diagrama de componentes de la capa de presentación basada en Struts2 ..............................35 Figura 17. Diagrama de Capa de Negocio...................................................................................................36 Figura 18. Diagrama de componentes de la capa de persistencia basada con Hibernate .........................36 Figura 19. Diagrama de arquitectura de alto nivel de Hibernate .................................................................38 Figura 20. Tablas de base de datos para soporte de rol y usuario..............................................................39 Figura 21. Tablas de base de datos para soporte de plantillas ...................................................................39 Figura 22. Tablas de base de datos para soporte de comentarios y artefactos..........................................42 Figura 23. Tablas de base de datos para soporte del proyecto...................................................................43 Figura 24. Tablas de base de datos para soporte de documentación a procesos organizacionales..........44 Figura 25. Representación del modelo cíclico IDEALSM ..............................................................................51 Figura 26. Estructura general de Proyecto de Mejora de Calidad de Procesos..........................................52 Figura 27. Estructura general de activación de área de proceso ................................................................53 Figura 28. Estructura de definición de procesos organizacionales..............................................................54
1
1. INTRODUCCIÓN
En este capítulo se describe el marco teórico y a continuación se analiza brevemente la
situación actual. Se identifica el problema a resolver y la solución propuesta. Finalmente
trabajos relacionados y la motivación de realizar la herramienta.
1.1. Procesos
Desde hace algunos años, se observa la tendencia de la industria del software hacia la
mejora de procesos de desarrollo de sistemas siguiendo metodologías, mejores prácticas y
estándares reconocidos en el mercado. Esta tendencia se ve impulsada por la realidad a la que
las empresas se ven enfrentadas cuando sus clientes les solicitan certificaciones que
corroboren calidad de sus productos o servicios y de su mantenimiento en el tiempo. Además,
de acuerdo a estudios realizados, se ha demostrado que tener un proceso de desarrollo
certificado, aumenta la rentabilidad de la empresa [SEI06c]. De igual manera, cuando las
estadísticas demuestran que apenas un 29% de los proyectos de software tiene éxito (los
proyectos son entregados con todas las funcionalidades completas, a tiempo y con el
presupuesto inicial asignado) en Estados Unidos [InfQ06], esto motiva a las empresas a
enfocarse en implantar modelos de calidad en el desarrollo del software.
Si bien existen varios determinantes de la calidad de un sistema de software, como son las
herramientas, las personas y los procesos, ésta se ve alta y directamente influenciada por la
calidad del proceso mediante el cual fue creado [SEI06a], ya que los procesos son el marco que
guía el trabajo, manteniéndolo coordinado y permitiendo la repetición en la producción de
software. Los procesos favorecen estimaciones más predecibles en cuanto a tiempo y costos, y
reducen ciertos riesgos en el desarrollo [Pou05].
Por esa misma necesidad, nacieron los modelos de procesos, que en resumen es una
colección estructurada de prácticas que describen las características que se espera de un
proceso efectivo. Las prácticas incluidas en estos modelos, son aquellas que han demostrado
por experiencia que son más efectivas. Uno de los modelos de referencia más utilizados en la
2
actualidad es CMMI® (Capability Maturity Model Integration) desarrollado por el SEI (Software
Engineering Institute) de la Universidad de Carnegie Mellon de Estados Unidos2.
1.2. CMMI
Este es un modelo para la mejora o evaluación de los procesos de desarrollo y
mantenimiento de sistemas y productos de software, que establece un conjunto de prácticas,
agrupadas en áreas de proceso PA (Process Area).
Para cada área de proceso existe un conjunto de buenas prácticas que deben estar
definidas en un procedimiento documentado, deben ser institucionalizadas es decir ser
ejecutadas de un modo sistemático y uniforme, medidas, verificadas y la organización debe
contar con los medios (recursos, capacitación) para llevarlas a cabo. Cada área de proceso
identifica un conjunto de actividades y prácticas interrelacionadas las cuales, cuando son
realizadas en forma colectiva, permiten alcanzar las metas fundamentales del proceso.
CMMI® agrupa estas áreas de proceso en cinco "niveles de madurez", de modo que una
organización que tenga institucionalizadas todas las prácticas incluidas en un nivel y sus
inferiores, se considera que ha alcanzado ese nivel de madurez. El alcanzar estas áreas se
manifiesta mediante el grado de satisfacción de varios objetivos claros y cuantificables. Los
niveles se muestran en la siguiente figura:
2 CMMI está registrado en la Oficina de Patentes y Marca Registrada de los Estados Unidos por la Universidad de Carnegie Mellon.
3
Figura 1: Áreas de proceso agrupadas por niveles
A continuación se explica brevemente cada uno de los niveles.
1 Inicial.- Las organizaciones en este nivel no disponen de un ambiente estable para el
desarrollo y mantenimiento de software. El éxito de los proyectos se basa la mayoría de las
veces en el esfuerzo personal, aunque a menudo se producen fracasos y casi siempre retrasos
y sobre costos. Los esfuerzos se ven minados por falta de planificación y el resultado de los
proyectos es impredecible.
2 Administrado.- En este nivel las organizaciones disponen de prácticas institucionalizadas
de gestión de proyectos, existen métricas básicas y un razonable seguimiento de la calidad. La
relación con subcontratistas y clientes está gestionada sistemáticamente.
3 Definido.- Además de una buena gestión de proyectos, a este nivel las organizaciones
disponen de correctos procedimientos de coordinación entre grupos, formación del personal,
técnicas de ingeniería más detalladas y un nivel más avanzado de métricas en los procesos.
4
4 Administrado Cuantitativamente.- Las organizaciones disponen de un conjunto de métricas
significativas de calidad y productividad, que se usan de modo sistemático para la toma de
decisiones y la gestión de riesgos.
5 Optimizado.- La organización completa está orientada a la mejora continua de los
procesos. Se hace uso intensivo de las métricas y se gestiona el proceso de innovación
[Wik07].
CMMI® se desarrolló para facilitar la adopción de varios modelos de referencia de forma
simultánea, y su contenido integra a sus predecesores:
- CMM-SW (CMM for Software).
- SE-CMM (Systems Engineering Capability Maturity Model).
- IPD-CMM (Integrated Product Development).
CMMI® incluye 4 disciplinas o cuerpos de conocimiento relativos a desarrollo de productos y
procesos. Éstas son:
- Ingeniería de Software (SW)
- Ingeniería de Sistemas (SE)
- Desarrollo Integrado de Productos y Procesos (IPPD)
- Proveedores (SS)
Existen dos representaciones del modelo CMMI® o formas de mejoramiento:
- Representación continua: Por capacidad de áreas de proceso, para un área de proceso
o un conjunto de áreas de proceso.
- Representación por estados: De acuerdo a la madurez organizacional, para un conjunto
de áreas de proceso a través de la organización.
Este modelo establece e identifica claramente diversas áreas que deben ser tomadas en
consideración para poder contar con un proceso apropiado para la empresa. De igual manera,
considerando que el proceso de desarrollo de software está compuesto por varias actividades
multi disciplinarias, este modelo representa un buen marco de trabajo para organizar y priorizar
las actividades involucradas y relacionadas con el proceso.
Dentro de un proceso de mejora, este modelo de madurez y capacidades describe las
características de los procesos efectivos y de esta manera proporciona a la empresa un marco
referencial para que ésta, de acuerdo a sus prácticas habituales y a sus procesos definidos,
5
pueda compararlas con este conjunto de mejores prácticas, determinando cuál es su situación
actual, objetivos y prioridades de mejora, y de qué manera podrían mejorar sus procesos.
Para obtener una correlación entre las prácticas actuales de la empresa y aquellas
recomendadas por el modelo, se realizan evaluaciones de acuerdo a un método de evaluación.
Uno de ellos es SCAMPISM (Standard CMMI Appraisal Method for Process Improvement)3.
Estas evaluaciones pueden ser más formales o informales, dependiendo de la etapa en la que
se encuentre el proceso de mejora.
1.3. IDEAL
Para realizar un proyecto de mejora continua, se debe adoptar una guía o metodología. Una
de las más utilizadas es IDEALSM, llamada así por las fases que componen este método:
Initiating, Diagnosing, Establishing, Acting and Learning3, tal como se muestra en la figura 2.
Figura 2: El modelo IDEALSM
3 SCAMPI e IDEAL son servicios registrados por la Universidad de Carnegie Mellon.
6
Al Iniciar (Initiating) se identifican los objetivos de negocio, se identifican los principales
problemas a resolver, se obtiene compromiso y patrocinio de la Dirección, se entrena o informa
acerca de los métodos de mejora, y se comunica la iniciativa a la organización.
Al Diagnosticar (Diagnosing) se establece la madurez con la que cuenta en ese momento la
organización: se identifican fortalezas y áreas de mejora; se definen recomendaciones de
mejora.
En la etapa de Establecer (Establishing) se desarrolla el plan estratégico de mejora de
procesos, se establecen metas de mejora y se desarrollan planes tácticos para abordar las
recomendaciones.
Al Actuar (Acting) se definen los procesos, se definen las mediciones, se desarrollan
proyectos piloto para los nuevos procesos y mediciones, y finalmente se institucionalizan los
procesos y las mediciones.
Al Aprender (Learning) se identifican y analizan las lecciones aprendidas, se mide el
esfuerzo dedicado, se refuerza el patrocinio y compromiso, y se planifica para el siguiente ciclo
de mejora.
IDEALSM, al ser un modelo cíclico, permite que la fase Aprender sea la entrada para el inicio
de un nuevo ciclo de mejora, impulsando la mejora continua de procesos.
El modelo de referencia, el método de evaluación y la guía para la mejora de procesos, se
relacionan como lo muestra la figura 3.
Figura 3: Representación de relación entre modelo de referencia, método de evaluación y guía de
proceso de mejora
Modelo de Referencia (CMMI)
Método de evaluación
(Scampi A, B, C)
Guía de proceso de mejora (IDEAL)
7
El modelo de referencia es una representación abstracta de las entidades y relaciones
involucradas en el contexto. Provee una guía y representa un marco de trabajo para priorizar
acciones. Mediante el método de evaluación se diagnostica qué tan cerca o lejos se encuentra
la empresa del modelo de referencia. Finalmente la guía de proceso de mejora determina pasos
y actividades necesarios para llevar a cabo el proyecto de mejora, de acuerdo a los resultados
del método de evaluación y al modelo de referencia.
Esta mejora se enmarca dentro de un plan de calidad que para que tenga éxito, debe ser
elaborado considerando:
- objetivos de mejoras alineados con los objetivos de negocio,
- el compromiso de la dirección y del personal, para que se traduzca en esfuerzo en
equipo,
- actividad continua aplicando estrategias,
- capacidad para medir mejoras cuantitativamente,
- seguimiento y difusión de los resultados que se van obteniendo.
Debido a que estos proyectos de mejora generalmente requieren varios ciclos y etapas, y de
una inversión de tiempo considerable ya que su duración suele ser importante, es
recomendable que el avance del proyecto tenga una clara visibilidad; esto puede lograrse
mediante la utilización de herramientas que faciliten esta tarea.
1.4. Problema a resolver
En el contexto de la producción de software, el proyecto de mejora de procesos, es un
proyecto extenso, que requiere de un gran compromiso por parte del equipo de desarrollo, de la
gerencia con su auspicio y también de inversión de recursos humanos, económicos, y de
infraestructura, entre otros. Según datos recolectados por el SEI, por ejemplo para pasar de
nivel 1 a nivel 2 de madurez, en promedio las empresas se toman aproximadamente un año y
medio y para llegar a nivel 5 aproximadamente 6 años y medio [SEI06b].
Si se considera todo este tiempo, se presenta un problema relacionado con el cambio de
personas y roles en las diferentes áreas de la empresa, y este flujo de personas no es
despreciable. Cuando las personas se cambian de trabajo, generalmente se llevan el
conocimiento consigo y éste no necesariamente queda registrado. Hablando en el caso
específico del proyecto de calidad, el conocimiento que generalmente no queda registrado son:
8
las decisiones tomadas, la ubicación, secuencia y lógica del uso del conocimiento almacenado
en artefactos.
Las personas que se incorporan a la empresa, no siempre logran tener rápidamente una
visión global de los proyectos en los que se involucran y mientras más extenso sea el proyecto,
más difícil resulta que puedan adquirir esa visión general de manera rápida si no existe
información y gestión centralizada del proyecto. Esto también se aplica al incorporar nuevas
personas a un gran proyecto como el de mejora.
De igual manera no necesariamente se sigue un estándar de formato, tipo y almacenamiento
para documentos y en estos casos, tampoco se conoce cuáles son las últimas versiones que se
debe utilizar en el proyecto de mejora, ya que no siempre la documentación que apoya este
proyecto está condensada, consolidada y accesible en un solo lugar.
En general, por la pérdida de conocimiento, falta de estándares y otras razones que se
detallaron anteriormente, se tienen efectos colaterales como que no exista el contexto
adecuado para recabar las lecciones aprendidas, y analizar qué salió bien y qué se podría
mejorar en los siguientes ciclos.
Todo lo expuesto anteriormente provocaría aumento de tiempos y costos indirectos al
proyecto de calidad. Es por ello que contar con una herramienta que sirva de guía y resuelva los
aspectos mencionados, representaría una gran ventaja para el manejo del proyecto de mejora.
1.5. Solución propuesta
Si bien CMMI® no es una normativa en la que se especifique cómo se debe implementar
una mejora de procesos ni obliga el uso de ninguna herramienta, un factor favorable a la exitosa
implementación de este modelo, puede ser contar con una herramienta que de soporte y que
sea una guía para la gestión del proyecto de calidad y de igual manera, facilite la transición
hacia CMMI®.
El contar con una herramienta de soporte al proceso de mejora, permitiría que el proyecto
contenga toda su información consolidada y con una estructura correspondiente al proceso de
mejora, que represente una bitácora donde se puedan almacenar las lecciones aprendidas y
mejoras desarrolladas en este proceso. Esto es muy valioso considerando todos los
9
involucrados en el proyecto (auspiciador, Engineering Process Group EPG, equipos de trabajo),
ya que mantener una apropiada visibilidad permitirá facilitar y alentar el intercambio de
información, realizar acciones y tomar decisiones en el momento que sean necesarias, así
como bajar el nivel de incertidumbre muchas veces provocado por proyectos de esta magnitud.
De igual manera, considerando que estos proyectos de mejora pueden llevar un tiempo
considerable en realizarse, es importante tomar en cuenta que a medida que avance el proyecto
se van a incorporar nuevas personas o inclusive algunas serán reemplazadas. Es por ello, que
es muy valioso, que si una nueva persona se incorpora tenga toda la información a mano y
pueda ver qué se ha hecho, cuál es el avance de las actividades y qué otras tareas están por
venir.
Por todo lo expuesto anteriormente, el objetivo de esta tesis es el construir una herramienta
que de soporte al jefe de proyecto de calidad en el manejo de un proyecto de mejora de
procesos de acuerdo a los modelos CMMI® e IDEALSM. Específicamente que permita llevar el
historial del desarrollo del proyecto de mejora como son:
- bitácora que refleje qué decisiones se tomaron en relación al proyecto,
- almacenar artefactos que se generaron como parte del proyecto (documentos,
imágenes, procesos, entre otros) y
- documentar los procesos,
todo esto de manera organizada, correlacionada y correspondiente con el modelo IDEALSM y
CMMI® como modelo de referencia.
Además que la herramienta facilite:
- Definir el plan del proyecto de mejora de la calidad, etapas e hitos.
- Definir responsables, tareas, entregables y fechas.
- Monitorear avance del proyecto.
Y, todo esto, ligado a un repositorio para que los documentos que se vayan generando se
registren automáticamente.
Lo valioso de tener una herramienta con estas características es que la información estaría
concentrada en el sistema, sería fácil reutilizarla y analizarla cuando se requiera, por lo que
sería un gran soporte para el proyecto de mejora de procesos de software en tareas como
visualización de avance de proyecto y de su historial, además de ayudar en la capacitación a
nivel de procesos y su correlación con el modelo de referencia CMMI®, aspectos que son
relevantes para un exitoso proceso de mejora [Per06].
10
1.6. Trabajos relacionados
Al realizar una investigación, se han encontrado herramientas de soporte para varios
aspectos relacionados con un proyecto de mejora de procesos, como son:
- evaluación del proceso
- estimación y monitoreo de proyectos
- seguimiento del ciclo de vida de desarrollo de software
- documentación del proceso
- registro de métricas de software
En un sitio web especializado donde se encontró la mayor cantidad de herramientas de
soporte para un proceso de mejora, la mayoría de las herramientas detalladas están orientadas
a realizar auto evaluaciones y a ayudar a la incorporación de procesos y seguimiento de
proyectos de software, mas no a dar soporte al proceso de mejora como tal. De igual manera,
en ese sitio se encontraron empresas que se orientan a dar asesoría, consultoría,
entrenamiento y a brindar su conocimiento y experiencia con respecto a la mejora de procesos
en general, pero no ofrecen herramientas concretamente [SPIP06]. Se vio particularmente:
- Agile SPI – Process Manager Tool, de la Universidad del Cauca Colombia [PF06]. Esta
herramienta permite la administración de un proyecto de mejora y gestiona actividades,
responsables, roles, recursos y productos de trabajo asociados a este tipo de proyecto y
fue creada como complemento de la tesis: “Proceso Ágil para la Mejora de Procesos de
Software: Agile SPI - Process”.
Este es un prototipo que fue construido en el marco de la creación e investigación del Agile
SPI – Process que es un proceso ágil para la mejora de procesos de software orientado a las
Pymes. De lo que se pudo observar de la versión del prototipo a la que se tuvo acceso, el
enfoque fundamental y la esencia de dicha tesis fue la creación del proceso ágil y no la
herramienta como tal. Este prototipo fue construido como soporte de la tesis, por lo que sus
funcionalidades son básicas con respecto a lo que se propone en el presente trabajo, sin
embargo el enfoque de la herramienta es muy similar al que se propone en esta tesis. Aunque
no se considera una opción extenderla, posiblemente se usarán algunos de sus conceptos
como inspiración.
En cuanto a herramientas de apoyo para implementación de las diferentes áreas de proceso,
se ha visto particularmente:
11
- Rational® Suite de IBM que ofrece un conjunto de soluciones que dan soporte a los
procesos [IBM06]. Entre sus características considera generación de código desde
modelos, manejo de requerimientos integrado, entrega de reportes de defectos y de
estatus de avance de actividades, versionamiento, testing automático, análisis de
performance, configuración de procesos, gestión de configuración, entre otras. Se
deduce de esta descripción, que esta suite ofrece soporte a varias áreas consideradas
dentro del modelo de CMMI®, pero no está orientada específicamente a dar soporte al
plan de mejora de calidad. Las herramientas que componen esta Suite son Team
Unifying Platform, PurifyPlus for Windows, Rose Enterprise y Robot. Team Unifying
Platform incluye a su vez herramientas como:
o Method Composer que contiene librerías de procesos que pueden ser
configuradas y personalizadas y que contienen guías y mejores prácticas
incluyendo RUP.
o Requisite Pro que provee herramientas para facilitar la definición, organización y
trazabilidad de requerimientos,
o ClearCase LT provee software de administración de configuración por medio de
control de versiones,
o ClearQuest provee reporte de defectos y seguimiento de cambios,
o TestManager provee una consola central para la administración, ejecución y
reporte de actividades de pruebas. Estas pruebas incluyen pruebas unitarias, de
regresión y de rendimiento.
- Kanav de Vates, está compuesto de una serie de módulos para el soporte a un proyecto
de mejora de CMM [Vat03]. Considera la gestión de requerimientos (K-request),
planificación de proyectos (K-project), seguimiento y supervisión a través de paneles de
control, gestión de subcontratación de software, aseguramiento de calidad de software,
gestión de configuración de software, definición del proceso de la organización (K-
process), y gestión de entrenamiento, entre otras. De acuerdo a su descripción, este
producto tiene una clara orientación hacia la implementación del proyecto de mejora con
el modelo CMM, aunque al momento de consultarla aún no se mencionaba su
actualización de soporte para CMMI®.
Estas dos herramientas están orientadas a dar un soporte completo en cuanto a la
implementación de las áreas de proceso del modelo CMMI®. Este aspecto no está considerado
como objetivo de la presente tesis.
12
Se presenta a continuación una tabla comparativa con el resumen de las características que
se encontraron en los sistemas evaluados:
Herramienta AgileSPI Process Manager Tool
Rational Suite Kanav Simple
Enfoque Soporte a la
administración de un
proyecto de mejora
de procesos.
Soporte
específico a las
áreas de
proceso.
Soporte a
determinadas a
las áreas de
proceso.
Soporte a la
implantación de un
proyecto de mejora
de procesos
basado en CMMI y
de acuerdo a
modelo IDEAL.
Características Gestiona actividades,
responsables, roles,
recursos y productos
de trabajo.
Implementación
de varias de las
áreas de
proceso del
modelo CMMI.
Módulos para
gestión de
requerimientos,
planificación de
proyectos.
Gestión
centralizada del
proyecto de
calidad, ciclos,
fases, actividades,
responsables,
documentos
generados y
lecciones
aprendidos del
mismo.
Otras Características
Prototipo creado en
el marco y como
soporte a tesis.
Definición del
proceso de la
organización.
Proporciona una
guía documentada
de los modelos
CMMI e IDEAL.
Modelos base Agile SPI Process RUP CMM CMMI e IDEAL
Tabla 1. Tabla comparativa con características de sistemas evaluados
La ventaja de utilizar estas herramientas, está en que recogen las mejores prácticas de
cada modelo base y se orientan en las necesidades de cada grupo a los que apunta la
herramienta, apoyando diversas mejoras en diferentes áreas de procesos.
Por otro lado, el tiempo que le lleva a una empresa incorporar el conocimiento necesario
para utilizar correctamente y aprovechar todas las funcionalidades ofrecidas por las
herramienta, varían de acuerdo a la herramienta, así por ejemplo podríamos calificar a Rational
13
Suite como la que requiere mayor esfuerzo y especialización para su aprendizaje y manejo. Las
otras herramientas tendrían una curva de aprendizaje con rango entre moderado y rápido.
Con respecto a la presencia en el mercado de cada una de estas herramientas, no puede
ser comparado, ya que su enfoque de comercialización y presencia en la industria son
completamente diferentes.
Es importante considerar que probablemente por medio del uso de estas herramientas, se
lograría alcanzar los objetivos propuestos de la presente tesis, ya que incorporan las mejores
prácticas y bases sólidas para que el modelo de referencia CMMI® pueda ser completado y
seguido. Sin embargo, su enfoque principal y fortaleza radica en apoyar el cómo se deben
implementar las áreas de proceso, y no en el qué se está implementando y la recolección de
información que se genera como parte del proyecto de mejora, que es el enfoque propuesto en
esta tesis.
14
2. ANÁLISIS DEL SISTEMA
En este capítulo se determina la funcionalidad deseada y se presentan los requisitos
identificados, los mismos que son una descripción de las necesidades de la herramienta.
Además se afinan las funcionalidades y cualidades del sistema mediante: la descripción del
dominio del problema por medio del modelo conceptual, la descripción del ambiente operacional
del sistema y la especificación de la interfaz de usuario de la herramienta.
2.1. Especificación de requisitos del Sistema
Se describe de manera general de la herramienta, se especifican los requisitos específicos y
se identifican los actores y casos de uso.
2.1.1. Descripción general
Objetivo general
El objetivo del sistema es dar soporte al jefe de proyecto de calidad en el manejo de un
proyecto de mejora de procesos de acuerdo a los modelos CMMI® e IDEALSM.
Objetivos específicos
Los objetivos específicos de esta herramienta son:
- Automatizar la gestión de tareas y procesos específicos dentro del proyecto de mejora.
- Proporcionar una planificación y administración guiada y centralizada del proyecto de
mejora.
- Apoyar a que el proceso de mejora cuente con etapas definidas y material descriptivo de
ayuda, logrando una presentación efectiva de información del proyecto.
- Proporcionar visibilidad durante todo el proyecto para los diferentes involucrados,
permitiendo el seguimiento del proyecto.
- Gestionar y centralizar artefactos generados a través del proceso de mejora.
15
Definición
Esta es una herramienta Web orientada a dar soporte en la gestión del proyecto de mejora
de calidad de procesos basada en los modelos CMMI® e IDEALSM. Será denominada como
Sistema de Implementación de Mejora de Procesos: SIMPLe.
La herramienta representa una bitácora documental del desarrollo del proyecto de mejora de
la calidad de procesos, en donde se puedan registrar fácilmente mediante actividades,
comentarios y artefactos, cómo se va produciendo el desarrollo del proyecto de mejora de
procesos, su historia, las decisiones tomadas y lógica de uso de los artefactos generados.
El objetivo al gestionar este conocimiento, es refinar los siguientes ciclos del proyecto para
que éstos sean más efectivos. Se recogen, analizan y agregan a la base de conocimiento, las
lecciones aprendidas, para con ello hacer correcciones y ajustes necesarios para los siguientes
ciclos del proyecto.
El sistema permite registrar y justificar cómo se llegaron a tomar decisiones importantes del
proyecto, qué sucedió en cada uno de los ciclos, cómo se lograron las metas, facilitando el
capturar y compartir conocimiento entre los diferentes participantes.
Además la herramienta ofrece una guía estructurada ya que, por medio de una fácil
configuración, se puede administrar y seguir el proyecto de mejora, que estará compuesto de
varios ciclos, que a su vez contendrán fases correspondientes a las del modelo IDEALSM.
Esta herramienta permite:
- gestionar de manera centralizada el proyecto de calidad, sus fases, actividades e
involucrados,
- correlacionar las etapas identificadas en el proyecto con las fases del modelo guía
IDEALSM,
- llevar una bitácora de las decisiones tomadas y lecciones aprendidas durante el
proyecto, mediante la incorporación sencilla de comentarios en donde éstas puedan ser
descritas,
- dar soporte a la documentación de los procesos de la organización, relacionándolos con
las áreas de proceso del modelo CMMI®,
- y almacenar los artefactos generados de manera centralizada proporcionando una
visualización de avance de proyecto y de su historial, al contar con un panel de control.
16
2.1.2. Requisitos específicos
Requisitos funcionales
A continuación se presenta un listado con la descripción de las funciones con las que debe
contar el sistema.
- El sistema permitirá al jefe de proyecto planificar y organizar el desarrollo del proyecto
de mejora de calidad de procesos, contando con una guía ajustada al modelo para
manejo de proyectos de mejora de procesos: IDEALSM.
- El sistema permitirá que el jefe de proyecto de mejora de calidad de procesos gestione
de manera centralizada y estructurada: el proyecto, sus ciclos, fases, actividades,
involucrados (responsables), artefactos generados y lecciones aprendidas del mismo.
Se consideran artefactos todos los productos tangibles del proyecto, las cosas que el
proyecto produce o usa para componer el producto final (modelos, documentos,
imágenes, archivos, código, ejecutables u otros elementos en general).
- El sistema permitirá que el jefe de proyecto de mejora de calidad de procesos defina los
usuarios involucrados en el proyecto y les asigne su rol dentro del proyecto, pudiendo
ser: responsables de área de proceso, miembro del EPG o del Comité Ejecutivo. Estos
usuarios también podrán acceder al sistema.
- El sistema permitirá que el jefe de proyecto de mejora de calidad de procesos defina
actividades (tareas), responsable (usuario) y tiempo para ejecutarlas.
- El sistema permitirá que los usuarios del sistema registren la bitácora del desarrollo del
proyecto, recolectar la historia de evolución de sus elementos (por ejemplo artefactos
generados y sus versiones, actividades y su duración), lecciones aprendidas
(comentarios) de las decisiones tomadas o lógica de uso de artefactos.
- El sistema proporcionará la opción de que el jefe de proyecto seleccione y especifique el
área o las áreas de proceso que serán gestionadas o mejoradas en el ciclo actual. En un
ciclo se podrán gestionar una o varias áreas de proceso y las áreas pueden ser
gestionadas en uno o varios ciclos.
- El sistema brindará la posibilidad de visualizar el avance y el estado del proyecto.
- El sistema permitirá visualizar el historial y el desarrollo del proyecto, es decir permitirá
acceder a toda la información tanto del ciclo actual que será identificado como activo y
abierto, como de los ciclos pasados que serán identificados como inactivos y cerrados.
La información de los ciclos inactivos no podrá ser modificada, sólo visualizada, sin
embargo sí se podrán añadir comentarios.
- El sistema brindará soporte a la documentación de los procesos organizacionales y su
correlación con las áreas de proceso del modelo de referencia CMMI®.
17
Atributos de Calidad
Se describen a continuación los atributos definidos para el sistema:
- El sistema deberá proveer al usuario una interfaz gráfica que sea amigable, es decir que
sea lo suficientemente fácil de utilizar. Se proveerá al usuario mensajes, ayuda
contextual e información útil en línea referente a los modelos CMMI® e IDEALSM para
que puedan ser consultados por el usuario. En una escala de 1 (poco amigable) a 7
(muy amigable), el sistema deberá ser valorado al menos con un 4 que implica que el
sistema es lo suficientemente amigable y fácil para ser usado.
- El sistema deberá ser usable, es decir la navegación debe resultar entendible, intuitiva y
la información relevante debe ser fácil de encontrar. En una escala de 1 (poco usable) a
7 (muy usable), el sistema deberá ser valorado al menos con un 4 que implica que el
sistema es lo suficientemente usable para ser utilizado por un usuario con conocimientos
básicos de los modelos CMMI® e IDEALSM y de gestión de proyectos de mejora.
- El sistema deberá ser mantenible y extensible, para que funcionalidad pueda ser
añadida en un tiempo y con esfuerzo moderado. La herramienta debería poder ser
desarrollada incrementalmente.
- El sistema deberá ser Web. Los usuarios podrán ingresar al sistema, a través del
navegador. No existen restricciones específicas con respecto a los browsers y sus
versiones, mas deberá funcionar al menos en Internet Explorer, Mozilla Firefox y Opera.
2.1.3. Identificación de Actores y Casos de Uso
En esta sección se presenta la identificación de los actores del sistema, de los casos de uso
que describen la secuencia de eventos que utiliza el sistema para completar un proceso
determinado y sus correspondientes diagramas.
Descripción de actores del sistema
Los actores identificados que interactúan con el sistema son:
18
Actor Definición
Jefe de Proyecto El jefe de proyecto administrará y coordinará el proyecto de
mejora de calidad de procesos. Maneja toda la información
relacionada y generada, así como coordina con los diferentes
involucrados del proyecto. El jefe de proyecto será el que
administre toda la aplicación y tenga todos los permisos sobre el
sistema.
Responsable de
Área
El responsable del área de proceso implementa las actividades
de proyecto, específicamente lo referente al área de proceso
asignada a su equipo de trabajo. Podrá administrar las
actividades y artefactos relacionados al área de proceso
designada.
EPG Engineering Process Group. Facilita y coordina el proyecto, guía
las actividades mas no implementa. Podrá consultar y visualizar
toda la documentación; además podrá añadir y visualizar
lecciones aprendidas del proyecto.
Comité Ejecutivo El comité ejecutivo auspicia el proyecto, provee recursos,
monitorea avance proyecto, provee guía y acciones correctivas
cuando es necesario. Podrá consultar y visualizar toda la
documentación; además podrá añadir y visualizar lecciones
aprendidas del proyecto.
Diagrama de Casos de Uso de alto nivel
Se muestra a continuación el diagrama de los casos de uso de alto nivel simplificado:
19
Figura 4: Diagrama de Casos de Uso de alto nivel del sistema
Descripción de Casos de Uso
En la siguiente tabla se muestran los casos de uso de alto nivel y sus correspondientes
casos esenciales. Para mayor detalle sobre los casos de uso esenciales, favor ver Anexo 1.
CU alto nivel CU esenciales
Crear proyecto de mejora de calidad de procesos
Gestionar usuario
Gestionar actividades
Cerrar ciclo actual
Seleccionar área de proceso para ciclo actual
Gestionar artefactos
Añadir y visualizar comentarios
Gestionar proyecto de mejora de calidad de procesos
Visualizar historial de cambios
20
Ingresar al sistema
Ingresar al sistema
Gestionar área de proceso
Gestionar documentación de procesos organizacionales
Visualizar proyecto Visualizar panel de control
Diagrama de Casos de Uso del Sistema
Se muestra a continuación el diagrama de los casos de uso para el jefe de proyecto:
Figura 5: Diagrama de Casos de Uso para el jefe de proyecto
Este diagrama resume todas las funciones disponibles en el sistema, ya que el rol de jefe de
proyecto puede realizarlas todas.
21
2.2. Modelo Conceptual
Un modelo conceptual explica los conceptos más significativos en un dominio del problema,
identificando atributos y asociaciones.
En la siguiente figura se muestran los conceptos identificados para el sistema, y sus
atributos.
Figura 6: Conceptos y atributos del Sistema
Un usuario del sistema cumple un rol y gestiona un proyecto. Este proyecto está compuesto
de uno o varios ciclos. El ciclo tiene 5 fases que son: iniciar, diagnosticar, establecer, actuar y
aprender, y contienen una o varias actividades. La actividad puede tener comentarios y/o
artefactos. Una o más áreas de proceso son gestionadas en uno o más ciclos. Un área de
proceso se encuentra en un nivel de CMMI® y debe cumplir un objetivo genérico y varios
objetivos específicos, los cuales se cumplen mediante prácticas genéricas y prácticas
específicas, respectivamente.
En la siguiente figura se muestra el modelo conceptual obtenido en base a los requisitos,
conceptos y definiciones del sistema.
22
Figura 7: Modelo Conceptual del Sistema
2.3. Especificación de Interfaz de usuario
Se presentan a continuación un listado general de las especificaciones de la interfaz gráfica:
- Es un sistema basado en Web con funcionalidades avanzadas de DHTML (Dynamic
HTML).
23
- La interfaz de la herramienta cuenta con dos secciones: la izquierda en la que se
realizan las acciones propias del manejo de la herramienta como ingreso y modificación
de información. En el lado derecho se despliega ayuda contextual, es decir, información
útil correspondiente al contexto de trabajo de la sección izquierda que se encuentre
desplegada en ese momento.
- Existe una barra de menú en la parte superior de las pantallas que permite la activación
de diferentes opciones de la herramienta.
- Los campos poseen una descripción acerca de la información que contienen.
- Los posibles mensajes de error se muestran en la misma pantalla en la parte superior.
El siguiente diagrama ilustra la estructura de navegación de la herramienta:
Figura 8: Mapa de navegación del Sistema
Esta figura representa el conjunto de páginas y sus relaciones navegacionales que son
proporcionadas dentro de la herramienta.
24
Al ingresar al sistema se presentan dos opciones: si no existe un proyecto de mejora de
calidad de procesos se lo puede crear o hacer login en el sistema. Al finalizar cualquiera de
estas dos acciones se muestra el panel de control desde el cual, mediante el menú, se pueden
acceder a las diversas funcionalidades que presenta el sistema.
La herramienta está construida de manera que pueda existir más de un proyecto de mejora
de procesos de manera simultánea.
25
3. DISEÑO DEL SISTEMA
Una vez que se ha realizado el análisis y se han obtenido los requisitos del sistema, se
definieron los casos de uso reales del sistema apoyados por la creación de un prototipo estático
navegacional (páginas Web). De igual manera se realizó un diseño completo de la base de
datos, basado en el modelo conceptual previamente definido y se determinó la arquitectura que
debía tener la aplicación.
En el presente capítulo se describe cómo se logra obtener un diseño que da soporte a todos
los requisitos planteados, gracias a la combinación de la utilización de los enfoques Top-down y
Bottom-up. El enfoque Top-down enfatiza el conocimiento completo del sistema y el enfoque
Bottom-up privilegia el análisis detallado de los elementos base del sistema.
Para el sistema, se utilizó el enfoque Top-down definiendo la capa de presentación por
medio de la construcción del sitio Web estático navegable, que al representar visualmente los
requisitos, permitió refinar el alcance del sistema y los requisitos. El enfoque Bottom-up se
produjo mediante una exhaustiva definición de la base de datos y reutilización de componentes
existentes.
3.1. Casos de Uso Reales del Sistema
A continuación se detallan los casos de uso reales y el curso normal de eventos para ciertos
casos de uso representativos como: Crear proyecto de mejora de calidad de procesos,
Visualizar panel de control, Gestionar actividades, Cerrar ciclo actual y Seleccionar área de
proceso para ciclo actual.
Nombre Crear proyecto de mejora de calidad de procesos
Actor Jefe de Proyecto
Propósitos Crear el proyecto de mejora de calidad de procesos y además
al usuario jefe de proyecto, los ciclos, fases y actividades para
el primer ciclo del proyecto.
26
Descripción Este caso de uso representa una funcionalidad importante ya
que implica la configuración y creación del proyecto.
Figura 9. Interfaz – Caso de uso: Crear proyecto
Acción de los actores Respuesta del Sistema
1. El jefe de proyecto ingresa
al sistema para crear el
proyecto. El jefe de proyecto
pulsa sobre link para crear el
proyecto.
2. Muestra la pantalla para creación del usuario jefe de proyecto.
3. El jefe de proyecto ingresa
sus datos: nombre, apellido,
email, teléfono, usuario y
password.
4. Verifica datos ingresados. Muestra la pantalla para creación
del proyecto.
5. El jefe de proyecto ingresa
datos de proyecto: nombre,
descripción, objetivos del
proyecto, fecha de
finalización estimada. El jefe
de proyecto puede anexar
también al proyecto un
artefacto y comentarios. El
jefe de proyecto especifica
6. Verifica datos ingresados. Almacena los datos y crea el
usuario que ejercerá el rol de jefe de proyecto, quien será el
administrador de toda la aplicación y tendrá todos los permisos
sobre el sistema.
27
tipo de detalle (plantilla) de
las actividades de cada fase.
7. Crea el proyecto de mejora de procesos, la fecha de inicio del
proyecto, será la fecha actual de creación. Almacena el archivo
y comentario en caso de que hayan sido ingresados y crea el
primer ciclo del proyecto y sus fases: Iniciar, Diagnosticar,
Establecer, Actuar y Aprender.
8. Crea actividades para cada fase basado en el tipo de plantilla
especificada. Existen dos tipos de plantillas: básica o avanzada.
Al crearse el ciclo con la plantilla de actividades básicas, las
fases serán creadas únicamente con ciertas actividades
generales para cada fase. Al crearse el ciclo con una plantilla de
actividades avanzadas, las fases serán creadas con actividades
más detalladas para cada fase.
Las actividades de la plantilla tienen asignada una duración, por
lo que las actividades son creadas considerando la fecha actual
de creación del proyecto y su duración respectiva. Por ejemplo,
la primera actividad, tendrá una fecha inicial igual a la fecha
actual de creación del proyecto. La siguiente actividad a ser
creada, tendrá por fecha inicial, la fecha en la que, de acuerdo a
la duración de la actividad anterior, la actividad anterior terminó
y por lo tanto la nueva actividad empieza.
9. Despliega en la pantalla de Panel de Control todos los
elementos creados.
Nombre Visualizar panel de control
Actor Usuario (Jefe de proyecto, Responsable de área, EPG o
Comité Ejecutivo)
Propósito Visualizar avance y estado de proyecto, así como actividades
dentro del proyecto.
Descripción Este caso de uso representa la funcionalidad de visualización
del avance y estado del proyecto, mostrando todos los ciclos,
fases y áreas de proceso que hayan sido trabajadas en el
proyecto de mejora hasta el momento.
28
Figura 10. Interfaz – Caso de uso: Visualizar Panel de Control
Acción de los actores Respuesta del Sistema
1. El usuario visualiza
desarrollo de proyecto. El
usuario pulsa sobre link para
visualizar desarrollo de
proyecto.
2. Muestra una pantalla con dos claros elementos para
visualización de avance y estado del proyecto.
En la parte superior se muestran todos los ciclos abordados, las
fases y las áreas de proceso seleccionadas en ese ciclo. Se
muestra el ciclo actual (activo) abierto. Se puede navegar a
través de los ciclos, fases y áreas. Al hacer click sobre el
nombre del ciclo, se muestra su pantalla de configuración. Al
hacer click sobre el nombre de una determinada fase, se
muestra un listado de actividades filtradas de acuerdo a la fase y
ciclo seleccionados. Al seleccionar una determinada área de
proceso, se desplegarán todas las actividades filtradas por el
área de proceso especificada.
3. Muestra en la parte inferior, listados de las actividades
planificadas para el desarrollo del proyecto. Se muestra un
listado de mis próximas actividades, actividades vencidas sin
empezar y otro listado de las últimas actividades terminadas. Se
muestran listadas 10 de cada una.
Al hacer click sobre "Ir a: ..." se muestra un listado de las
actividades filtradas de acuerdo al criterio especificado. Al hacer
click sobre una de las actividades listadas, específicamente
29
sobre la fecha, se presenta la pantalla para edición de la
actividad especificada.
Nombre Gestionar actividades
Actor Jefe de Proyecto, Responsable de área
Propósito El usuario podrá gestionar actividades, es decir visualizar una
lista de actividades, crear, modificar o eliminar actividades.
Descripción Este caso de uso representa la funcionalidad de gestión de
actividades.
Figura 11. Interfaz – Caso de uso: Gestionar actividades
Acción de los actores Respuesta del Sistema
Nombre Listar actividades
1. El usuario gestiona
actividades, es decir
visualiza una lista de
actividades, crea, modifica o
elimina actividades.
.
2. Muestra las actividades de acuerdo a los criterios de filtro que
hayan sido seleccionados.
En la parte superior se muestra información del ciclo activo y se
puede crear una nueva actividad. En la siguiente sección, se
especifican los criterios mediante los cuales se filtrarán las
actividades.
En la siguiente sección se muestran listadas las actividades, de
acuerdo a los criterios de filtrado especificados. Estas
actividades pueden ser editadas, haciendo click sobre su
identificador (ver editar actividad) o pueden ser eliminadas,
seleccionándolas en la correspondiente opción de Eliminar.
30
Finalmente en la parte inferior de la pantalla se muestran los
elementos de paginación de las actividades.
Nombre Crear actividad
1. El usuario crea una
actividad. El usuario pulsa
sobre link para crear
actividad.
2. Muestra pantalla de ingreso de datos para nueva actividad.
3. El usuario ingresa datos
de actividad: nombre,
descripción, responsable,
fase, fecha inicial estimada,
duración, área de proceso
relacionada, artefacto y
comentario.
4. Verifica datos ingresados. Registra los datos ingresados. El
ciclo está dado por defecto, ya que solo se pueden crear
actividades para el presente ciclo, que es el que se encuentra
activo (abierto). Se mostrará el listado de áreas de proceso, de
acuerdo a aquellas que sean activadas para el presente ciclo.
5. Muestra la pantalla de edición de la actividad.
Nombre Editar actividad
1. El usuario edita una
actividad. El usuario pulsa
sobre link para editar
actividad.
2. Muestra pantalla con datos ingresados de la actividad.
3. El usuario ingresa nuevos
datos de actividad, así como
artefactos o comentarios.
4. Verifica datos ingresados. Se puede: editar los datos básicos
de la actividad, administrar artefactos relacionados e ingresar
comentarios o ver el historial de cambios.
Al editar los datos básicos, se pueden modificar los mismos
datos que se especificaron en la creación de la actividad.
Al guardar o cancelar se permanece en la misma página de
edición.
Se pueden visualizar los artefactos o agregar nuevos. De igual
manera, se pueden añadir comentarios relacionados con la
actividad. Se registran los nuevos datos ingresados.
Se puede ver también el historial de cambios que permite
conocer todos los cambios que han sido realizados en el tiempo,
ya que describe el campo que fue modificado, el valor anterior y
el nuevo valor que tomó el campo.
Al terminar la edición de la actividad, se puede regresar al
listado de actividades mediante el link superior de la sección
izquierda Actividades.
31
Nombre Eliminar actividad
1. El usuario elimina una
actividad. El usuario pulsa
sobre link para eliminar
actividad.
2. Muestra pantalla de confirmación.
3. El usuario confirma
eliminación de actividad.
4. Cambia el estado de la actividad a borrada. Esta actividad no
podrá ser modificada, mas sí podrá ser listada, visualizada y
contener nuevos comentarios.
Nombre Cerrar ciclo actual
Actor Jefe de Proyecto
Propósito Cerrar el ciclo actual. Crear un nuevo ciclo, sus fases y
actividades.
Descripción Este caso de uso representa una importante funcionalidad de
cierre del ciclo actual, y creación del siguiente ciclo, sus fases
y actividades de acuerdo a una plantilla. Este caso de uso
solo se presenta para el ciclo activo y cuando todas las
actividades desarrolladas en el ciclo a cerrar están en un
estado terminal: terminadas o borradas.
Figura 12. Interfaz – Caso de uso: Cerrar Ciclo actual
Acción de los actores Respuesta del Sistema
1. El jefe de proyecto cierra
ciclo. El jefe de proyecto
pulsa sobre link para cerrar
ciclo actual.
2. El jefe de proyecto
especifica tipo de detalle
(plantilla) de las actividades
de cada fase.
3. Actualiza la fecha final del ciclo actual, es decir cierra el ciclo.
Crea nuevo ciclo con fecha inicial igual a la fecha de cierre del
ciclo anterior, sus fases y actividades. Crea actividades para
cada fase basado en el tipo de plantilla especificada.
32
Nombre Seleccionar área de proceso para ciclo actual
Actor Jefe de Proyecto
Propósito Seleccionar y activar área de proceso para ciclo
actual a ser trabajadas.
Descripción Este caso de uso representa una útil funcionalidad ya
que permite seleccionar las áreas de proceso que
serán gestionadas en el ciclo actual. Se crearán
actividades para la fase actuar de acuerdo a una
plantilla y de acuerdo al área de proceso definida.
Figura 13. Interfaz – Caso de uso: Seleccionar área de proceso para ciclo
Acción de los actores Respuesta del Sistema
1. Muestra todas las áreas de proceso descritas en
CMMI agrupadas por nivel. Las áreas de Proceso que no
hayan sido activadas para el presente ciclo, tendrán un
link de activación, y las que si, se desplegarán como
activadas.
2. El jefe de proyecto selecciona área
de proceso para ciclo. El jefe de
proyecto pulsa sobre link para
seleccionar área de proceso para ciclo.
3. Muestra pantalla de activación del área de proceso.
4. El jefe de proyecto define
responsable y fecha de inicio de
actividades.
5. El jefe de proyecto especifica tipo de
detalle (plantilla) de las actividades para
el área de proceso.
6. Despliega actividades de plantilla seleccionada.
33
7. Crea actividades para el área de proceso especificada,
para fase Actuar del ciclo actual, basado en el tipo de
plantilla especificada.
3.2. Arquitectura del Sistema
Esta sección presenta las arquitecturas física y lógica del sistema.
3.2.1. Arquitectura física
Figura 14. Diagrama de arquitectura física de la aplicación
El Sistema se plantea con una arquitectura física cliente servidor tal como se lo representa
en la figura 14. Esta es una aplicación Web con código Java estándar con soporte para
múltiples usuarios y siendo accesible desde cualquier navegador que soporte DHTML avanzado
(Dynamic HTML) que implica la combinación de HTML, Hojas de Estilo (Style Sheets) o
elementos de CSS (Cascading Style Sheets) y JavaScript. Los navegadores que soportan estas
características son: Internet Explorer 6, Mozilla Firefox 1.5, Safari 2, Opera 9 y sus versiones
posteriores.
El servidor podrá manejar cualquier sistema operativo que tenga instalado un Java Virtual
Machine (JVM). Como servidor Web utilizará Apache y como servidor de aplicaciones Tomcat
5.5. La base de datos será MySQL versión 5.0.
Cliente
Servidor
Servidor Web Apache
Servidor de Aplicaciones
Tomcat Base de
Datos MySQL
34
La máquina cliente deberá tener las siguientes características mínimas
- Procesador de 1,5 GHz
- 128 MB RAM
Además se requiere tener JavaScript activado en el navegador.
En cuanto al ambiente operacional para el servidor, se consideran las siguientes
características mínimas:
- Procesador de 1,5 GHz
- 768 MB de RAM
- Espacio libre en disco: 10 Gb
3.2.2. Arquitectura lógica
Por ser esta una aplicación Web, se ha considerado una arquitectura lógica de sistemas
multicapa. Entre las ventajas de utilizar esta arquitectura, está el poder aislar la lógica de la
aplicación en componentes separados y de esta manera lograr un sistema escalable y
extensible, además de más fácilmente modificable y sus partes más reutilizables. A
continuación se muestra un diagrama general de la arquitectura lógica del sistema y el detalle
de sus componentes:
Figura 15. Diagrama de arquitectura lógica de la aplicación
Cliente
Capa de presentación
Capa de negocio
Capa de persistencia
Base de Datos
35
Capa de presentación
Esta capa es implementada por medio de Java Server Pages (JSP) y Apache Struts 2 que
es un framework que da soporte al desarrollo de aplicaciones Web Java, y que usa el patrón de
diseño Model View Controller (MVC). Se muestra a continuación un diagrama más detallado de
esta capa:
Figura 16. Diagrama de componentes de la capa de presentación basada en Struts2
Como se muestra en el anterior diagrama, Struts2 facilita la separación entre los elementos
de la presentación.
El controlador es implementado con filtros (e interceptores que son un tipo especial de filtros)
de Struts2, que definen la lógica de flujo y navegación de la aplicación. El modelo es
implementado con acciones y validaciones sobre esas acciones (accion-validation.xml), que
contienen lógica de acceso al negocio y a datos, y finalmente la vista se implementa por medio
de páginas JSP [Rou07]. Struts 2 es un proyecto del grupo Apache Software Foundation y es
open source. (http://struts.apache.org/)
Capa de negocio
En esta capa se implementan las reglas específicas del negocio. Se implementaron los
procesos de negocio identificados durante el análisis de la aplicación.
Controlador
Filtro struts.xml
Modelo
Accion
Vista
Filtros interceptores
Cli
ente
Cap
a de
neg
ocio
JSP
36
Figura 17. Diagrama de Capa de Negocio
Esta capa se ha implementado por medio de clases regulares de Java. Se encuentran dentro
del paquete business y se implementan por medio de Manejadores que contienen únicamente
lógica de negocio.
Capa de persistencia
Esta capa es responsable de realizar el almacenamiento y la recuperación de los datos de la
siguiente capa: la Base de Datos.
Figura 18. Diagrama de componentes de la capa de persistencia basada con Hibernate
Hibernate
Capa de negocio
TablaObjetoH.hbm.xml
Base de Datos
ObjetoH.java
hibernate.cfg.xml
DTO
DAO
Capa de presentación
Capa de negocio
Capa de persistencia
37
Esta capa es implementada por medio de Persistores que son los que realizan las
operaciones requeridas por Hibernate para mapear los objetos de la aplicación para reflejar el
modelo de base de datos, tal como lo muestra la figura 18.
Hibernate es un framework de persistencia de objetos, cuyas funciones van desde la
ejecución de sentencias SQL a través de JDBC hasta la creación, modificación y eliminación de
objetos persistentes.
Por medio de los archivos .hbm.xml se indica la relación entre el objeto, la tabla y como
hibernate logra la persistencia del objeto. En este archivo se encuentran las definiciones de qué
objeto se guarda en qué tabla, indicando la relación entre propiedades del objeto y columnas de
la tabla. De esta forma se logra mapear el objeto con la base de datos. En el archivo de
configuración de hibernate.cfg.xml se especifican detalles de la conexión con la Base de Datos
y los archivos de mapeo (los archivos .hbm.xml)
Para realizar una separación entre los diferentes elementos se utilizan dos patrones de
diseño: Data Transfer Object (DTO) y Data Access Object (DAO). DTO Data Transfer Object es
un patrón de diseño usado para transferir data y no contiene ningún comportamiento excepto el
almacenamiento (set) y obtención (get) de sus propios datos. Son Plain Old Java Objects
(POJOs).
El patrón DAO hace transparente cómo los datos están almacenados y cómo se realizan los
accesos a estos. Maneja la conexión con la fuente de datos para obtener y almacenar datos.
Aquí se implementan las operaciones CRUD (Create, Read, Update and Delete).
Se muestra a continuación un diagrama de la arquitectura de Hibernate.
38
Figura 19. Diagrama de arquitectura de alto nivel de Hibernate
El diagrama anterior muestra cómo Hibernate utiliza la Base de Datos e información de
configuración para proveer servicios de persistencia (y objetos persistentes) a la aplicación.
3.3. Esquema de Base de Datos
A continuación se detalla el esquema de la base de datos, agrupado de acuerdo a
funcionalidades. En los siguientes diagramas además de las tablas y sus atributos, se
presentan las relaciones entre tablas y el nombre de la relación: los nombres de las claves tanto
primaria como foránea, que en este caso por notación, es el mismo.
Roles y usuarios
Los roles y usuarios son manejados por las siguientes tablas:
39
Figura 20. Tablas de base de datos para soporte de rol y usuario
Existen 4 tipos de roles: jefe de proyecto, responsable de área, EPG y comité ejecutivo.
Cada usuario está relacionado con un proyecto. En un proyecto sólo existirá un jefe de proyecto
y es el usuario con el que se configura la creación del proyecto de mejora.
Generación automática de actividades por medio de plantillas
Para poder dar soporte a la incorporación automática de actividades a la gestión del
proyecto de calidad, por medio de plantillas, se utilizan las siguientes tablas:
Figura 21. Tablas de base de datos para soporte de plantillas
Para poder guiar al jefe de proyecto en su labor de gestionar el proyecto de mejora de
calidad de procesos de acuerdo a los modelos CMMI® e IDEALSM, se creó el concepto de
40
plantillas, que no son más que conjuntos de actividades precargadas en el sistema y que sirven
como guía para la ejecución de tareas y consecución de pasos que deben ser realizados de
acuerdo al modelo guía IDEALSM. Estas plantillas se presentan tanto para la gestión del ciclo
como para la gestión de áreas de proceso y pueden ser de dos tipos: básica o completa. El
conjunto de actividades para la plantilla básica es de menor detalle y menor número que para la
plantilla completa.
Las fases definidas como plantilla son las del modelo IDEALSM: Iniciar, Diagnosticar,
Establecer, Actuar y Aprender.
Cada actividad, además de tener su descripción e identificación de la fase a la que
corresponde, contiene una duración predeterminada, que puede ser modificada posteriormente
por el jefe de proyecto, y es la que permite realizar los cálculos para la planificación del inicio y
fin de las actividades. Por ejemplo, si una actividad tiene duración 3 días hábiles, y la actividad
tiene por fecha de inicio el día martes 11 de diciembre del 2007, eso significa que la siguiente
actividad tendrá por fecha de inicio el día viernes 14 de diciembre del 2007. Es importante
mencionar que este cálculo distingue los fines de semana, los cuales no son considerados
como días hábiles.
Para la estimación de la duración de las actividades, se tomaron como referencia varios
proyectos de mejora de procesos y se realizaron proyecciones basadas en el acceso a la
información con respecto a duración general del proyecto y ciclos de mejora que se manejaron.
Las estimaciones realizadas de duración de las actividades no son estimaciones exactas ni
pretenden determinar cuánto deberían obligatoriamente durar las actividades; sólo es una
aproximación que se basó en proyecciones y en un criterio profesional personal de la autora del
presente trabajo. Se recomienda que estos tiempos vayan siendo revisados y ajustados por la
organización. Todo lo anterior considerando que la realidad de cada organización es particular
por todos los factores internos y externos que la componen: personal, recursos, metodologías,
tecnología y herramientas que se utilizan, experiencia y conocimiento de las personas, entre
otros criterios, y se aplica también para el ámbito específico de los proyectos de mejora de
procesos. De igual manera, cada individuo puede llevar un determinado tiempo en desarrollar
una tarea específica, pero lo que se pueda proyectar o estimar siempre será una aproximación,
y podrá ser más precisa si se basa en la historia del propio individuo y bajo similares
parámetros.
41
Para ilustrar de mejor manera el concepto de plantillas para el ciclo, se presenta a
continuación unos datos de ejemplo de las plantillas:
Plantilla Fase Número de la
actividad
Descripción de la actividad
Básica Iniciar 1 Identificar estímulo, razones para el cambio.
Completa Iniciar 1 Conformar equipo para desarrollar propuesta inicial
básica de proyecto de mejora.
Completa Iniciar 2 Establecer estímulo para el mejoramiento.
Tabla 2. Descripción de correspondencia de actividades para plantillas de fases
En la plantilla básica, en este ejemplo para la fase Iniciar, tenemos la actividad 1: Identificar
estímulo, razones para el cambio. En la plantilla completa, esta actividad estaría más detallada
y sería equivalente a estas dos actividades: actividad 1: Conformar equipo para desarrollar
propuesta inicial básica de proyecto de mejora y actividad 2: Establecer estímulo para el
mejoramiento.
De igual manera para las áreas de proceso, se consideran los siguientes datos de ejemplo:
Plantilla Número de la
actividad
Descripción de la actividad
Básica 1 Entender estado actual de proceso.
Completa 1 Revisar dominio del equipo de trabajo.
Completa 2 Recolectar y documentar datos de proceso actual.
Completa 3 Refinar detalle de proceso actual.
Tabla 3. Descripción de correspondencia de actividades para plantillas de áreas de proceso
Para el área de proceso en la plantilla básica tenemos la actividad 1: Entender estado actual
de proceso. En la plantilla completa, esta actividad estaría más detallada y sería equivalente a
estas tres actividades: actividad 1: Revisar dominio del equipo de trabajo, actividad 2:
Recolectar y documentar datos de proceso actual y actividad 3: Refinar detalle de proceso
actual.
42
Comentarios y artefactos
Para poder dar soporte a la gestión de comentarios y artefactos, se utilizan las siguientes
tablas:
Figura 22. Tablas de base de datos para soporte de comentarios y artefactos
Para dar soporte a la recolección de lecciones aprendidas y el manejo de todos los
artefactos relacionados y generados para y por el proyecto, se incorporó este manejo de
comentarios y artefactos. Las entidades que gestionan comentarios o artefactos son: proyecto,
ciclo, actividad y subproceso.
Proyecto
La gestión del proyecto involucra las siguientes tablas:
43
Figura 23. Tablas de base de datos para soporte del proyecto
Un proyecto está compuesto por uno o varios ciclos. Cada ciclo está compuesto por las 5
fases del modelo IDEALSM (Iniciar, Diagnosticar, Establecer, Actuar y Aprender). Las actividades
pertenecen a una fase determinada del ciclo.
Las actividades pueden tener varios estados: creada, en progreso, terminada y borrada.
Cuando una actividad está en estado terminada o borrada, sus datos ya no pueden ser
editados.
Para cada ciclo del proyecto, se podrá gestionar una o varias áreas de proceso. Un área de
proceso podrá ser gestionada en uno o varios ciclos del proyecto.
44
Documentación de procesos organizacionales
Para poder dar soporte a la documentación de procesos organizacionales se utilizan las
siguientes tablas:
Figura 24. Tablas de base de datos para soporte de documentación a procesos organizacionales
En las tablas nivel cmmi, área de proceso, objetivo genérico, objetivo específico, práctica
genérica y práctica específica consta la documentación en español de estos conceptos de
acuerdo al modelo CMMI®. Cada una de las áreas de proceso del modelo CMMI® representa el
proceso organizacional relacionado. Este proceso organizacional se encuentra compuesto de
uno o varios subprocesos, los cuales a su vez están compuestos de una secuencia de
actividades. Un área de proceso se encuentra en un nivel de CMMI® y debe cumplir un objetivo
genérico y varios objetivos específicos, los cuales se cumplen mediante prácticas genéricas y
prácticas específicas respectivamente.
45
4. CONSTRUCCIÓN DEL SISTEMA
En este capítulo se define de manera general la construcción del sistema por medio de la
estimación del esfuerzo, una explicación breve de la metodología de desarrollo y el entorno de
desarrollo que fue utilizado en el sistema.
4.1. Estimación del esfuerzo
Para la estimación de esfuerzo se utilizó el método de Puntos de Caso de Uso (UCP, Use
Case Points) [Bla07]
La técnica toma como entrada los actores, casos de uso, factores técnicos y de entorno
identificados para el sistema que se va a desarrollar, aplica ponderaciones de acuerdo a
factores de complejidad y finalmente produce un estimado en horas hombre del esfuerzo
necesario para el desarrollo del mismo.
Es necesario definir primeramente los actores y los casos de uso. Posteriormente se
calculan los Puntos de caso de uso sin ajustar (UUCP, Unadjusted Use Case Points). Estos se
obtienen de acuerdo a la suma de la ponderación dada por la calificación de acuerdo a su
dificultad: simple, medio y complejo para cada caso de uso identificado. Además se calcula el
peso dado por la suma de la ponderación dada a cada uno de los actores identificados (AW,
Actor Weighting).
Posteriormente se considera un listado de parámetros que miden la complejidad técnica
(TCF, Technical Complexity Factor: requisitos de seguridad, concurrencia, usabilidad,
portabilidad) y los factores del ambiente del proyecto (EF, Environmental Factor: estabilidad de
los requisitos, motivación del equipo, experiencia con las herramientas) y se realiza la suma
ponderada de estos parámetros.
Para obtener el cálculo de los puntos de caso de uso se aplica la siguiente fórmula: UCP =
(UUCP + AW) * TCF * EF
46
El esfuerzo se calcula multiplicando la cantidad de puntos de caso de uso obtenidos por un
factor de horas estimadas por Puntos de Caso de Uso.
Para esta tesis, los valores considerados fueron los que se muestran en las siguientes
tablas:
Unadjusted Use Case Points Multiplier Number of Use Cases 1 Simple 5 8 2 Average 10 2 3 Complex 15 2
Calculated UUCP 90 Tabla 4. Parámetros y cálculo para los puntos de caso de uso sin ajustar, UUCP
Actor Summary Multiplier Number of Actors 1 Simple 1 0 2 Average 2 0 3 Complex 3 3
Calculated AW 9 Tabla 5. Parámetros y cálculo para el peso por actores, AW
Technical Factor Multiplier Relative Magnitude (Enter 0-5) 1 Distributed System Required 2 5 2 Response Time Is Important 1 1 3 End User Efficiency 1 2 4 Complex Internal Processing Required 1 2 5 Reusable Code Must Be A Focus 1 2 6 Installation Ease 0.5 2 7 Usability 0.5 5 8 Cross-Platform Support 2 2 9 Easy To Change 1 2 10 Highly Concurrent 1 3 11 Custom Security 1 3 12 Dependence On Third-Party Code 1 2 13 User Training 1 4
Calculated TCF 0.985 Tabla 6. Parámetros y cálculo para el factor de complejidad técnica, TCF
Environmental Factor Multiplier Relative Magnitude (Enter 0-5)
1 Familiarity With The Project 1.5 3 2 Application Experience 0.5 0 3 OO Programming Experience 1 4 4 Lead Analyst Capability 0.5 4 5 Motivation 1 4 6 Stable Requirements 2 3 7 Part Time Staff -1 0 8 Difficult Programming Language -1 2
Calculated EF 0.845 Tabla 7. Parámetros y cálculo para el factor de ambiente, EF
47
De acuerdo a los valores obtenidos y aplicando la fórmula, se obtienen las siguientes
estimaciones:
TCF Technical Complexity Factor 0.985 EF Environmental Factor 0.845
UUCP Unadjusted Use Case Points 90 AW Actor Weighting 9
Calculation of Use Case Points UCP Use Case Points 82.4
Calculation of Estimated Effort Ratio Hours of Effort per Use Case Point 20
Hours of Effort 1,648 Tabla 8. Cálculo total de esfuerzo estimado
El esfuerzo estimado obtenido para la realización de este proyecto fue aproximadamente de 9
meses/hombre.
4.2. Metodología de desarrollo
Para el desarrollo del sistema se utilizó una metodología iterativa incremental con etapas
iniciales de análisis detallado y diseño.
Primeramente se realizó la especificación de los requisitos y su análisis, se construyeron
prototipos navegables estáticos, por medio de los cuales se refinó la definición y el alcance del
sistema.
El primer incremento estuvo relacionado con la gestión del proyecto y sus diversos
elementos, así como su correlación con el modelo guía IDEALSM. En el segundo incremento se
abordó la selección y activación de áreas de proceso para el ciclo activo, cierre del ciclo activo y
administración de usuarios. Como tercer incremento se consideró la documentación de
procesos organizacionales y su relación con las áreas de proceso de CMMI®, sus objetivos y
prácticas. Además de las funcionalidades nuevas que se iban añadiendo en cada incremento,
se realizaron iteraciones es decir se fueron mejorando y afinando las funcionalidades que se
encontraban previamente desarrolladas, gracias a la incorporación continua de mejoras y a la
retroalimentación de un grupo de usuarios con conocimientos acerca de los conceptos
manejados en el presente trabajo.
48
De igual manera, además de la implementación, se realizaron actividades de generación de
documentación, pruebas y puesta en producción de cada incremento, así como monitoreo del
sistema.
Otras importantes actividades dentro del desarrollo de la herramienta, han sido la
investigación, recopilación y traducción de información relacionada con los modelos CMMI® e
IDEALSM.
4.3. Entorno de construcción
En esta sección se detalla las herramientas que se utilizaron para la construcción del
sistema SIMPLe. Se las menciona en el orden en el cual fueron dando soporte a la
metodología y al desarrollo como tal.
Para el análisis del sistema y su alcance, se construyeron varios diagramas UML, como los
casos de uso. En esta fase se utilizó Jude que es una herramienta para modelamiento de UML
(http://jude.change-vision.com/jude-web/index.html).
Al realizar el prototipo estático navegable (sitio web estático), para el diseño de las interfaces
gráficas, se utilizó jQuery que es una librería de JavaScript que permite manejar eventos
dinámicamente (AJAX Asynchronous JavaScript And XML) y desarrollar más fácilmente
interacción con el usuario. (http://jquery.com/)
Se utilizó como ambiente de trabajo Eclipse que es una plataforma de desarrollo de código
abierto. Se utilizó la versión 3.3 llamada Europa (http://www.eclipse.org/) y se integraron varios
plug-ins muy útiles que permitieron dar soporte al desarrollo del sistema SIMPLe.
Además se utilizó el plug-in Aptana que está basado e integrado con Eclipse, y que da
soporte y facilita la construcción de aplicaciones Web. Incluye asistencia para código,
estructura, notificación y presentación de errores y advertencias para elementos basados en
JavaScript, HTML, CSS. (http://www.aptana.com/)
Se utilizó el plug-in Clay, que es una herramienta para modelamiento y diseño de la base de
datos (http://www.azzurri.jp/en/software/clay/), así como MySQL 5.0 como base de datos
(http://www.mysql.com/) que también es fácilmente administrable mediante una de las “vistas”
49
disponibles de Eclipse que es el Data Source Explorer (DSE) que permite conectarse, navegar
e interactuar con la base de datos, y administrar sus tablas, su estructura y sus datos.
De igual manera se utilizó, integrado con Eclipse, Subversión (SVN) que es un sistema
gratuito y de código abierto, para el control y manejo de versiones (http://subversion.tigris.org/).
También se utilizó la aplicación Mantis para gestión de tareas y errores y el plug-in Mylyn para
su integración con Eclipse (http://www.eclipse.org/mylyn/). Mantis es una herramienta gratuita y
de código abierto (http://www.mantisbt.org/).
Para completar el ambiente integrado con Eclipse, se utilizó Apache Tomcat 5.5 como
contenedor de servlets. Eclipse permite publicar y correr proyectos Web J2EE en un servidor
Tomcat local, lo cual permite mantener un ambiente de desarrollo mucho más integrado y
controlado.
Una herramienta central para la construcción de SIMPLe fue la herramienta de generación y
evolución de código CodEv (Code Evolution). Esta herramienta genera aplicaciones Web con
código Java estándar con una arquitectura multicapa. [Mez08]
Su funcionamiento se basa en el modelo de datos, CodEv toma las definiciones de las tablas
y sus relaciones y genera la persistencia, la capa de negocio y la presentación para cada una
de sus tablas para que se pueda hacer el mantenimiento CRUD (Create Read Update Delete)
de cada tabla con sus respectivas relaciones.
Cuando el generador se ejecuta contra el modelo de datos seleccionado lo que se obtiene es
una aplicación Web multicapa con código Java estándar lista para hacer deploy y lista para ser
integrada en el ambiente de desarrollo.
Esta herramienta crea un esqueleto funcional de la aplicación, tomando como referencia la
plantilla de diseño gráfico especificado para generar las páginas web; eliminando de esta
manera los posibles errores que se pueden cometer al configurar y establecer el ambiente de
trabajo y refuerza una arquitectura multicapas que garantiza la extensibilidad, escalabilidad y
mantenibilidad de la aplicación generada. Esto permitió crear prototipos evolutivos rápidamente,
ya que el código es totalmente extensible y fácil de adaptar a las necesidades del proyecto
SIMPLe.
50
5. USO DE LA HERRAMIENTA
En esta sección se detalla una introducción en la que se definen los elementos y conceptos
en los que se basa la herramienta y luego se detalla el funcionamiento de la herramienta.
5.1. Introducción
El Sistema de Implementación de Mejora de Procesos SIMPLe es una herramienta que está
orientada a dar soporte al jefe de proyecto de calidad en la gestión de un proyecto de mejora de
procesos basado en los modelos CMMI® como modelo de referencia e IDEALSM como modelo
guía.
Representa una bitácora documental del desarrollo del proyecto de mejora de la calidad de
procesos, en donde se pueden registrar fácilmente mediante actividades, comentarios y
artefactos, cómo se va produciendo el desarrollo del proyecto de mejora de procesos, su
historia, las decisiones tomadas, lógica de uso de los artefactos generados, así como lecciones
aprendidas durante el proyecto. Los artefactos son productos tangibles del proyecto, las cosas
que el proyecto produce o usa para componer el producto final (modelos, documentos,
imágenes, archivos, código, ejecutables u otros elementos en general).
Ya que todos estos elementos se encuentran centralizados es mas fácil gestionarlos,
visualizarlos, analizarlos y esto permite que la historia del proyecto se mantenga en el tiempo,
así éste tenga que ser detenido o que existan muchos cambios en su desarrollo. Todos los
cambios se van registrando en el sistema, por lo que se genera un historial de cambios que
permite visualizar la historia del proyecto. El sistema permite registrar y justificar cómo se llegó
a tomar las decisiones importantes del proyecto, qué sucedió en cada uno de los ciclos, cómo
se lograron las metas, facilitando el capturar y compartir conocimiento.
SIMPLe hace más accesible el proceso de mejora y más fácil la transición hacia CMMI® ya
que proporciona sus conceptos básicos y propone un modelo para gestión del proyecto.
Contiene información de los modelos y material descriptivo de ayuda, que permite una
presentación efectiva de información del proyecto de mejora y del manejo de la propia
herramienta.
51
A continuación se detallan los conceptos manejados por el Sistema y se muestran varios
diagramas que indican sus estructuras.
SIMPLe permite gestionar de manera centralizada el proyecto de calidad, el cual es dividido
en varios ciclos de mejora y varias fases de acuerdo al modelo IDEALSM (cuyas fases dan
origen su nombre: Iniciar(1), Diagnosticar(2), Establecer(3), Actuar(4) y Learning:aprender(5),
tal como se muestra en el siguiente diagrama) reforzando y correlacionando los conceptos del
modelo guía IDEALSM con las etapas identificadas en el proyecto.
Figura 25. Representación del modelo cíclico IDEALSM
Otra gran fortaleza de la herramienta es que provee una planificación y administración
guiada y estructurada mediante la creación de actividades en base a plantillas, que son un
conjunto de actividades, ordenadas secuencialmente y con una duración estimada en días. Se
basan en las actividades que se realizan de acuerdo al modelo IDEALSM en el proyecto de
mejora. De igual manera, la herramienta proporciona visibilidad de avance del proyecto y su
historial a través del panel de control, durante todo el proyecto.
52
Composición del Proyecto de Mejora de Calidad de Procesos
Figura 26. Estructura general de Proyecto de Mejora de Calidad de Procesos
Este diagrama representa la estructura y los elementos básicos que componen el proyecto
de mejora de calidad de procesos.
Al crear el proyecto de mejora de calidad de proceso, la herramienta crea automáticamente
el primer ciclo, sus fases (correspondientes al modelo IDEALSM) y actividades predefinidas por
una plantilla. En cuanto a la planificación, el proyecto empieza el día que se crea el proyecto en
la herramienta y desde ese día las actividades, de acuerdo a su duración, son creadas
automáticamente en la planificación.
El jefe de proyecto tiene la facilidad de asignar responsabilidades, mediante la creación de
usuarios y asignación de roles. Las actividades pueden ser administradas, es decir, creadas,
modificadas, eliminadas y listadas. Se les puede agregar comentarios y artefactos. Los
artefactos son productos tangibles del proyecto, las cosas que el proyecto produce o usa para
componer el producto final (modelos, documentos, código, ejecutables, etc.)
Una vez que todas las actividades han sido completadas, el sistema permite cerrar el ciclo
actual, luego de lo cual se abrirá automáticamente un nuevo ciclo, con sus fases y actividades.
53
Identificación de áreas de proceso por ciclo
SIMPLe permite identificar las áreas de proceso que serán gestionadas en el ciclo actual.
Para esto cuenta con una opción para activar áreas de proceso para el ciclo, establecer
responsable del área de proceso y generar la creación automática de actividades, de acuerdo a
una plantilla, que serán planificadas para la fase Actuar y para el responsable definido. Esta
funcionalidad se diagrama a continuación.
Figura 27. Estructura general de activación de área de proceso
Soporte a la documentación de procesos organizacionales
El Sistema, brinda soporte para la documentación de los procesos organizacionales,
relacionándolos con el modelo CMMI®, lo que permite aportar con la capacitación a nivel de
procesos ya que los conceptos de CMMI® y su aplicabilidad se ven reflejados y se relacionan
con los procesos organizacionales, tal como se muestra en el siguiente diagrama.
54
Figura 28. Estructura de definición de procesos organizacionales
Por cada área de proceso definida por CMMI®, la herramienta permite definir el proceso
organizacional. Esta colección de definiciones de los procesos es la que guía las actividades en
la organización.
Se considera que un proceso organizacional está compuesto por la secuencia ordenada de
subprocesos organizacionales. Un subproceso comprende un conjunto de actividades
estrechamente relacionadas entre sí.
Las actividades son tareas que implican entradas, salidas y roles involucrados. Las
entradas y salidas son generalmente artefactos y los roles representan a los responsables o
roles que estén involucrados con el proceso.
55
5.2. Descripción del Sistema
En la siguiente sección se describe la herramienta, cada una de sus opciones y su uso.
5.2.1. Creación del proyecto de calidad
El Proyecto de mejora de calidad de procesos se creará; posteriormente, por medio de la
configuración del sistema, se podrán modificar los valores ingresados y también añadir más
artefactos y comentarios al proyecto.
Pantalla 1. Ingreso al sistema
Inicialmente se creará el usuario Jefe de Proyecto, luego de lo cual se podrá crear el
Proyecto de mejora. Una vez creado el Proyecto de mejora de calidad de procesos, el sistema
creará automáticamente el primer ciclo del proyecto y sus fases siguiendo el modelo IDEALSM.
Una vez creado el Proyecto de mejora, el jefe de proyecto podrá ingresar al sistema por
medio de la página de login con su usuario y password.
Crear usuario Jefe de Proyecto
Al crear el proyecto de mejora, se creará el usuario Jefe de Proyecto quien administrará toda
la aplicación y tendrá todos los permisos sobre el sistema.
56
Pantalla 2. Creación del usuario jefe de proyecto
Una vez creado el usuario Jefe de Proyecto, éste será automáticamente "ingresado" al
sistema y creará el proyecto de calidad.
Crear Proyecto
Para la creación del Proyecto de mejora de calidad de procesos, solo se debe especificar el
nombre del proyecto, como campo obligatorio. El jefe de proyecto es asignado directamente
como el usuario que fue creado en la opción anterior. La fecha de creación del proyecto, será la
fecha de inicio del mismo. Se podrán adjuntar comentarios o artefactos. Los artefactos son
productos tangibles del proyecto, las cosas que el proyecto produce o usa para componer el
producto final (modelos, documentos, imágenes, archivos, código, ejecutables u otros
elementos en general).
Existen dos tipos de plantilla para las fases: básica o avanzada. Al crearse el ciclo con la
plantilla de actividades básicas, las fases serán creadas únicamente con ciertas actividades
generales para cada fase. Al crearse el ciclo con una plantilla de actividades avanzadas, las
fases serán creadas con actividades más detalladas para cada fase.
El jefe de proyecto deberá analizar cual de estos dos tipos de plantilla es el más conveniente
para la organización y para el tipo proyecto que está emprendiendo. Podría ser conveniente, al
iniciar el proyecto elegir una plantilla más avanzada ya que esta incluye y describe con mayor
detalle las actividades a ser realizadas en el proyecto. Por otro lado, al estar más avanzados en
el proyecto y para los próximos ciclos, posiblemente resulte más conveniente seleccionar la
57
plantilla de actividades básicas, ya que estas actividades ya habrán sido desarrolladas
previamente, ya se las conocerá y por lo tanto no se requeriría tanto detalle.
Pantalla 3. Creación de proyecto de mejora
Una vez creado el Proyecto de mejora de calidad de procesos, el sistema creará
automáticamente el Ciclo 1 del proyecto y sus fases: Iniciar, Diagnosticar, Establecer, Actuar y
Aprender, reforzando de esta manera el uso del modelo IDEALSM y guiando al usuario en la
configuración del Proyecto de mejora.
58
Además de la creación automática del ciclo y las fases, el sistema creará automáticamente
actividades para cada una de las fases, de acuerdo a la plantilla seleccionada, las cuales
podrán ser modificadas posteriormente por el usuario. Al crear el Proyecto, se muestra el panel
de control, el cual muestra el ciclo actual, y a través del cual se puede comenzar a gestionar el
proyecto de calidad.
5.2.2. Menú del sistema
Las opciones generales que están disponibles a través del menú del sistema son: panel de
control, actividades, configuración y procesos. Estas opciones serán detalladas a continuación.
5.2.3. Panel de control
El panel de control está orientado a proporcionar visibilidad durante todo el proyecto, su
estado actual y su avance, permitiendo el seguimiento del proyecto y una rápida vista de los
resultados que se van obteniendo con el desarrollo del proyecto.
59
Pantalla 4. Panel de control
Esta pantalla consta de dos elementos para control. El primer elemento, en la parte superior:
avance y estado del proyecto, donde se muestran todos los ciclos abordados, las fases y las
áreas de proceso gestionadas en ese ciclo. Se muestra el ciclo actual (activo) abierto.
Al hacer click sobre el nombre del ciclo, se muestra su pantalla de configuración. Al hacer
click sobre el nombre de una determinada fase, se muestra un listado de actividades filtradas de
acuerdo a la fase y ciclo seleccionados. Al seleccionar una determinada área de proceso, se
desplegarán todas las actividades filtradas por el área de proceso especificada.
60
El segundo elemento, en la parte inferior muestra listados de las actividades planificadas
para el desarrollo del proyecto (listado de actividades que fueron creadas automáticamente de
acuerdo a la plantilla seleccionada). Se muestra un listado de mis próximas actividades,
actividades vencidas sin empezar y otro listado de las últimas actividades terminadas. Se
muestran listadas 10 de cada una. Al hacer click sobre el link "Ir a : ..." se muestra un listado de
las actividades filtradas de acuerdo al criterio especificado. Al hacer click sobre una de las
actividades listadas, específicamente sobre la fecha, se presenta la pantalla para edición de la
actividad especificada.
5.2.4. Gestión de actividades
Esta pantalla muestra las actividades de acuerdo a los criterios de filtro que hayan sido
seleccionados o especificados.
Pantalla 5. Gestión de actividades
61
Está compuesta de varias secciones: una sección para filtrado de las actividades por
diversos criterios, el listado de las actividades y finalmente la paginación.
En la parte superior se muestra información del ciclo activo y un link para crear una nueva
actividad. En la siguiente sección, se especifican los criterios mediante los cuales se filtrarán las
actividades, y al final se presenta un link para activar la opción Filtrar.
En la siguiente sección se muestran listadas las actividades, de acuerdo a los criterios de
filtrado especificados. Estas actividades pueden ser editadas, haciendo click sobre su
identificador o pueden ser eliminadas, seleccionándolas en su correspondiente opción Eliminar.
Finalmente en la parte inferior de la pantalla se muestran los elementos de paginación de las
actividades.
Nueva actividad
Al crear una nueva actividad se especifican: el nombre de la actividad, el responsable y la
fase a la cual se asigna esta nueva actividad como campos requeridos obligatoriamente. El ciclo
está dado por defecto, ya que sólo se pueden crear actividades para el presente ciclo, que es el
que se encuentra activo (abierto).
Pantalla 5. Crear nueva actividad
62
De igual manera se pueden especificar la fecha inicial y la duración planificada de la
actividad, un área de proceso a la cual se deba relacionar la actividad, un artefacto y un
comentario relacionados a la actividad. Se mostrará el listado de áreas de proceso, de acuerdo
a aquellas que hayan sido activadas para el presente ciclo. (Esto se realiza en el ítem de
configuración: edición del ciclo).
El registro de los comentarios, durante el desarrollo de todo el proyecto, permite recolectar
lecciones aprendidas de las actividades del proyecto.
Editar actividad
Por medio de esta opción se pueden realizar varias acciones: editar los datos básicos de la
actividad, administrar artefactos relacionados e ingresar comentarios o ver el historial de
cambios.
Pantalla 6. Editar actividad
63
Al editar los datos básicos, se pueden modificar los mismos datos que se especificaron en la
creación de la actividad. Se pueden agregar nuevos artefactos a la actividad. De igual manera,
se pueden añadir comentarios relacionados con la actividad. Se puede ver también el historial
de cambios que permite conocer todos los cambios que han sido realizados en el tiempo, ya
que se describe el campo que fue modificado, el valor anterior y el nuevo valor que tomó el
campo.
Pantalla 7. Historial de cambios de actividad
5.2.5. Configuración
Por medio de la opción de configuración, se pueden gestionar datos relacionados al proyecto
y administrar usuarios.
Editar proyecto
Se pueden realizar varias acciones: editar los datos básicos del proyecto, administrar
artefactos relacionados e ingresar comentarios o ver el historial de cambios.
Editar detalles del proyecto
Al editar los datos básicos, se pueden modificar los mismos datos que se especificaron en la
creación del proyecto. Se pueden agregar nuevos artefactos. De igual manera, se pueden
añadir comentarios relacionados con el proyecto. Se puede ver también el historial de cambios.
64
Pantalla 8. Configuración, edición de proyecto
Editar ciclo
Además se pueden editar datos relacionados con el ciclo activo en el proyecto, por medio del
cual, se podrán seleccionar y activar las áreas de proceso que serán gestionadas en el
presente ciclo y además se podrá cerrar el ciclo activo. También se podrán añadir comentarios
para este ciclo.
Activar área de proceso
Las áreas de Proceso a ser gestionadas en el ciclo generalmente son seleccionadas en la
Fase Establecer, luego de haber realizado un diagnóstico y establecido prioridades, y es en la
Fase Actuar, donde se realizan, se gestionan y se llevan a cabo las actividades relacionadas a
65
éstas áreas de proceso. Se listan todas las áreas de proceso que constan en el modelo
CMMI®, agrupadas de acuerdo a su nivel. Un área de proceso se activa para el presente ciclo
mediante el link "Activar".
Pantalla 9. Activar áreas de proceso
Las áreas de Proceso que no hayan sido activadas para el presente ciclo, tendrán un link de
activación, y las que sí, se desplegarán como activadas.
Activar Área de proceso
Por medio de esta opción se crean actividades en el presente ciclo, para la fase Actuar,
ligadas al área de proceso definida y que se realizarán para la mejora de esta área de proceso.
66
Pantalla 10. Activar área de proceso
Se debe especificar el responsable del área de proceso y la fecha de inicio con la que serán
creadas todas las actividades, así como la plantilla con la que serán creadas las actividades
para la gestión del área de proceso.
Es importante considerar que estas actividades serán creadas secuencialmente, es decir
que la primera actividad listada tendrá como fecha de inicio la fecha establecida y todas las
siguientes actividades serán creadas en base a la duración especificada para cada actividad y
tomando como referencia la fecha de inicio de la actividad anterior. Estas actividades serán
aquellas que se realice, como parte del proyecto, para mejorar el área de proceso especificada.
Cerrar ciclo actual
Otra opción muy útil es el poder cerrar el ciclo actual, luego de lo cual se crearán
automáticamente un nuevo ciclo, sus fases y actividades, de acuerdo a la plantilla que se
seleccione: sean actividades básicas o actividades detalladas para el ciclo.
67
Pantalla 11. Cerrar ciclo actual
Esta opción se habilitará únicamente cuando todas las actividades de todas las fases del
ciclo actual activo se encuentren en un estado terminal, es decir terminado o borrado.
Por medio del panel de control se visualizan los ciclos que han sido cerrados (inactivos) y el
ciclo actual activo.
Pantalla 12. Panel de control con ciclos inactivos
Es importante considerar que se puede acceder en cualquier momento a toda la información
almacenada en el sistema, sin embargo los ciclos inactivos o cerrados ya no pueden ser
modificados, no se permite editar su información y sólo se pueden añadir comentarios en esos
ciclos inactivos.
68
Usuarios
El jefe de proyecto tiene la facilidad de asignar responsabilidades, mediante la creación de
usuarios y la asignación de roles.
Pantalla 13. Gestión de usuarios
En esta pantalla se listan los usuarios creados para el sistema. Se pueden crear nuevos
usuarios, modificar datos y eliminarlos. Sólo se puede eliminar usuarios que no tengan ninguna
actividad pendiente asignada.
Nuevo Usuario
Para un usuario del sistema se especifican sus datos como nombre, apellido, rol, usuario y
password como campos requeridos obligatoriamente.
Pantalla 14. Creación de nuevo usuario
69
En cuanto a los roles:
- El responsable del área de proceso implementa las actividades de proyecto,
específicamente en lo referente al área de proceso asignada a su equipo de trabajo.
- EPG Engineering Process Group. Facilita y coordina el proyecto, guía las actividades
mas no las implementa.
- El comité ejecutivo auspicia el proyecto, provee recursos, monitorea avance del
proyecto, provee guía y acciones correctivas cuando es necesario.
Estos usuarios pueden ingresar al sistema con su usuario y password.
Cuando a un usuario se le asigne actividades e ingrese al sistema, verá el listado de actividades
que le han sido asignadas.
5.2.6. Procesos de la organización
Esta opción permite definir el conjunto de procesos de la organización.
Pantalla 15. Documentación de los procesos de la organización
70
Esta colección de definiciones de los procesos son los que guían las actividades en la
organización. Estas descripciones cubren los elementos fundamentales del proceso (y sus
relaciones unos con otros, tal como la secuencia) que deben ser incorporados en los procesos
definidos que son implementados en proyectos en la organización. Se toman como referencia
las áreas de proceso referenciadas por el modelo CMMI®.
Un área de proceso se documenta mediante el link "Documentar", y en la siguiente pantalla
se mostrará información acerca del proceso.
Documentación del proceso organizacional
Esta opción contiene tres secciones: la primera en la que se describe el área de proceso, su
propósito, objetivos y prácticas específicas de acuerdo a CMMI®.
Pantalla 16. Definición de área de proceso de acuerdo a CMMI®
En la siguiente sección se presenta la descripción del área de proceso de acuerdo a la
documentación ingresada por la organización.
71
Pantalla 17. Descripción detallada del proyecto de la organización
En la última sección se presenta la planificación para gestionar esta área de proceso,
siempre y cuando ésta haya sido activada en el sistema y contenga actividades a ser
ejecutadas.
Pantalla 18. Planificación de área de proceso a ser gestionada
72
Definición de área de proceso de acuerdo a modelo CMMI®
Los componentes del modelo CMMI® son los que se muestran en la siguiente figura:
Figura 1. Componentes de modelo CMMI®
Los componentes requeridos describen lo que la organización debe cumplir para satisfacer
un área de proceso, son componentes esenciales para conseguir la mejora del proceso en un
área de proceso determinada. Los componentes esperados son aquellos que describen lo que
puede ser implementado para satisfacer un componente requerido. Se pueden implementar
específicamente los componentes esperados o prácticas alternativas equivalentes.
Definición de área de proceso de la Organización
Para la definición interna de las áreas de proceso de la organización se considera lo
siguiente:
73
Figura 2. Composición del proceso
Los procesos son un conjunto de recursos y actividades interrelacionados que transforman
elementos de entrada en elementos de salida. La descripción de un proceso provee una
definición de los macro componentes del proceso e incluye procedimientos y estándares,
herramientas y métodos. Un proceso está compuesto por la secuencia ordenada de
subprocesos. Un subproceso comprende un conjunto de actividades estrechamente
relacionadas entre sí. Las actividades son tareas que implican entradas, salidas y roles
involucrados.
En esta sección se listan todos los subprocesos que componen el área de proceso y sus
respectivas actividades.
Nuevo subproceso
Los procesos están compuestos de macro componentes: los subprocesos.
Un subproceso es una unidad fundamental del proceso y representa un conjunto ordenado y
secuencial de actividades agrupadas para facilitar su gestión y para cumplir un propósito
establecido.
Pantalla 19. Creación del subproceso
74
Al describir un subproceso se debe considerar: su nombre, descripción y de ser necesario un
diagrama que explique sus componentes (actividades) y su secuencia.
Editar subproceso
Por medio de esta opción se pueden realizar varias acciones: editar los datos básicos del
subproceso, gestionar sus actividades relacionadas y eliminar el subproceso con todas sus
actividades relacionadas.
Pantalla 20. Edición de subproceso
Al editar los datos básicos, se puede modificar los mismos datos que se especificaron en su
creación.
75
Se pueden crear, modificar y eliminar las actividades del subproceso.
Estas actividades describen en su conjunto, las tareas realizadas para cumplir determinados
propósitos en la organización para el subproceso.
Actividades del subproceso
Una actividad de un subproceso especifica de manera completa, precisa y verificable, los
requerimientos (cómo cada una de las actividades se van a llevar a cabo), diseño (secuencia:
cuándo van a realizarse y por quién) y comportamientos específicos.
Pantalla 21. Creación de la actividad del subproceso
Al describir una actividad se debe considerar: su propósito, cómo saber cuándo empieza,
cómo saber cuándo ha terminado satisfactoriamente, qué hacer para terminarla, cómo medirla,
orden y secuencia de las actividades. También las entradas necesitadas, productos generados
(salidas) y quiénes participan (roles).
76
6. ANÁLISIS DE VALIDACIÓN DE LA HERRAMIENTA
En este capítulo se presenta el método de validación de la herramienta, la descripción de la
encuesta orientada a corroborar la utilidad de la herramienta en un proyecto de mejora de
procesos basado en CMMI® e IDEALSM y un breve resumen de los resultados obtenidos.
6.1. Método de validación
Originalmente para la validación de la herramienta, se propuso obtener el compromiso de 3
personas específicas, con conocimiento de CMMI® que hayan estado involucradas en la
implantación de un proceso de mejora. A este grupo que valida la herramienta lo hemos
llamado grupo de validación.
Sin embargo, se decidió ampliar este grupo y se lo ha clasificado de acuerdo a su
conocimiento y experiencia acerca de proyectos de mejora de calidad de procesos y los
modelos CMMI® e IDEALSM:
- Personas con conocimiento y experiencia básicos. Es decir han escuchado de los
modelos pero no tienen conocimiento formal al respecto.
- Personas con medianos conocimiento y experiencia. Es decir que tienen conocimientos
formales y profundos de los modelos empleados y que están en condiciones de
participar en un proyecto de mejora de calidad de procesos.
- Personas con alto conocimiento y experiencia. Es decir que poseen amplia experiencia
con proyectos de mejora de calidad de procesos y con respecto a los conceptos
manejados por los modelos.
77
El proceso que se siguió para la validación fue el siguiente:
- Se colocó la herramienta en un servidor público para que esté accesible por Internet4.
- Se solicitó al grupo de validación que ingrese al sitio donde se encuentra la herramienta
para capacitarse acerca de ella y usarla. Para esto se facilitó en el Web junto con la
herramienta, un instructivo sencillo que forma parte de la misma herramienta, para que
guíe la utilización de la herramienta.
- Cada integrante del grupo de validación usó y probó la herramienta, ingresando datos en
ella y validando su utilidad, para proyectos de mejora de calidad de calidad basados en
CMMI® e IDEALSM, en su experiencia.
- Finalmente cada integrante del grupo de validación contestó una encuesta, localizada
dentro de la misma herramienta, orientada a capturar retroalimentación con respecto a la
utilidad de la herramienta.
Las encuestas se han realizado por un tema de feedback con respecto a la utilidad que la
herramienta podría tener en un proceso de mejora y no necesariamente aplicado para un
proyecto de mejora específico en alguna empresa, ya que la herramienta no ha sido construida
para ninguna institución o empresa en particular.
En la validación participaron:
- 2 personas con conocimiento y experiencia básicos.
- 2 personas con medianos conocimiento y experiencia.
- 4 personas con alto conocimiento y experiencia.
6.2. Preguntas para validación
El objetivo de esta validación es comprobar la utilidad que la herramienta pudiese tener en
un proyecto de mejora de calidad de procesos basado en CMMI® e IDEALSM. Para ello, la
utilidad se refiere a si la herramienta hace lo que el usuario necesita [Nie93,03]. Responde a la
pregunta si el software cumple para lo que fue diseñado, que es dar soporte a la gestión del
proyecto de mejora de calidad de procesos implementando CMMI® y basado en IDEALSM.
Considerando todos estos conceptos se definieron el siguiente conjunto de preguntas:
4 http://www.alturasoluciones.com/
78
1. ¿Considera usted que la herramienta daría soporte en el manejo de un proyecto de
mejora de calidad de procesos?
2. ¿Considera usted que la herramienta proporcionaría una planificación guiada y una
administración centralizada del proyecto de mejora?
3. ¿Considera usted que la herramienta facilitaría la visibilidad del avance del
proyecto?
4. ¿Considera usted que la herramienta podría ayudar en la capacitación a nivel de
procesos?
5. De acuerdo a su percepción, en una escala de 1(poco amigable) a 7(muy amigable)
¿cómo calificaría a la herramienta? * El sistema provee al usuario una interfaz gráfica que es
amigable, es decir es lo suficientemente fácil de utilizar.
6. De acuerdo a su percepción, en una escala de 1(poco usable) a 7(muy usable)
¿cómo calificaría a la herramienta? * El sistema es usable cuando la navegación resulta
entendible, intuitiva y la información relevante es fácil de encontrar.
7. ¿Qué funcionalidades le parecieron más útiles para administrar un proyecto de
mejora de calidad de procesos?
8. ¿Qué funcionalidades le parecieron menos útiles para administrar un proyecto de
mejora de calidad de procesos?
Para cada una de estas preguntas, se solicitó que se comentara brevemente la respuesta.
6.3. Respuestas obtenidas
De manera general, de acuerdo a las respuestas obtenidas, se considera que la
herramienta sí podría ser de utilidad en un proyecto de mejora de procesos con modelos
CMMI® e IDEALSM. (Ver Anexo 2).
De igual manera, los encuestados consideran que la herramienta proporciona una
planificación guiada del proyecto gracias a la gestión de las actividades y que permite ver el
estado del proyecto en cualquier instante. También consideran la herramienta de utilidad para
ser utilizada en la capacitación a nivel de procesos. Además, calificaron a la herramienta como
amigable, clara y fácil de usar; en este punto se destacó que la información presentada como
ayuda y soporte a la herramienta resulta muy buena, cómoda y útil.
79
Todas las funcionalidades presentadas por la herramienta fueron consideradas útiles para el
manejo de un proyecto de mejora de calidad de procesos, y la que más se destacó por su
utilidad fue la administración de actividades. De igual manera, el historial de cambios asociado a
una actividad se mencionó como una buena característica para poder realizar seguimiento del
desarrollo de las actividades y del proyecto como tal.
Particularmente se pudo observar que mientras el dominio de los usuarios iba aumentando,
tanto en el conocimiento de manejo de la herramienta como en sus conceptos, se podía
prescindir de la ayuda y guía ofrecida por la herramienta, sin embargo se considera útil y
conveniente que siempre esté disponible para poder consultarla cuando se lo requiera.
80
7. CONCLUSIONES
En este capítulo se presentan las conclusiones que reflejan los alcances del presente
trabajo, así como propuestas de extensión para el mismo.
7.1. Conclusiones del trabajo realizado
Los modelos como CMMI® e IDEALSM ayudan a conocer los pasos necesarios para realizar
cambios, evaluar las fronteras del proyecto de mejora de calidad de procesos que la empresa
quiere emprender, definir metas del proyecto, y entre otras cosas establecer quiénes deben
estar involucrados y cómo. Es decir, son marcos referenciales que tienen su base en
experiencias y que proveen una recopilación de guías y mejores prácticas a seguir.
De allí su importancia y que en base a estos modelos hayan surgido muchos otros pero más
específicos y orientados hacia necesidades y realidades puntuales de las empresas.
Esta herramienta construida por medio de la utilización de la información provista por los
modelos CMMI® e IDEALSM y su experiencia en proyectos de mejora, logra dar soporte y
seguimiento a la implementación de CMMI® basándose en el modelo IDEALSM.
La herramienta automatiza la conceptualización y división del proyecto en varios ciclos, lo
separa en fases y crea de forma automática actividades planificadas mediante plantillas. Todo
esto basado en los conceptos que propone el modelo IDEALSM. Además, la herramienta facilita
la administración del proyecto de mejora, gestionando de manera centralizada: el proyecto de
calidad, sus fases, actividades planificadas, involucrados y productos generados durante el
proyecto
Por medio de la herramienta se logra proporcionar visibilidad durante todo el proyecto,
estado actual y avance, permitiendo dar un correcto seguimiento y obtener claridad con
respecto al progreso del proyecto. Además, se abordan las diferentes áreas de proceso
identificadas por el modelo CMMI®, las cuales pueden ser gestionadas en uno o varios ciclos,
dependiendo de la planificación de la organización.
81
En cuanto a los procesos organizacionales y su documentación, la herramienta provee
información en español detallada del modelo CMMI®, sus propósitos, objetivos y prácticas
generales y específicos de cada una de las área de procesos. De igual modo, al ser fácil de
visualizar y al tener centralizada información que la organización ha ido generando, facilita la
capacitación del resto del equipo.
SIMPLe aborda y divide el proyecto de mejora por medio de ciclos, tal como lo
conceptualiza el modelo IDEALSM, permitiendo que en los siguientes ciclos se utilice la
información y resultados del proyecto que se está ejecutando, es decir reforzando la idea de
mejora continua.
Uno de los mayores aportes de esta herramienta, viene dado por el hecho de que al tener la
información histórica del proyecto, el conocer qué se hizo anteriormente y porqué se tomaron
ciertas decisiones, el equipo puede ir aprendiendo de si mismo, mejorar su gestión futura, que
las decisiones a tomar sean bien fundamentadas y con la mayor cantidad de información
posible.
De los criterios generales recolectados de las personas al examinar la herramienta y de la
autora de este trabajo, se puede concluir que los objetivos planteados han sido conseguidos
exitosamente.
Cabe recalcar también que la realización de esta herramienta contempló la unificación de
muchos conceptos manejados por los modelos CMMI® e IDEALSM. El poder organizar la
información de manera que se considerase la herramienta como un aporte y una guía de
implementación de CMMI® basado en el modelo IDEALSM, requirió de varias iteraciones y aún
se puede mejorar mucho este aspecto. De igual manera, no se encontró disponible mucha
información de libre acceso en español acerca de los modelos, por lo que se considera que la
información generada es un aporte en este sentido.
Esta herramienta originalmente fue pensada para dar soporte a pequeñas y medianas
empresas, considerando que muchas de ellas no necesariamente poseen la infraestructura en
cuanto a personal ni recursos (tiempo, dinero) requeridos para llevar adelante proyectos de esta
magnitud. Sin embargo al analizar más profundamente el ámbito y las características de la
herramienta, se considera que podría aportar en grandes empresas donde, por la cantidad del
personal, gran número de artefactos generados (documentos, artefactos) y demás variables, las
funcionalidades de SIMPLe podrían ser de mucho beneficio.
82
7.2. Propuestas de mejora
Dado el amplio espectro y alcance que puede tener una herramienta para soporte a la
implementación de mejora de procesos, se consideran entre las más importantes, las siguientes
propuestas de extensión para la herramienta SIMPLe.
Dependencia y correlación entre actividades
Actualmente las actividades se presentan como un conjunto de tareas secuenciales con un
determinado orden de acuerdo a la planificación. Sin embargo, éstas no poseen actualmente
ningún control de dependencia ni correlación entre ellas.
El poder contar con esta característica sería útil en el caso en el que, por ejemplo, se
requiriera modificar la fecha de alguna actividad. Sería conveniente que todas las actividades
dependientes o ligadas a esa actividad que se desea modificar, fueran modificadas
automáticamente, manteniendo la planificación establecida.
De igual manera, poder controlar el orden en que deben ser realizadas las actividades es
decir, registrar la obligatoriedad de la secuencia de ciertas actividades que deben ser realizadas
antes que otras, por ejemplo verificar que se haya nombrado un equipo responsable antes de
empezar a realizar una actividad determinada.
Independencia del modelo guía
Esta herramienta fue planteada como soporte a la implementación de un proyecto de mejora
basado en CMMI® y en el modelo guía IDEALSM. Sin embargo, así como IDEALSM, existen
varios modelos disponibles para dar soporte y ser guía en los esfuerzos de mejora como son
PDCA (Plan, Do, Check, Act), DMAIC (Define, Measure, Analyze, Improve, Control) entre
muchos otros.
Se considera una posibilidad de extensión el poder configurar el modelo guía con el cual se
planifica el proyecto, así como también el conjunto de actividades (plantillas) que serán
utilizadas para la planificación, dando mayor flexibilidad a la organización para seleccionar el
modelo guía y las actividades que más se ajusten a su realidad y necesidades.
83
Considerar recolección de información adicional
Una mejora a ser realizada es el incorporar mayor información a ser recabada, como por
ejemplo considerar esfuerzo y costos que involucran las actividades. Esta información debería
ser luego proyectada y comparada, lo planificado versus lo real y así obtener reportes de
rendimiento del proyecto.
El contar con esta clase de información adicional, permitiría mejorar el conocimiento con
respecto al rendimiento del equipo y del proyecto. De igual manera, si se contaran con reportes
adicionales que permitiesen visualizar de manera condensada lo planificado versus lo real se
podrían realizar evaluaciones y obtener conclusiones más precisas acerca del proyecto en
general.
Conexión con otras herramientas
Una posible mejora viene dada por el hecho de que en la actualidad se manejan varios tipos
de herramientas para documentar o planificar. Un ejemplo concreto es el caso de Microsoft con
su suite de Office: Word, Excel o de igual manera Microsoft Project.
Una extensión podría ser el considerar que la información pueda ser importada y/o
exportada a estos formatos en caso de requerirlo. Por ejemplo, que la planificación pudiese ser
exportada a Project o que la documentación de los procesos, pudiese ser exportada a un
formato como el de un documento Word.
De igual manera al hablar de gestión documental del proceso, (modelamiento,
implementación y ejecución de procesos), existen actualmente varias herramientas
especializadas para esto. Una interesante mejora sería el poder llevar una notación estándar de
los procesos en formatos como BPMN (Business Process Management Notation) para que en
una herramienta externa o en una extensión del mismo SIMPLe se pudiesen administrar los
workflows o visualizar y ejecutar los procesos mediante formatos como XPDL (XML Process
Definition Language) o BPEL (Business Process Execution Language).
Otros puntos de extensión
Entre los varios puntos en los que se podría extender el presente trabajo realizado, se
encuentran el contar con una mayor cantidad de reportes para la información, focalizados en
extraer puntualmente por ejemplo las lecciones aprendidas de los ciclos, ya que actualmente
esto debe ser realizado revisando puntualmente y manualmente las actividades, las fases y los
ciclos.
84
Otros puntos de extensión para esta herramienta podrían ser elementos específicos que
considera el modelo CMMI®, por citar algunos ejemplos tenemos:
- Administración de capacitaciones. El poder gestionar automáticamente el listado de
alumnos y profesores, asistencias, evaluaciones de los alumnos y material descriptivo.
- Administración de propuestas de mejora. Los usuarios del proceso podrían proponer
cambios y mejoras a los procesos. Las propuestas podrían tener varios estados y seguir
un workflow definido por la empresa.
85
8. BIBLIOGRAFÍA
[Bla07] Blain Tyner. Software Cost Estimation with Use Case Points, 2007 [en línea] <http://tynerblain.com/blog/2007/02/12/software-cost-estimation-ucp-1/> [consulta: 23 junio 2007] [IBM06] IBM. Rational Suite, 2006 [en línea] <http://www-306.ibm.com/software/awdtools/suite/> [consulta: 3 julio 2007] [InfQ06] InfoQueue. Article. Interview: Jim Johnson of the Standish Group, 2006 [en línea] <http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS> [consulta: 16 mayo 2007] [Mez08] Meza David. Sistema Generador de Aplicaciones Web Multicapa. Tesis de Magíster en Tecnologías de Información. Santiago, Chile. Universidad de Chile, Facultad de Ciencias Físicas y Matemáticas, 2008. [Nie93] Nielsen Jakob. Paper. Iterative User Interface Design, 1993 [en línea] <http://www.useit.com/papers/iterative_design/> [consulta: 4 enero 2008] [Nie03] Nielsen Jakob. Usability 101: Introduction to Usability, 2003 [en línea] <http://www.useit.com/alertbox/20030825.html> [consulta: 4 enero 2008] [PF06] Pardo Cesar, Fernández Luis. Proceso Ágil para la Mejora de Procesos de Software: Agile SPI – Process. Tesis de Pre-grado. Popayán, Colombia. Universidad del Cauca, Facultad de Ingeniería Electrónica y Telecomunicaciones, 2006 [Per06] Persse James R. Sustaining Process Improvement. En su: Process Improvement Essentials First Edition. United States of America, O’Reilly, 2006 [Pou05] Poulin Louis. Reducing Risk with Software Process Improvement. United States of America, Auerbach Publications, 2005 [Rou07] Roughley Ian. Starting Struts 2, 2007 <http://www.infoq.com/minibooks/starting-struts2> [consulta: 7 septiembre 2007] [SEI06a] Software Engineering Institute. Capability Maturity Model® Integration (CMMI®) Version 1.2 Overview, 2006 [en línea] <http://www.sei.cmu.edu/cmmi/adoption/pdf/cmmi-overview07.pdf> [consulta: 3 julio 2007] [SEI06b] Software Engineering Institute. CMMI® Executive Overview, 2006 [en línea] <http://www.sei.cmu.edu/cmmi/adoption/pdf/cmmi-exec-overview06.pdf> [consulta: 6 junio 2007] [SEI06c] Software Engineering Institute. CMMI Performance Results, 2006 [en línea] <http://www.sei.cmu.edu/cmmi/results.html#results> [consulta: 25 mayo 2007] [SPIP06] Software Process Improvement Partners. Supporting tools for SPI, 2006 [en línea] <http://www.spipartners.nl/english/tools/index.html> [consulta: 17 mayo 2007] [Vat03] Vates. Kanav y CMM, 2003 [en línea] <http://www.vates.com/kanav_cmm.htm> [consulta: 21 mayo 2007] [Wik07] Wikipedia. Modelo de Capacidad y Madurez, 2007 [en línea] <http://es.wikipedia.org/wiki/Modelo_de_Capacidad_y_Madurez> [consulta: 7 junio 2007]
86
9. ANEXOS
9.1. Detalle de los Casos de Uso
Se describen a continuación los casos esenciales de uso:
Identificador CU1
Nombre Crear proyecto de mejora de calidad de procesos
Actor Jefe de Proyecto
Pre-Condición No existe un proyecto de mejora creado.
Descripción 1. El jefe de proyecto ingresa al sistema para crear el proyecto.
El jefe de proyecto pulsa sobre link para crear el proyecto.
2. El jefe de proyecto ingresa sus datos.
3. El jefe de proyecto ingresa datos de proyecto.
4. El jefe de proyecto especifica tipo de detalle (plantilla) de las
actividades de cada fase.
5. El Sistema crea al usuario como jefe de proyecto.
6. El Sistema crea el proyecto, el primer ciclo, las fases: Iniciar,
Diagnosticar, Establecer, Actuar y Aprender.
7. El sistema crea actividades para cada fase basado en el tipo
de plantilla especificada, reforzando de esta manera el uso del
modelo IDEALSM y guiando al usuario en la configuración del
proyecto de mejora.
8. El Sistema despliega elementos creados.
Post-
Condición
El Sistema tiene creados al usuario jefe de proyecto, proyecto, ciclo,
fases y actividades.
Identificador CU2
Nombre Ingresar al sistema
Actor Usuario (Jefe de proyecto, Responsable de área, EPG o Comité
Ejecutivo)
Pre-Condición El caso de uso CU1 ha sido ejecutado.
87
Descripción 1. El Usuario ingresa a página principal del sistema.
2. El Usuario introduce usuario y password.
3. El Sistema comprueba validez de datos.
4. El Sistema autentica a usuario.
5. El Sistema despliega contenido de acuerdo al rol del usuario.
Post-
Condición
El Sistema identifica al usuario.
La precondición del caso de uso CU2 es que el caso de uso CU1 haya sido ejecutado. La
precondición de todos los demás casos de uso que se describen a continuación es que el caso
de uso CU2 haya sido ejecutado.
Identificador CU3
Nombre Gestionar usuario
Actor Jefe de Proyecto
Pre-Condición Sólo podrá ser eliminado aquel usuario que no tenga actividades en
estado pendiente asignadas a él.
Descripción 1. El jefe de proyecto gestiona usuarios, es decir visualiza una
lista de usuarios, crea, modifica o elimina al usuario.
2. El jefe de proyecto asigna un rol al crear al usuario.
3. El sistema registra las acciones realizadas por el jefe de
proyecto.
Post-
Condición
El sistema registra las acciones del jefe de proyecto y cambia de
estado de acuerdo a éstas.
Identificador CU4
Nombre Visualizar panel de control
Actor Usuario (Jefe de proyecto, Responsable de área, EPG o Comité
Ejecutivo)
Pre-Condición
Descripción 1. El usuario visualiza el desarrollo de proyecto. El usuario pulsa
sobre link para visualizar el desarrollo de proyecto.
2. El Sistema muestra todos los ciclos, fases y áreas de proceso
seleccionadas en cada ciclo del proyecto. Esta sección está
orientada a proporcionar visibilidad durante todo el proyecto,
88
su estado actual y su avance, permitiendo el seguimiento del
proyecto y una rápida vista de los resultados que se van
obteniendo con el desarrollo del proyecto. Se diferencian dos
tipos de ciclo: el actual que está activo, sobre el cual se está
trabajando y el inactivo sobre el cual se terminaron de realizar
todas sus actividades. El Sistema muestra de manera distinta
el ciclo actual.
3. El Sistema muestra listados de actividades: próximas por
venir, vencidas sin empezar y terminadas.
Post-
Condición
El sistema no cambia de estado.
Identificador CU5
Nombre Gestionar actividades
Actor Jefe de Proyecto, Responsable de área
Pre-Condición
Descripción 1. El usuario gestiona actividades, es decir visualiza una lista de
actividades, crea, modifica o elimina actividades.
2. El sistema registra las acciones realizadas por el usuario.
Post-
Condición
El sistema registra las acciones del usuario del sistema y cambia
de estado de acuerdo a éstas.
Identificador CU6
Nombre Cerrar ciclo actual
Actor Jefe de Proyecto
Pre-Condición El ciclo debe estar activo. Todas las actividades del ciclo deben estar
en un estado terminal: borradas o terminadas.
Descripción 1. El jefe de proyecto cierra ciclo. El jefe de proyecto pulsa sobre
link para cerrar ciclo actual.
2. El jefe de proyecto especifica tipo de detalle (plantilla) de las
actividades de cada fase del siguiente ciclo.
3. El sistema cierra el ciclo actual.
4. El sistema crea nuevo ciclo y sus fases.
5. El sistema crea actividades para cada fase basado en el tipo
89
de plantilla especificada.
Post-
Condición
El sistema actualiza la fecha final del ciclo, por lo que se cierra el
ciclo. El nuevo ciclo, fases y actividades son creados.
Identificador CU7
Nombre Seleccionar área de proceso para ciclo actual
Actor Jefe de Proyecto
Pre-Condición
Descripción 1. El Sistema muestra todas las áreas de proceso descritas en el
modelo CMMI agrupadas por nivel.
2. El jefe de proyecto selecciona área de proceso para ciclo. El
jefe de proyecto pulsa sobre link para seleccionar área de
proceso para ciclo.
3. El jefe de proyecto define responsable y fecha de inicio de
actividades.
4. El jefe de proyecto especifica tipo de detalle (plantilla) con las
que serán creadas las actividades para el área de proceso.
5. El Sistema crea actividades para el área de proceso
especificada, en la fase Actuar del ciclo actual, basado en el
tipo de plantilla especificada.
Post-
Condición
El Sistema crea actividades para el área de proceso, en fase actuar
del ciclo actual.
Identificador CU8
Nombre Gestionar artefactos
Actor Jefe de Proyecto, Responsable de área
Pre-Condición
Descripción 1. El usuario añade artefactos y visualiza una lista de ellos.
2. El sistema registra las acciones realizadas por el usuario.
Post-
Condición
El sistema registra las acciones del usuario y cambia de estado de
acuerdo a éstas.
90
Identificador CU9
Nombre Añadir y visualizar comentarios
Actor Usuario (Jefe de proyecto, Responsable de área, EPG o Comité
Ejecutivo)
Pre-Condición
Descripción 1. El usuario añade y visualiza una lista de comentarios. El
registro de los comentarios, durante el desarrollo de todo el
proyecto, permite recolectar lecciones aprendidas de las
actividades del proyecto.
2. El sistema registra las acciones realizadas por el usuario.
Post-
Condición
El sistema registra las acciones del usuario del sistema y cambia de
estado de acuerdo a éstas.
Identificador CU10
Nombre Visualizar historial de cambios
Actor Usuario (Jefe de proyecto, Responsable de área, EPG o Comité
Ejecutivo)
Pre-Condición
Descripción 1. El usuario visualiza el historial de cambios realizados al
proyecto, ciclo, actividad. El usuario pulsa sobre link para
visualizar el historial de cambios realizados.
2. El Sistema muestra los valores que han sido modificados, sus
valores antes y después del cambio.
Post-
Condición
El sistema no cambia de estado.
Identificador CU11
Nombre Gestionar documentación de procesos organizacionales
Actor Jefe de Proyecto, Responsable de área
Pre-Condición
Descripción 1. El Sistema muestra las áreas de proceso de CMMI.
2. El usuario selecciona un área de proceso para gestionar la
documentación del proceso organizacional relacionado.
3. El Sistema muestra el propósito, los objetivos y prácticas
específicos del área de proceso seleccionada.
91
4. El usuario gestiona la documentación del proceso
organizacional correspondiente al área de proceso. El proceso
está compuesto por varios subprocesos, los cuales a su vez
están compuestos de actividades. El usuario gestiona tanto
los subprocesos como las actividades es decir visualiza estos
elementos listados, crea nuevos, modifica o los elimina.
5. El sistema registra las acciones realizadas por el usuario.
Post-
Condición
El sistema registra las acciones del usuario y cambia de estado de
acuerdo a éstas.
9.2. Respuestas de encuesta
A continuación se presentan algunas de las encuestas recolectadas para la validación acerca de la utilidad de la herramienta.
Persona con conocimiento y experiencia básicos. Master en Administración de Tecnologías de Información, Jefe de Departamento de Sistemas de Información. 1. soporte | Es una herramienta de gran utilidad, puesto que permite administrar todo el ciclo de un proyecto con el detalle que se requiera, permitiendo añadir documentos de apoyo que sirvan de base para que cualquier integrante del proyecto se integre y adapte al mismo 2. planificación | Definitivamente proporciona una planificación guiada de un proyecto, ya que es una herramienta muy amigable y contiene gran contenido de ayuda, lo cual guía a la mejor administración del proyecto. En cuanto a una administración centralizada, cada uno de los usuarios puede administrar sus actividades y procesos asignados y además la administración global del jefe de proyecto, ya que el hecho de asignar actividades y responsabilidades a distintos usuarios y que ellos puedan entrar a revisar sus actividades permite que cada uno administre la etapa o fase del proyecto que le corresponde
3. visibilidad | Si definitivamente permite administrar un proyecto con mayor facilidad y organización ya que es posible dar seguimiento a todos los procesos, subprocesos y actividades registradas, sin perder ningún detalle de las modificaciones, retrasos y avances que se realicen, lo cual permite no perder ningún detalle del avance del proyecto 4. capacitación | Es de gran utilidad la explicación amplia de todo el ciclo, lo cual definitivamente guía al interior de la metodología y permite tener una visión más amplia y mejorada de la misma, lo cual es una introducción a procesos para alguien que no necesariamente esté familiarizado con el tema 5. amigable | 7 la herramienta es muy amigable y el contenido de ayuda que se presenta a lo largo de la misma permite tener una visión clara y amplia del manejo de la misma así como también de lo referente a procesos
92
6. usable | 7 es fácil explotar las facilidades de la herramienta, además de utilizar la ayuda que se presenta es posible descubrirla intuitivamente 7. Función más útil | La creación de procesos, subprocesos, actividades y roles, en general las funcionalidades presentadas son muy útiles para la administración del proyecto 8. Función menos útil | Me parece que todas las funcionalidades creadas en la herramienta son útiles, no creo que exista alguna funcionalidad que no sea útil para la administración del proyecto 9. mejora | Los gráficos y explicaciones utilizadas en la herramienta son de gran ayuda y guía durante la utilización de la misma, sin duda es de gran utilidad para la administración de un proyecto Persona con medianos conocimiento y experiencia. Jefe de Proyectos informáticos con experiencia de más de 10 años. Estudios especializados en modelos CMMI e IDEAL. 1. soporte | Sí. La agrupación de las tareas según las fases del modelo IDEAL es una gran ayuda para el manejo de un proyecto de mejora, aún sin estar familiarizado con el modelo. 2. planificación | Sí. El sistema posee funciones que permitirían planificar y administrar un proyecto de mejora de forma centralizada. En particular, aquellas funciones relacionadas con la gestión de proyectos (agendamiento de tareas, asignación de responsabilidades). 3. visibilidad | Creo que le faltan ciertas funciones que permitirían tener una mejor visibilidad del proyecto, como estimación de fechas de término, definición de disponibilidad de horario de los usuarios, y otras relacionadas con la gestión de proyectos. 4. capacitación | Sí. Creo que sería de gran ayuda para comprender el modelo IDEAL de mejora de procesos y las áreas de proceso de CMMI, gracias a sus "plantillas" de generación de proyectos y ayuda en línea. 5. amigable | La califico con un 6. Algunos de sus elementos positivos son su ayuda en línea, las plantillas de creación de proyectos, y las sencillas pero a la vez poderosas listas. Su principal defecto podría ser la falta de una visión global del proyecto, alguna suerte de mapa que permitiera el acceso rápido a las opciones, y que a la vez sirviera para tener una idea resumida del proyecto. 6. usable | La califico con un 6. El sistema es bastante usable, no es necesario tener una capacitación previa, ya que la ayuda en línea es bastante clara en cada una de las opciones, y la interfaz gráfica sigue estándares de uso muy conocidos. El aspecto negativo (relacionado con el punto anterior) es que algunas veces es difícil determinar en qué opción del sistema se está, y cómo se llegó a ella. 7. Función más útil | - El Panel de Control. - La relación de las áreas de proceso CMMI y los ciclos de mejora. - La asignación de responsables y fechas comprometidas. 8. Función menos útil | La documentación de los procesos de la Organización.
93
9. mejora | Creo que el sistema es una excelente iniciativa, y que puede convertirse en una gran herramienta para la gestión de proyectos de mejora, sobretodo en empresas pequeñas y medianas que habitualmente no cuentan con todo el personal necesario para llevar adelante este tipo de proyectos, y para las cuales este tipo de sistema son de gran ayuda. Persona con alto conocimiento y experiencia. SEI Authorized Lead Asesor. Académico. 1. soporte | Si. Sus facilidades para definir actividades, modificarlas y el control de avance de las mismas, permitirán a distintos usuarios ver el estado del proyecto en cualquier instante 2. planificación | Si. Ver respuesta anterior. 3. visibilidad | Si. Ver punto 1. 4. capacitación | Si. Normalmente las organizaciones que cuentan con herramientas de este tipo, la utilizan en sus cursos, en reemplazo de las tradicionales slides, ahorrando tiempo y mejorando los resultados de la capacitación. 5. amigable | 6 6. usable | 6 7. Función más útil | La flexibilidad para crear actividades de acuerdo a las necesidades de cada proyecto. 8. Función menos útil | Todas me parecieron útiles. No le sacaría nada. 9. mejora | Felicitaciones por el producto. Está muy bien conceptualizado y resulta muy fácil de usar.
Me parece que es una buena base para seguir agregándole nuevas potencialidades. En mi opinión, yo la independizaría de modelo Ideal dejándola así utilizable para
administrar cualquier tipo de proyecto, entre los cuales, uno de ellos podría ser un proyecto de mejoramiento.
Persona con alto conocimiento y experiencia. Líder de Proyectos de Mejora de Procesos. 1. soporte | Bueno considero que sería un muy buen aporte como herramienta de gestión para proyectos de SPI. 2. planificación | Bueno la guía hay que mejorarla, por ejemplo se explican algunas cosas pero habían actividades que no eran muy claras, traté de buscar en la ayuda ubicada al lado derecho y no había nada. 3. visibilidad | Sobre el avance creo que ayudaría bastante puesto que permite realizar un control de cambios sobre los artefactos creados, además la idea de publicar las tareas pendientes y las terminadas proveen una mejor gestión sobre un proyecto SPI, lo que sería bueno crear una dependencia sobre algunas de las actividades, por ejemplo no podemos diseñar procesos si antes no hemos evaluado para conocer qué debemos mejorar.
94
4. capacitación | No entiendo muy esta pregunta o a qué se refiere, pero me parece que si hablas de capacitación a nivel procesos sobre esta herramienta quedaría claro. 5. amigable | No es fácil de usar, por ejemplo estaba activando las actividades y asignando responsables, me salí y fue a otra fase y no pude volver o retornar a la opción que me permitía seguir activando las actividades. Creo que sería mejorar la distribución de la información, la configuración y presentación de la misma, por ejemplo colores, tamaño de la letra, esta muy pequeña, así mismo realizar un mejor énfasis sobre la presentación de las opciones elegidas es decir, cada vez que se pincha o se hace clic sobre una opción no se muestra un color diferente de página o se resalta sobre el nombre de esa opción, si se hace por lo menos mostrar un cambio de color o algo que haga sentir al usuario que se encuentra en otro lugar de la aplicación (arquitectura de la información), etc. | 6. usable | 4, creo que la aplicación se podría hacer más usable y minimalista, teniendo en cuenta algunas técnicas o características de la arquitectura de información. 7. Función más útil | La presentación que se hace por fases y luego por actividades, aunque habría que mostrarle al usuario dónde se encuentra cuando hace clic por ejemplo en la fase de inicio porque actualmente este cuando hace clic sólo puede ver las actividades involucradas en esta fase pero no ve su nombre, esto serviría para darle un sentido de orientación. Habría que mejorar o relacionar mejor las actividades relacionadas al diseño de los procesos o subprocesos, porque si esta es una actividad de la fase establecer se podría realizar un link a procesos y no dejarlos separados. 8. Función menos útil | No creo que sea inútil la barra que me permite desplazar por las diferentes actividades, creo que estaría bien pero siempre y cuando pueda saber de una manera más directa a qué fase pertenece una actividad. 9. mejora | Sería muy buen soporte para la gestión de proyectos de SPI, habría que mejorar algunas características, pero de acuerdo a otras herramientas que he visto, ésta sería muy buen aporte. Persona con medianos conocimiento y experiencia. Jefe de área de calidad con experiencia de más de 10 años. Estudios especializados en modelos CMMI e IDEAL. 1. soporte | Si, entrega soporte a un proceso basado en CMMI e IDEAL, pienso que la herramienta tiene potencialidad para manejar proyectos de mejora de procesos basados en otros modelos. 2. planificación | Si, entrega una guía detallada de los pasos y secuencias a seguir, basada en los modelos mencionados anteriormente. 3. visibilidad | Sí, porque entrega una situación consolidada del estatus de avance, lo que facilita en gran parte la tarea del jefe de proyecto. 4. capacitación | Sí 5. amigable | 7 6. usable | 7
95
7. Función más útil | En general, el uso de plantillas basadas en un modelo, lo que entrega una guía a seguir, y la flexibilidad de la herramienta para su utilización. 8. Función menos útil | El menú de ayuda, debería ser visible solo a requerimiento del usuario. 9. mejora | Pienso que sería muy útil si se pudieran cargar distintas plantillas, para que el usuario pueda escoger con cual trabaja. Persona con alto conocimiento y experiencia. Académico con especialización en Calidad de Software y Mejoramiento de Procesos de Software. 1. soporte | Sí, absolutamente pues permite administrar en forma detallada el proyecto de mejora de procesos en un nivel básico, permitiendo a los gestionadores concentrarse en agregar valor a los procesos mejorados 2. planificación | Sí, en base a lo que pude apreciar en un ejemplo sencillo de aplicación aunque no me fue posible utilizar en escala completa la herramienta para poder afirmarlo con más certeza 3. visibilidad | Absolutamente sí, este tipo de herramientas son vitales para aumentar la visibilidad de avance ya que disponibilizan a los gestores la información y métricas necesarias 4. capacitación | Sí, pues tiene plantillas base de proyecto de mejora y explicaciones de los contenidos específicos y actividades 5. amigable | 6 ... para un usuario avezado en el uso de aplicaciones web no debería costarle demasiado llegar a los contenidos 6. usable | 6 .. me parece que aún puede mejorarse la facilidad para encontrar los contenidos y las explicaciones 7. Función más útil | La definición de actividades tipo para el proyecto de mejora 8. Función menos útil | Todas las funcionalidades son útiles, no puedo mencionar una como menos o no útil 9. mejora | Me parece un excelente desarrollo para apoyar en la implementación de planes de mejora de calidad de procesos de software