trabajo fin de grado - ruidera principal

186
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA TECNOLOGÍA ESPECÍFICA DE INGENIERÍA DEL SOFTWARE TRABAJO FIN DE GRADO SPT 2 : Herramienta web para el seguimiento de carteras de proyectos software Roberto Jesús González-Carrato Pozo Diciembre, 2017

Upload: others

Post on 28-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRABAJO FIN DE GRADO - RUIdeRA Principal

UNIVERSIDAD DE CASTILLA-LA MANCHA

ESCUELA SUPERIOR DE INFORMÁTICA

GRADO EN INGENIERÍA INFORMÁTICA

TECNOLOGÍA ESPECÍFICA DE INGENIERÍA DEL SOFTWARE

TRABAJO FIN DE GRADO

SPT

2: Herramienta web para el seguimiento de

carteras de proyectos software

Roberto Jesús González-Carrato Pozo

Diciembre, 2017

Page 2: TRABAJO FIN DE GRADO - RUIdeRA Principal
Page 3: TRABAJO FIN DE GRADO - RUIdeRA Principal

UNIVERSIDAD DE CASTILLA-LA MANCHA

ESCUELA SUPERIOR DE INFORMÁTICA

DEPARTAMENTO DE TECNOLOGÍAS Y SISTEMAS

DE INFORMACIÓN

TECNOLOGÍA ESPECÍFICA DE INGENIERÍA DEL SOFTWARE

TRABAJO FIN DE GRADO

SPT

2: Herramienta web para el seguimiento de

carteras de proyectos software

Autor: Roberto Jesús González-Carrato Pozo

Directores: Félix Óscar García Rubio

María de los Ángeles Moraga de la Rubia

Diciembre, 2017

Page 4: TRABAJO FIN DE GRADO - RUIdeRA Principal
Page 5: TRABAJO FIN DE GRADO - RUIdeRA Principal

TRIBUNAL:

Presidente:

Vocal:

Secretario:

FECHA DE DEFENSA:

CALIFICACIÓN:

PRESIDENTE VOCAL SECRETARIO

Fdo.: Fdo.: Fdo.:

PÁGINA DE CALIFICACIÓN

Page 6: TRABAJO FIN DE GRADO - RUIdeRA Principal

0

Page 7: TRABAJO FIN DE GRADO - RUIdeRA Principal

II

Resumen

Debido a la gran competitividad que existe en el mercado e incluso para poder

sobrevivir, las empresas necesitan una adecuada planificación a todos los niveles y que

comienza con la planificación estratégica. En los últimos años ha ido cobrando cada vez

más importancia el concepto de gestión de carteras de proyectos, siendo hoy en día

esencial la implementación de éstas en las empresas. Y es que, un óptimo entorno de

gestión de carteras de proyectos no asegura a una organización la consecución de la

planificación estratégica, pero sí que da un soporte muy importante y ayuda a que éste

se logre.

Una de las etapas más importantes en la gestión de carteras de proyectos es el

seguimiento. Gracias a ésta, las empresas están en todo momento informadas sobre el

estado de las carteras de proyectos que gestionan.

Por otro lado, tras analizar el mercado que existe de herramientas que ayudan en

la gestión de carteras de proyectos, se ha detectado que en la actualidad no existe una

aplicación específica que esté orientada a la gestión de carteras de proyectos software,

lo que lleva a pensar que el desarrollo de una herramienta orientada a este tipo de

carteras de proyectos sería más que acertado.

Por todo ello, en el contexto de este TFG se ha considerado el gran potencial e

interés que puede tener una herramienta orientada a dar seguimiento a la gestión de

carteras de proyectos software, con el fin de dar el soporte necesario a las

organizaciones para que éstas logren alcanzar la planificación estratégica que tengan

definida. En el presente TFG se desarrolla la herramienta SPT2 (Software Portfolios

Tracking Tool) que permite la captura y representación adecuada de los indicadores

esenciales de seguimiento de carteras de proyectos, facilitando una representación

adecuada de la información aplicando mecanismos de visualización que faciliten la

toma de decisiones y permitan determinar de forma sencilla el alineamiento de la cartera

con la estrategia.

Una vez se ha desarrollado la aplicación, se ha realizado un caso práctico que ha

permitido para comprobar el correcto funcionamiento de la herramienta SPT2.

Page 8: TRABAJO FIN DE GRADO - RUIdeRA Principal

III

Page 9: TRABAJO FIN DE GRADO - RUIdeRA Principal

IV

Abstract

Due to the great competitiveness that exists in the market and even to survive,

companies need adequate planning at all levels and start with the strategic planning. In

recent years, the concept of project portfolio management has become increasingly

important, and today the implementation in companies is essential. And, an optimal

project portfolio management environment does not guarantee the organization the

achievement of strategic planning, but it can be a very important support and help you

to achieve it.

One of the most important stages in the project portfolios management is the

tracking. Thanks to this, the companies are always informed about the status of the

projects portfolios that they manage.

On the other hand, after analyzing the tools that exist for projects portfolios

management, at present there is no specific application that is oriented to the software

projects portfolios management, which leads to think that the development of a tool

oriented to this type of projects portfolios would be successful.

Therefore, in the context of this TFG has been considered the great potential and

interest that can have a tool aimed at tracking the software projects portfolios

management, in order to provide the necessary support to organizations in order to

achieve strategic planning. In the present TFG, the SPT2 tool is developed, which

allows the capture and adequate representation of the essential indicators for tracking

project portfolios, facilitating an adequate representation of the information by applying

visualization mechanisms that facilitate decision making and allow to determine in a

simple way the alignment of the portfolio with the strategy.

Once the application has been developed, a practical case has been made that

allowed verifying the correct functioning of the SPT2 tool.

Page 10: TRABAJO FIN DE GRADO - RUIdeRA Principal

V

Page 11: TRABAJO FIN DE GRADO - RUIdeRA Principal

VI

A mis padres, Blas y Ramoni, por dármelo todo sin pedir nada a cambio.

A mi hermana, Gema, por sus ánimos.

A Raquel, por hacer que cada momento juntos sea inolvidable.

Page 12: TRABAJO FIN DE GRADO - RUIdeRA Principal

VII

Page 13: TRABAJO FIN DE GRADO - RUIdeRA Principal

VIII

AGRADECIMIENTOS

Después de un intenso período de siete meses, hoy llega el día que tanto

esperaba: por fin escribo este apartado de agradecimientos, el cual significa la

finalización de mi Trabajo Fin de Grado. Un período que, sin duda alguna, recordaré

con cariño por las numerosas alegrías que he vivido y también por los diversos fracasos,

habiendo aprendido de cada uno de ellos.

En primer lugar, agradecer a mis padres, Blas y Ramoni, los cuales son todo un

ejemplo para mí de esfuerzo y trabajo diario. Gracias a su constancia, dedicación y

cariño hoy soy quien soy, habiéndome permitido crecer tanto personal como

profesionalmente por la posibilidad que me dieron de realizar estos estudios

universitarios.

A mi hermana Gema, por sus constantes ánimos y apoyos, preocupándose

siempre por mí y estando orgullosa de cada uno de mis éxitos. También a cada uno de

mis familiares, por estar siempre pendientes de mi evolución académica y por los

ánimos de cada uno de ellos.

A Raquel, ya que sin sus constantes muestras de cariño hacia mí y su apoyo, esto

no hubiera sido posible. Es la base de este éxito, habiéndome levantado el ánimo cada

vez que el agobio se apoderaba de mí, consiguiendo con sus ánimos la constancia y

concentración que necesitaba para cumplir con mis objetivos personales diarios; y, en

definitiva, sacándome una sonrisa en momentos donde parecía difícil sonreír. Por toda

una vida juntos.

A mis amigos, que, aún sin saberlo ellos, con su alegría me han dado los ánimos

necesarios en momentos en los que lo necesitaba.

A mis compañeros en Indra, por preocuparse por mi progreso académico y por

haber aprendido de sus conocimientos y experiencia.

Por último, agradecer todo el esfuerzo realizado a Félix y Marian, ya que me han

dado la oportunidad de realizar este proyecto y por haber sido mi guía durante todos

estos meses. Aunque yo haya sido un alumno más para ellos, ellos para mí han sido

verdaderamente importantes, aportándome su sabiduría y consejos en cada momento.

Gracias a todos, de corazón.

Roberto Jesús González-Carrato Pozo

Page 14: TRABAJO FIN DE GRADO - RUIdeRA Principal

IX

Page 15: TRABAJO FIN DE GRADO - RUIdeRA Principal

X

ÍNDICE GENERAL

CAPÍTULO 1. INTRODUCCIÓN ............................................................................. 1

1.1. Introducción al tema. ........................................................................................ 1

1.2. Estructura del documento. ............................................................................... 3

CAPÍTULO 2. OBJETIVOS DEL TFG .................................................................... 5

2.1. Objetivo principal. ............................................................................................ 5

2.2. Objetivos parciales............................................................................................ 6

2.3. Objetivos docentes. ........................................................................................... 9

CAPÍTULO 3. ESTADO DE LA CUESTIÓN ......................................................... 11

3.1. Fundamentos de la gestión de carteras de proyectos software...................... 11

Los proyectos pueden agruparse en carteras o en programas. A continuación vamos

a analizar la diferencia que hay entre ambos términos. ......................................... 12

3.1.1. Carteras de proyectos. ................................................................................ 12

3.1.2. Gestión de proyectos. ................................................................................. 13

3.1.3. Gestión de carteras de proyectos software. ................................................. 14

3.3. Herramientas para la gestión de carteras de proyectos. ............................... 19

3.3.1. SAP Portfolio and Project Management...................................................... 19

3.3.2. Unanet Project ERP Software. .................................................................... 20

3.3.3. Microsoft Project & Portfolio Management. ............................................... 21

3.3.4. Antura Projects. .......................................................................................... 22

3.3.5. Oracle’s Primavera P6 Enterprise Project Portfolio Management................ 23

3.3.6. Micro Focus Project and Portfolio Management. ........................................ 25

3.3.7. UNICOM Focal Point. ............................................................................... 26

3.4. Resumen, conclusiones y contribuciones esperadas del TFG........................ 27

CAPÍTULO 4. MÉTODO DE TRABAJO ............................................................... 29

4.1. OpenUP ........................................................................................................... 29

4.1.1. Ciclo de vida. ............................................................................................. 31

4.1.2. Roles. ......................................................................................................... 32

4.2. Marco tecnológico. .......................................................................................... 35

4.2.1. Herramientas para la gestión de proyectos. ................................................. 36

4.2.2. Herramientas para el modelado software y documentación. ........................ 37

4.2.3. Herramientas para la base de datos. ............................................................ 39

Page 16: TRABAJO FIN DE GRADO - RUIdeRA Principal

XI

4.2.4. Entorno de desarrollo integrado (IDE), herramientas, tecnologías y

frameworks para el desarrollo de software. ........................................................... 39

CAPÍTULO 5. RESULTADOS: HERRAMIENTA SPT2 ....................................... 47

5.1. Fase de inicio. .................................................................................................. 47

5.1.1. Análisis de requisitos.................................................................................. 47

5.1.2. Modelo de Casos de Uso. ........................................................................... 49

5.1.3. Plan de Iteraciones. .................................................................................... 53

5.2. Fase de elaboración. ........................................................................................ 55

5.2.1. Iteración 1. Configuración del entorno, diseño de la arquitectura del sistema,

de la base de datos y de la interfaz de usuario. ...................................................... 55

5.3. Fase de construcción. ...................................................................................... 64

5.3.1. Iteración 2. Importación de proyectos .xml exportados de MS-Project. ....... 65

5.3.2. Iteración 3. Gestión de usuarios. ................................................................. 67

5.3.3. Iteración 4. Creación tanto de carteras de proyectos, como de proyectos. .... 72

5.3.4. Iteración 5. Vistas de la herramienta para el seguimiento de carteras. ......... 80

5.3.5. Iteración 6. Representación gráfica de la información de seguimiento de

carteras. ............................................................................................................... 85

5.3.6. Iteración 7. Cambios de estado tanto de las carteras de proyectos, como de

los proyectos. ....................................................................................................... 90

5.3.7. Iteración 8. Actualización de valores de la Gestión del Valor Ganado del

proyecto. .............................................................................................................. 97

5.3.8. Iteración 9. Descarga del informe con la información del proyecto deseado.

.......................................................................................................................... 103

5.3.9. Iteración 10. Envío de correo electrónico al usuario. ................................. 106

5.4. Fase de transición. ........................................................................................ 107

5.4.1. Iteración 11. Pruebas de integración y documentación. ............................. 108

5.4.2. Caso práctico con SPT2. ........................................................................... 108

CAPÍTULO 6. CONCLUSIONES Y PROPUESTAS ........................................... 121

6.1. Análisis de los objetivos cumplidos. ............................................................. 121

6.2. Propuestas futuras. ....................................................................................... 123

6.3. Opinión del autor. ......................................................................................... 124

CAPÍTULO 7.BIBLIOGRAFÍA ............................................................................ 125

ANEXO A. MANUAL DE USUARIO ................................................................... 129

ANEXO B. ACRÓNIMOS ...................................................................................... 161

Page 17: TRABAJO FIN DE GRADO - RUIdeRA Principal

XII

ÍNDICE DE FIGURAS

Figura 1: Relación entre plan estratégico y carteras de proyectos. .................................. 2

Figura 2: Esquema general de la herramienta SPT2........................................................ 3

Figura 3: Relaciones entre carteras, programas y proyectos (PMI, 2013). .................... 13

Figura 4: Entorno de SAP Portfolio and Project Management (SAP Portfolio and

Project Management, 2017)......................................................................................... 20

Figura 5: Entorno de Unanet Project ERP Software (Unanet Project ERP Software,

2017). ......................................................................................................................... 21

Figura 6: Entorno de Microsoft Project Portfolio Management (Microsoft Project &

Portfolio Management, 2017). ..................................................................................... 22

Figura 7: Entorno de Antura Projects (Antura Projects, 2017). .................................... 23

Figura 8: Entorno de Primavera P6 EPPM (Oracle’s Primavera P6 Enterprise Project

Portolio Management, 2017). ...................................................................................... 24

Figura 9: Primavera P6 EPPM permite actualizar las tareas para reflejar el trabajo

realizado (Oracle’s Primavera P6 Enterprise Project Portolio Management, 2017). ..... 25

Figura 10: Entorno de Micro Focus Project and Portfolio Management (Micro Focus

Project and Portfolio Management, 2017). .................................................................. 26

Figura 11: Entorno de UNICOM Focal Point (UNICOM Focal Point, 2017). .............. 27

Figura 12: Visión general de OpenUP (Eclipse EPF, 2012). ........................................ 30

Figura 13: Etapas del ciclo de vida de OpenUP (Eclipse EPF, 2012). .......................... 31

Figura 14: Diferentes roles en OpenUP. ...................................................................... 32

Figura 15: Relaciones del rol Analista en OpenUP. ..................................................... 33

Figura 16: Relaciones del rol Arquitecto en OpenUP................................................... 33

Figura 17: Relaciones del rol Desarrollador en OpenUP. ............................................. 33

Figura 18: Relaciones del rol Project Manager en OpenUP. ........................................ 34

Figura 19: Relaciones del rol Tester en OpenUP. ........................................................ 34

Figura 20: Relaciones de otros roles en OpenUP. ........................................................ 34

Figura 21: Panel de Trello del TFG. ............................................................................ 37

Figura 22: Utilización de Visual Paradigm for UML durante el modelado de casos de

uso del rol administrador. ............................................................................................ 38

Figura 23: Utilización de Balsamiq Mockups durante el diseño de la interfaz de usuario.

................................................................................................................................... 38

Figura 24: Utilización de Eclipse durante el desarrollo de la herramienta. ................... 40

Figura 25: Explicación gráfica del patrón MVC (Gemio, 2017). .................................. 41

Figura 26: Ejemplos de charts representados con la librería Amcharts (Amcharts, 2017).

................................................................................................................................... 44

Figura 27: Funcionalidades del rol administrador. ....................................................... 50

Figura 28: Funcionalidades del rol alta dirección. ........................................................ 51

Figura 29: Funcionalidades del rol gestor de cartera de proyectos................................ 52

Figura 30: Funcionalidades del rol gestor de proyecto. ................................................ 53

Figura 31: Diseño de la base de datos que se utilizará para la herramienta. .................. 57

Page 18: TRABAJO FIN DE GRADO - RUIdeRA Principal

XIII

Figura 32: Diseño de la interfaz del administrador....................................................... 59

Figura 33: Diseño de la interfaz del rol alta dirección. ................................................. 60

Figura 34: Diseño de la interfaz del gestor de cartera de proyectos cuando el usuario

gestiona una sola cartera de proyectos. ........................................................................ 61

Figura 35: Diseño de la interfaz del gestor de carteras de proyectos cuando el usuario

gestiona varias carteras. .............................................................................................. 62

Figura 36: Diseño de la interfaz del gestor de proyecto cuando el usuario gestiona varios

proyectos. ................................................................................................................... 63

Figura 37: Diseño de la interfaz del gestor de proyecto cuando el usuario gestiona varios

proyectos. ................................................................................................................... 64

Figura 38: Vista para que el gestor de cartera de proyectos seleccione un archivo .xml.

................................................................................................................................... 66

Figura 39: Script que envía el archivo seleccionado al controlador mediante una llamada

AJAX.......................................................................................................................... 66

Figura 40: Extracto del método JAVA que lee la información del archivo .xml

seleccionado. .............................................................................................................. 67

Figura 41: Casos de uso para la gestión de los usuarios del administrador. .................. 68

Figura 42: Casos de uso para la gestión de los usuarios de la alta dirección. ................ 68

Figura 43: Interfaz para crear un nuevo usuario. .......................................................... 69

Figura 44: Interfaz para dar de baja a un usuario. ........................................................ 69

Figura 45: Diagrama de clases Gestión de Usuarios. ................................................... 70

Figura 46: Diagrama de secuencia Eliminar Usuario. .................................................. 70

Figura 47: Código implementado en el controlador para dar de baja a un usuario. ....... 71

Figura 48: Código implementado en el Manager para dar de baja a un usuario. ........... 71

Figura 49: Código implementado en la clase de la capa Modelo para dar de baja a un

usuario. ....................................................................................................................... 71

Figura 50: Casos de uso para la creación de carteras de proyectos y de proyectos para el

administrador. ............................................................................................................. 72

Figura 51: Casos de uso para la creación de carteras de proyectos para la alta dirección.

................................................................................................................................... 73

Figura 52: Casos de uso para la creación de proyectos para el gestor de cartera de

proyectos. ................................................................................................................... 73

Figura 53: Interfaz para crear una nueva cartera de proyectos. ..................................... 74

Figura 54: Método en la clase de la capa Modelo para la inserción de nuevas carteras de

proyectos en la base de datos. ...................................................................................... 75

Figura 55: Interfaz para crear un nuevo proyecto para el rol Administrador. ................ 76

Figura 56: Interfaz para crear un nuevo proyecto para el rol Gestor de Cartera de

Proyectos. ................................................................................................................... 77

Figura 57: Formulario para la creación de un nuevo proyecto siguiendo metodología

tradicional. .................................................................................................................. 78

Figura 58: Formulario para la creación de un nuevo proyecto siguiendo metodología

ágil. ............................................................................................................................. 79

Figura 59: Diagrama de clases creación de carteras de proyectos y de proyectos. ........ 80

Page 19: TRABAJO FIN DE GRADO - RUIdeRA Principal

XIV

Figura 60: Diagrama de secuencia Creación nuevo proyecto por parte del Gestor de

cartera de proyectos. ................................................................................................... 80

Figura 61: Casos de uso del usuario Gestor de cartera de proyectos para Vistas de la

herramienta para el seguimiento de carteras. ............................................................... 81

Figura 62: Casos de uso del usuario Gestor de cartera de proyectos para Vistas de la

herramienta para el seguimiento de carteras. ............................................................... 81

Figura 63: Casos de uso del usuario Gestor de proyecto para Vistas de la herramienta

para el seguimiento de carteras. ................................................................................... 81

Figura 64: Interfaz mostrada al rol Gestor de proyecto cuando haga login y gestione más

de un proyecto. ........................................................................................................... 82

Figura 65: Interfaz mostrada al rol Alta Dirección/Gestor de cartera de proyectos

cuando seleccione una de sus carteras. ........................................................................ 83

Figura 66: Vista mostrada al rol Alta Dirección cuando su empresa tenga una o más

carteras de proyectos. .................................................................................................. 83

Figura 67: Interfaz mostrada al rol Gestor de proyecto (pestaña Información general)

cuando seleccione uno de sus proyectos siguiendo metodología tradicional. ................ 84

Figura 68: Diagrama de clases para la visualización de las vistas de la herramienta para

el seguimiento de carteras. .......................................................................................... 85

Figura 69: Parte del código del jsp que muestra cada celda de la tabla de proyectos. ... 85

Figura 70: Interfaz nivel Alta Dirección tras introducir gráficos Amcharts. ................. 87

Figura 71: Interfaz nivel Alta Dirección tras introducir gráficos Amcharts. ................. 87

Figura 72: Interfaz nivel Gestión de carteras de proyectos tras introducir gráficos

Amcharts. ................................................................................................................... 88

Figura 73: Interfaz nivel Gestión de proyectos tras introducir gráficos Amcharts......... 89

Figura 74: Construcción del chart en el jsp correspondiente. ....................................... 90

Figura 75: Casos de uso para cambios de estado del rol Alta dirección. ....................... 90

Figura 76: Casos de uso para cambios de estado del rol Gestor de cartera de proyectos.

................................................................................................................................... 91

Figura 77: Casos de uso para cambios de estado del rol Gestor de proyecto................. 91

Figura 78: Interfaz para posibilitar el cambio del estado general de la cartera de

proyectos. ................................................................................................................... 92

Figura 79: Interfaz para posibilitar el cambio del estado general del proyecto.............. 93

Figura 80: Interfaz para posibilitar el cambio de los estados individuales de la cartera de

proyectos. ................................................................................................................... 94

Figura 81: Modal para indicar los nuevos estados individuales deseados de la cartera de

proyectos. ................................................................................................................... 95

Figura 82: Interfaz para posibilitar el cambio de los estados individuales del proyecto. 95

Figura 83: Diagrama de secuencia actualizar estados individuales proyecto. ............... 96

Figura 84: Diagrama de clases para los cambios de estado general/individuales de la

cartera/proyecto. ......................................................................................................... 96

Figura 85: Código en la capa Modelo para el cambio de los estados individuales en la

cartera de proyectos. ................................................................................................... 97

Figura 86: Casos de uso actualizar valores Gestión del Valor Ganado del proyecto. .... 97

Page 20: TRABAJO FIN DE GRADO - RUIdeRA Principal

XV

Figura 87: Botón creado para la actualización de valores para la Gestión del Valor

Ganado en proyecto siguiendo metodología tradicional. .............................................. 98

Figura 88: Botón creado para la actualización de valores para la Gestión del Valor

Ganado en proyecto siguiendo metodología ágil.......................................................... 98

Figura 89: Modal que permite la actualización de valores para la Gestión del Valor

Ganado en proyectos siguiendo metodología tradicional. ............................................ 99

Figura 90: Formulario que permite la actualización de valores para la Gestión del Valor

Ganado de Forma manual en proyectos que siguen metodología tradicional. ............... 99

Figura 91: Selección de actualización de valores para la Gestión del Valor Ganado de

Forma automática para proyectos siguiendo metodología tradicional. ....................... 100

Figura 92: Formulario en selección de actualización de valores para la Gestión del Valor

Ganado de Forma automática para proyectos siguiendo metodología tradicional. ...... 101

Figura 93: Formulario que permite la actualización de valores para la Gestión del Valor

Ganado de Forma manual en proyectos que siguen metodología ágil. ........................ 101

Figura 94: Formulario en selección de actualización de valores para la Gestión del Valor

Ganado de Forma automática para proyectos siguiendo metodología ágil. ................. 102

Figura 95: Gráfica de la Gestión del Valor Ganado. .................................................. 103

Figura 96: Casos de uso descarga de la información del proyecto. ............................. 103

Figura 97: Nuevo botón para descargar la información del proyecto deseado en formato

PDF. ......................................................................................................................... 104

Figura 98: Diagrama de clases de la descarga de información del proyecto deseado. . 105

Figura 99: Parte de código más relevante del controlador para la descarga del archivo

PDF. ......................................................................................................................... 105

Figura 100: Correo electrónico enviado al usuario cuando ha sido dado de alta en la

herramienta. .............................................................................................................. 106

Figura 101: Correo electrónico enviado al Gestor de cartera de proyectos cuando cambia

el estado general de alguna de sus carteras. ............................................................... 106

Figura 102: Correo electrónico enviado al Gestor de proyecto cuando se le asigne un

nuevo proyecto.......................................................................................................... 107

Figura 103: Código implementado para el envío del correo electrónico cuando un

usuario cambie su contraseña. ................................................................................... 107

Figura 104: Formulario para dar de alta a Pablo Ramírez. ......................................... 109

Figura 105: Correo electrónico enviado al administrador de SPT2 informando del nuevo

alta. ........................................................................................................................... 109

Figura 106: Correo electrónico enviado a Pablo Ramírez informando que ha sido dado

de alta en la herramienta............................................................................................ 109

Figura 107: Formulario para cambiar la contraseña de Pablo Ramírez. ...................... 110

Figura 108: Mensaje informando del éxito durante el cambio de contraseña. ............. 110

Figura 109: Formulario para la creación de la nueva cartera de proyectos.................. 111

Figura 110: Correo electrónico enviado a la alta dirección tras crear una nueva cartera

de proyectos. ............................................................................................................. 111

Figura 111: Correo electrónico enviado al gestor de cartera tras asignarle una nueva

cartera de proyectos. ................................................................................................. 112

Figura 112: Vista de la cartera de proyectos que dirige el usuario Manuel Ruiz. ........ 112

Page 21: TRABAJO FIN DE GRADO - RUIdeRA Principal

XVI

Figura 113: Formulario para la creación de un nuevo proyecto, asignándoselo a Samuel

Pérez. ........................................................................................................................ 113

Figura 114: Vista de la cartera de proyectos tras la creación de los 2 nuevos proyectos

en la misma. .............................................................................................................. 114

Figura 115: Vista de la cartera de proyectos tras la creación de los 2 nuevos proyectos

en la misma. .............................................................................................................. 114

Figura 116: Vista del proyecto asignado a Samuel Pérez (pestaña “Información

general”). .................................................................................................................. 115

Figura 117: Vista del proyecto asignado a Raquel Santos (pestaña “Gestión del valor

ganado”). .................................................................................................................. 116

Figura 118: Vista del proyecto asignado a Raquel Santos (pestaña “Estado del

proyecto”) tras actualizar el estado de calendario. ..................................................... 116

Figura 119: Gráfica de la Gestión del Valor Ganado del proyecto de Samuel Pérez. .. 117

Figura 120: Vista de la cartera de proyectos tras cancelar el proyecto de Samuel Pérez.

................................................................................................................................. 117

Figura 121: Vista de la cartera de proyectos tras cancelar el proyecto de Samuel Pérez.

................................................................................................................................. 118

Figura 122: Correo electrónico enviado al gestor de proyecto tras la cancelación de su

proyecto. ................................................................................................................... 118

Figura 123: Vista de la cartera de proyectos tras actualizar su estado a Terminada. ... 119

Figura 124: Vista de la cartera de proyectos tras actualizar su estado a Terminada. ... 119

Figura 125: Correo electrónico enviado al gestor de cartera proyecto informando de la

actualización de la misma a Terminada. .................................................................... 120

Figura 126: Interfaz login. ......................................................................................... 129

Figura 127: Pantalla principal Administrador. ........................................................... 130

Figura 128: Apartado Mi cuenta. ............................................................................... 131

Figura 129: Interfaz para la creación de nuevas carteras de proyectos. ....................... 133

Figura 130: Interfaz para la creación de nuevos proyectos. ........................................ 134

Figura 131: Formulario para la introducción de información adicional para el nuevo

proyecto. ................................................................................................................... 135

Figura 132: Formulario para la creación de un nuevo usuario. ................................... 136

Figura 133: Interfaz para la eliminación de usuarios de la aplicación. ........................ 137

Figura 134: Vista del rol Alta dirección tras hacer login. ........................................... 138

Figura 135: Vista del rol Alta dirección tras hacer login. ........................................... 139

Figura 136: Vista de cartera de proyectos para el usuario Alta dirección. .................. 141

Figura 137: Vista de cartera de proyectos para el usuario Alta dirección. .................. 141

Figura 138: Pestaña Información general de la vista de proyecto para el usuario Alta

dirección. .................................................................................................................. 142

Figura 139: Pestaña Estado del proyecto de la vista de proyecto para el usuario Alta

dirección. .................................................................................................................. 143

Figura 140: Pestaña Gestión del valor ganado de la vista de proyecto para el usuario

Alta dirección. .......................................................................................................... 143

Figura 141: Vista rol Gestor de cartera de proyectos tras hacer login gestionando varias

carteras. .................................................................................................................... 145

Page 22: TRABAJO FIN DE GRADO - RUIdeRA Principal

XVII

Figura 142: Vista cartera del rol Gestor de cartera de proyectos ................................ 145

Figura 143: Vista cartera del rol Gestor de cartera de proyectos. ............................... 146

Figura 144: Vista para actualizar estados individuales de la cartera de proyectos. ...... 149

Figura 145: Vista rol Gestor de proyecto tras hacer login gestionando varios proyectos.

................................................................................................................................. 150

Figura 146: Vista proyecto para el rol Gestor de proyecto. ........................................ 151

Figura 147: Vista proyecto para el rol Gestor de proyecto. ........................................ 152

Figura 148: Vista proyecto para el rol Gestor de proyecto. ........................................ 152

Figura 149: Interfaz para la actualización de los estados individuales del proyecto. ... 155

Figura 150: Vista para actualizar los valores de Gestión del valor ganado del proyecto.

................................................................................................................................. 156

Figura 151: Formulario para actualizar los valores de Gestión del valor ganado del

proyecto tras seleccionar Forma manual. ................................................................... 156

Figura 152: Vista para actualizar los valores de Gestión del valor ganado del proyecto

tras seleccionar Forma automática. ............................................................................ 157

Figura 153: Formulario para actualizar los valores de Gestión del valor ganado del

proyecto siguiendo metodología tradicional tras haber seleccionado Forma automática y

tras seleccionar el proyecto deseado. ......................................................................... 157

Figura 154: Vista para actualizar los valores de Gestión del valor ganado del proyecto

siguiendo metodología ágil tras haber seleccionado Forma manual. .......................... 158

Figura 155: Vista para actualizar los valores de Gestión del valor ganado del proyecto

siguiendo metodología ágil tras haber seleccionado Forma automática y tras seleccionar

el proyecto deseado. .................................................................................................. 158

Figura 156: Gráfica de la Gestión del valor ganado. .................................................. 159

Page 23: TRABAJO FIN DE GRADO - RUIdeRA Principal

XVIII

ÍNDICE DE TABLAS

Tabla 1: Niveles de Gestión de Proyectos (PMI, 2016). ............................................... 15

Tabla 2: Herramientas y tecnologías empleadas en el presente TFG. ........................... 35

Tabla 3: Plan de Iteraciones. ....................................................................................... 54

Tabla 4: Herramientas y tecnologías usadas para cada capa del modelo MVC. ............ 56

Tabla 5: Consecución de objetivos parciales propuestos para el presente TFG........... 122

Tabla 6: Consecución de objetivos docentes propuestos para el presente TFG. .......... 123

Page 24: TRABAJO FIN DE GRADO - RUIdeRA Principal

XIX

Page 25: TRABAJO FIN DE GRADO - RUIdeRA Principal

1

CAPÍTULO 1

INTRODUCCIÓN

1.1. Introducción al tema.

Hoy en día por todos es sabido que no es tarea fácil para una empresa tener

ventajas sobre la competencia para diferenciarse y ganar la preferencia de los clientes.

Lo que está claro es que las personas encargadas de dirigir cualquier organización, sea

del tipo que sea, deben estar constantemente tomando decisiones, lo que implicará

asumir riesgos. Como ya indicó el gran emprendedor Marc Zuckerberg en 2011:

“El riesgo más grande es no tomar ninguno. En un mundo que está

cambiando tan rápido, la única estrategia que está garantizada a fracasar

es no tomar riesgos.”

(Marc Zuckerberg, 2011)

Para mantener la competitividad en el mercado e incluso para poder sobrevivir,

las empresas necesitan una adecuada planificación a todos los niveles y que comienza

con la planificación estratégica (Reifer, 1997). Ello implica la necesidad de una

adecuada coordinación de los proyectos que se desarrollan para satisfacer los objetivos

estratégicos, y que afectan a todos los niveles, desde el nivel estratégico, en el que se

realizan propuestas a largo plazo, hasta el nivel operativo, en el que se incluyen

propuestas a corto plazo, pasando por el nivel táctico, donde se proponen planes de

trabajo a medio plazo.

Con el fin de dar un adecuado soporte a la estrategia empresarial las empresas

deben realizar sus proyectos de una forma organizada y coherente. Para satisfacer este

requisito indispensable, es muy importante realizar una adecuada gestión de los

proyectos en su conjunto (PMI, 2014), lo que recibe el nombre de Gestión de la Cartera

de Proyectos (Project Portfolio Management) y que consiste en la selección y soporte

de proyectos o programas y está guiada por el plan estratégico y los recursos

disponibles (PMI, 2017). Una cartera es un “grupo de proyectos relacionados para

cumplir una estrategia y un programa es un grupo de proyectos gestionados de forma

coordinada para obtener unos beneficios que no serían posibles si se gestionan

individualmente” (PMI, 2017). Los conceptos de cartera y programa son dos conceptos

diferenciados, ya que aunque tanto una cartera como un programa incluyen un grupo de

proyectos, en el último caso se requiere de una coordinación y relación entre los

Page 26: TRABAJO FIN DE GRADO - RUIdeRA Principal

2

proyectos que les permita obtener un beneficio global mayor que la suma de los

beneficios individuales (PMI, 2013).

Teniendo en cuenta lo anterior y para facilitar el cumplimiento de la estrategia

empresarial mediante la organización de los proyectos en carteras es fundamental

implementar de manera efectiva un entorno de gobierno de carteras, programas y

proyectos (PMI, 2017), con los que se establecen los mecanismos para guiar y facilitar

la toma de decisiones en todo lo que afecta a los proyectos.

En el presente Trabajo Fin de Grado, desde ahora en adelante TFG, se propone

abordar como actividad fundamental de la gestión de carteras de proyectos, el

seguimiento de las mismas, de modo que se facilite a la organización el cumplimiento

de los objetivos estratégicos y por ende al plan estratégico de la misma (Figura 1).

Mediante un soporte adecuado al seguimiento de las carteras se pretende facilitar a las

organizaciones mantener alineados los resultados de los proyectos con el cumplimiento

de los objetivos estratégicos ante las posibles desviaciones que puedan surgir, de modo

que se facilite la toma de decisiones para cumplir el plan estratégico empresarial.

Figura 1: Relación entre plan estratégico y carteras de proyectos.

En particular en este TFG se abordan carteras de proyectos software. Aunque

existen diversas herramientas similares en el mercado (Lee Merkhofer Consulting,

2017), no se han encontrado herramientas específicas que aborden la problemática

especial de carteras de proyectos software, donde se requiere especial coordinación

entre los recursos y cada vez más se realizan de forma más globalizada (Vizcaíno et al.,

2014).

Con todo ello, el principal objetivo del presente TFG es desarrollar e

implementar la herramienta software Software Portfolios Tracking Tool (SPT2, a partir

de ahora), la cual será de gran utilidad en la gestión de carteras de proyectos software.

La herramienta permitirá la captura y representación adecuada de los indicadores

esenciales de seguimiento de proyectos, como puede ser el de Valor Ganado (PMI,

Page 27: TRABAJO FIN DE GRADO - RUIdeRA Principal

3

2017) tanto para proyectos siguiendo metodología tradicional como para proyectos

siguiendo metodología ágil (Project Management Institute, 2017). Del mismo modo se

facilitará una representación adecuada de la información aplicando mecanismos de

visualización que faciliten la toma de decisiones y permitan determinar de forma

sencilla el alineamiento de la cartera con la estrategia.

Adicionalmente, dada la diversidad de perfiles necesarios para usar la

herramienta, se proporcionará un soporte completo para la gestión de usuarios, de tal

forma que se necesita una autenticación para el acceso al mismo, y la subdivisión de

responsabilidades mediante la división en roles. En particular, se considerarán: el rol

administrador, el cual tendrá tareas propias de administración del sistema; el rol alta

dirección, pudiendo éste visualizar todas las carteras de proyectos de su empresa; el rol

gestor de cartera de proyectos, el cual dirigirá una o varias carteras de proyectos; y el

rol gestor de proyecto, quien será el responsable de uno o más proyectos de la

organización a la que pertenezca.

En la figura 2 se muestra el esquema general del funcionamiento de la herramienta

SPT2 a desarrollar en el presente TFG, es el siguiente:

Figura 2: Esquema general de la herramienta SPT2.

1.2. Estructura del documento.

El presente TFG está compuesto de 6 capítulos, los cuales son los siguientes:

Capítulo 1. Introducción: en este capítulo se ha expuesto el tema a tratar en el

presente TFG, así como la estructura del documento.

Capítulo 2. Objetivos: en el segundo capítulo se presentan los objetivos que

quieren alcanzarse con la realización de este TFG, así como una breve

explicación de cada uno de ellos.

Page 28: TRABAJO FIN DE GRADO - RUIdeRA Principal

4

Capítulo 3. Estado de la cuestión: en este capítulo se abordan los principales

conocimientos relacionados con la temática del presente TFG, tratando los

fundamentos de la gestión de carteras de proyectos software, la importancia del

gestor de cartera para realizar una correcta gestión de carteras de proyectos

software y una revisión de las herramientas representativas existentes para la

gestión de carteras de proyectos.

Capítulo 4. Método de trabajo: en el cuarto capítulo se expone el método de

trabajo utilizado en el desarrollo de la herramienta SPT2 resultante de este TFG,

así como todas las tecnologías y herramientas empleadas en la misma.

Capítulo 5. Resultados del desarrollo de la herramienta SPT2: en este

capítulo se presentan los principales resultados generados de la aplicación del

método de trabajo indicado en el capítulo 4 para el desarrollo de la herramienta.

Capítulo 6. Conclusiones y propuestas: en el sexto capítulo se exponen las

principales conclusiones extraídas tras haber finalizado el desarrollo de la

herramienta del presente TFG, así como una serie de propuestas de posibles

mejoras de la misma para un trabajo futuro y tras ello, la opinión personal del

autor tras haber logrado el desarrollo de la herramienta SPT2.

En la parte final del documento se presentan los Apéndices, los cuales sirven

para aclarar la información proporcionada con el fin de dar una mejor comprensión de

algunos apartados tratados en capítulos anteriores. Éstos son los siguientes:

Anexo A. Manual de usuario: se proporciona una guía para facilitar el uso de

la herramienta, así como ejemplos de uso de la aplicación desarrollada.

Anexo B. Acrónimos: para finalizar, en este anexo se presentan los acrónimos

utilizados en la elaboración del presente documento.

Page 29: TRABAJO FIN DE GRADO - RUIdeRA Principal

5

CAPÍTULO 2

OBJETIVOS DEL TFG

A lo largo de este capítulo se describe detalladamente el objetivo principal que

quiere lograrse con el presente TFG, así como los objetivos parciales derivados de éste.

Así mismo, se exponen los distintos objetivos docentes que se pretenden alcanzar con la

realización del mismo.

2.1. Objetivo principal.

La motivación del presente TFG viene dada por la gran importancia que tiene

actualmente para cualquier organización la gestión de carteras de proyectos. Si ésta no

se realiza de una manera óptima, la consecución de la planificación estratégica

empresarial está en peligro.

Es por ello que el objetivo principal es el desarrollo de la herramienta SPT2, la

cual será de gran ayuda en una parte muy importante de la gestión de carteras de

proyectos como es el seguimiento de las mismas, así como de los proyectos contenidos

en éstas. En el contexto de gestión de carteras de proyectos, esta herramienta estará

enfocada a proyectos software, ya que nos proporcionará información específica de la

gestión de proyectos software como es la relativa a la Gestión del Valor Ganado.

Por todo lo anteriormente comentado, el software a desarrollar consistirá en una

herramienta con Interfaz Web para facilitar el acceso y la interoperabilidad entre

distintos usuarios, de tal forma que permita realizar un óptimo seguimiento de las

carteras de proyectos así como de los proyectos contenidos en éstas. De forma

adicional, la herramienta contará con un completo sistema de gestión de usuarios

basados en roles.

Para lograr realizar con éxito este objetivo principal, éste se ha desglosado en

una serie de objetivos parciales, los cuales son descritos a continuación.

Page 30: TRABAJO FIN DE GRADO - RUIdeRA Principal

6

2.2. Objetivos parciales.

Si queremos alcanzar el objetivo principal, es necesario llevar a cabo la

consecución de los siguientes objetivos parciales:

Obj1 – Capturar información de proyectos exportados de MS-Project. El

usuario con el rol gestor de cartera de proyectos podrá incluir nuevos proyectos

en la cartera de la cual sea responsable y se encuentre en progreso. Para ello,

deberá seleccionar un archivo exportado de MS-Project. La herramienta SPT2

será capaz de cargar automáticamente toda la información relevante para el

seguimiento de la cartera a partir de estos archivos.

Obj2 – Representar indicadores relevantes de las carteras de proyectos. La

herramienta mostrará toda la información relacionada con las carteras y los

proyectos contenidos en éstas mediante una representación adecuada de la

misma usando mecanismos de visualización. Estos indicadores serán el estado

general tanto de las carteras como de los proyectos (en progreso, cancelada/o o

terminada/o), estados individuales tanto de las carteras como de los proyectos

(estado financiero, estado de calendario, estado de alineamiento y estado de

riesgos), presupuesto, fecha de creación y fecha prevista de finalización, entre

otros. Todos estos indicadores se mostrarán con el fin de dar el soporte necesario

a la alta dirección de la organización y a los gestores de carteras de proyectos en

su objetivo de tener conocimiento en todo momento del estado de éstas.

Obj3 – Completa gestión de usuarios: la aplicación será capaz de diferenciar

el rol de cada usuario autenticado. Estos roles, junto con la funcionalidad más

destacada de cada uno de ellos, son los siguientes:

o Rol administrador: podrá crear nuevos usuarios en el sistema y borrar

los ya existentes del mismo. También podrá crear nuevas carteras de

proyectos, asignándoselas al gestor de cartera deseado; al igual que podrá

crear nuevos proyectos y asignarlos a la cartera de proyectos que éste

quiera y al gestor de proyecto deseado.

o Rol alta dirección: este tipo de usuario podrá dar de alta a nuevos

usuarios de su empresa en cuestión en el sistema, así como borrar a ya

existentes del mismo. También podrá crear nuevas carteras de proyectos

en su compañía y asignársela al gestor de cartera de proyectos que éste

desee.

Page 31: TRABAJO FIN DE GRADO - RUIdeRA Principal

7

o Rol gestor de cartera de proyectos: este usuario podrá crear nuevos

proyectos en las carteras de proyectos que gestione, en el caso de que

ésta se encuentre en el estado en progreso, y asignarlos al gestor de

proyecto deseado.

o Rol gestor de proyecto: este tipo de usuario únicamente podrá visualizar

la información relativa a su proyecto.

Obj4 – Jerarquizar la visibilidad de información mediante niveles. Estos

niveles corresponden con tres de los cuatro roles mencionados anteriormente.

Ordenados de menor a mayor responsabilidad, la jerarquía de niveles será la

siguiente:

o Nivel de gestión de proyectos: la información mostrada en este nivel

corresponde a la visualización del rol gestor de proyecto. Éste tendrá

acceso solamente a los proyectos que gestiona, pudiendo cambiar los

estados individuales de los mismos (financiero, de calendario, de

alineamiento y de riesgos) pero no el estado general (en progreso,

terminado o cancelado).

o Nivel de gestión de carteras de proyectos: en este caso, la información

mostrada corresponde a la visualización del rol gestor de cartera de

proyectos. Éste, además de poder ver toda la información del nivel

inferior, también tendrá acceso a toda la información relativa a las

carteras de proyectos que gestiona. Este usuario podrá cambiar los

estados individuales de sus carteras de proyectos y el estado general de

los proyectos contenidos en éstas, en el caso de que éstos se encuentren

en progreso y se desee actualizar su estado a terminado o cancelado;

pero no podrá actualizar los estados generales de sus carteras de

proyectos.

o Nivel de alta dirección: éste es el nivel más alto de la jerarquía. Se

corresponde con el usuario con el rol alta dirección. Éste podrá ver todas

las carteras de proyectos que tiene su empresa, independientemente de

quien las gestione, al igual que todos los proyectos contenidos en éstas.

Podrá cambiar tanto el estado general de las carteras como el de los

proyectos, siempre que éstas o éstos se encuentren en progreso y el

usuario alta dirección desee actualizar su estado a terminado o

cancelado.

Obj5 – Descarga de informes de proyectos. La aplicación será capaz de dar la

posibilidad al usuario de descargar un archivo en formato .pdf con toda la

información del proyecto que esté visualizando.

Page 32: TRABAJO FIN DE GRADO - RUIdeRA Principal

8

Obj6 – Correcto seguimiento de la Gestión del Valor Ganado. La

herramienta mostrará todos los datos importantes referentes a la Gestión del

Valor Ganado. El usuario con el rol gestor de proyecto podrá registrar en cada

proyecto (si éstos se encuentran en el estado en progreso) nuevas fechas de

estado, mostrándose de forma automática una gráfica con el registro de todas las

fechas de estado almacenadas en el sistema del proyecto en cuestión, junto con

la información a cada fecha, lo que será muy útil para valorar si el proyecto

sigue el camino correcto.

Obj7 – Facilitar la comunicación y colaboración de los distintos roles. La

aplicación será capaz de enviar de manera automática correos electrónicos a los

usuarios para informar de hechos que ocurran en el sistema y deban saber sobre

ellos. El envío de estos correos se dará en los siguientes casos:

o Creación de nuevo usuario en el sistema: la aplicación enviará un correo

electrónico tanto al usuario con el rol administrador/alta dirección que

ha dado de alta un nuevo usuario, como al nuevo usuario en cuestión con

el fin de informar sobre el nuevo registro en el sistema.

o Eliminación de un usuario del sistema: la herramienta enviará un correo

electrónico al usuario con el rol administrador/alta dirección que ha

eliminado a un usuario de la base de datos, con el objetivo de informar

sobre ello.

o Cambio de contraseña: un correo electrónico será enviado al usuario que

ha cambiado su password informando de este hecho.

o Creación de una nueva cartera de proyectos: un correo electrónico será

enviado a todos los usuarios de la organización con el rol alta dirección

y al gestor de cartera de proyectos que le ha sido asignada la cartera.

o Creación de un nuevo proyecto: cuando esto ocurra, se enviará un correo

electrónico a todos los usuarios de la organización con el rol alta

dirección, al gestor de cartera de proyectos al que pertenece el proyecto y

al gestor de proyecto que le ha sido asignado el proyecto en cuestión.

o Cambio de estado global de una cartera de proyectos: cuando una cartera

de proyectos cambie del estado en progreso a terminada o cancelada, un

correo electrónico será enviado a todos los usuarios de la organización

con el rol alta dirección y al gestor de cartera.

o Cambio de estado global de un proyecto: cuando un proyecto cambie del

estado en progreso a terminado o cancelado, un correo electrónico será

Page 33: TRABAJO FIN DE GRADO - RUIdeRA Principal

9

enviado a todos los usuarios de la organización con el rol alta dirección,

al gestor de la cartera de proyectos al que pertenece el proyecto y al

gestor de proyecto.

Además de los objetivos anteriormente mencionados, la herramienta SPT2 debe

satisfacer una serie de requisitos no funcionales. Éstos son los siguientes:

Usabilidad: la herramienta desarrollada deberá facilitar el uso a los posibles

usuarios en base al rol que desempeñen.

Disponibilidad: deberá encontrarse a disposición del usuario siempre que éste

desee acceder en el momento que quiera.

Accesibilidad: la aplicación será accesible desde cualquier punto geográfico tras

realizar una autenticación del usuario en la misma.

Portabilidad: la herramienta será independiente de la plataforma en la cual sea

ejecutada, por lo que se considerará el desarrollo de la herramienta como una

aplicación web, ya que ello permitirá su uso en cualquier equipo con conexión a

Internet y provisto de un navegador.

2.3. Objetivos docentes.

Para finalizar este capítulo a continuación van a presentarse una serie de

objetivos docentes que se persiguen satisfacer a lo largo del desarrollo del presente

TFG:

ObjD1. Conocer los fundamentos de la gestión de carteras de proyectos, así

como la importancia que tiene para una organización la correcta gestión de estas

carteras y su repercusión en la consecución de la planificación estratégica.

ObjD2. Alcanzar un grado de conocimiento esencial sobre la gestión de

proyectos y las herramientas que dan soporte a ello.

ObjD3. Adquirir aptitudes para el desarrollo web y tecnologías que faciliten el

mismo como son Bootstrap, HTML5, CSS3, Jquery, AJAX, etc; y lenguajes de

marcas como lo es JSTL.

Page 34: TRABAJO FIN DE GRADO - RUIdeRA Principal

10

ObjD4. Aplicar conocimientos de Sistemas Gestores de Base de Datos para

tratar la información necesaria de la forma más adecuada de acuerdo a los

objetivos planteados.

ObjD5. Implementar y mantener herramientas, de acuerdo a las actividades de

análisis y diseño realizadas con anterioridad.

ObjD6. Aprender a usar librerías que faciliten la visualización de datos en

desarrollo web, como por ejemplo Amcharts.

ObjD7. Aprender a usar librerías que permitan realizar importaciones de

proyectos exportados de MS-Project, como por ejemplo mediante la librería

MPXJ.

Page 35: TRABAJO FIN DE GRADO - RUIdeRA Principal

11

CAPÍTULO 3

ESTADO DE LA CUESTIÓN

El objetivo de este capítulo es presentar la información relevante que servirá

como base para el desarrollo del TFG, centrándonos principalmente en los tres

siguientes temas:

Fundamentos de la gestión de carteras de proyectos software.

Herramientas para la gestión de carteras de proyectos.

Resumen y conclusiones.

3.1. Fundamentos de la gestión de carteras de proyectos

software.

El primer concepto fundamental a abordar en el contexto de la gestión de

carteras de proyectos es el de proyecto. Un proyecto se define como un “esfuerzo

temporal emprendido para crear un producto o servicio único” (PMI, 2017).

Los proyectos se caracterizan porque:

Son temporales: esto significa que tienen un comienzo y un final definidos.

Están dirigidos a crear un producto, servicio o resultado único: la singularidad

es una característica importante de los productos entregables de un proyecto. El

producto, servicio o resultado único no ha sido realizado antes.

Los proyectos son elaborados gradualmente: la elaboración gradual de las

especificaciones de un proyecto debe ser coordinada cuidadosamente con la

definición adecuada del alcance del proyecto.

Independientemente del tipo de proyecto con el que tratemos, existen 5 etapas

comunes a todos los proyectos, las cuales estructuran el ciclo de vida del mismo (PMI,

2017):

1. Fase de inicio de proyecto: su objetivo es determinar la viabilidad del proyecto,

definir su alcance y seleccionar al equipo que participará en su ejecución.

Page 36: TRABAJO FIN DE GRADO - RUIdeRA Principal

12

2. Fase de planificación: busca calcular las necesidades en base a los requisitos,

definir y terminar de perfilar los objetivos del proyecto y planear el curso de

acción para lograr las metas planteadas.

3. Fase de ejecución: en ella se lleva a cabo todo el trabajo, completando las

actividades programadas, siendo fundamental una buena gestión, fomentar la

comunicación y llamar a la responsabilidad individual para cumplir con los

plazos y deadlines establecidos.

4. Seguimiento y control: persigue la detección prematura de desviaciones con el

objeto de garantizar el mejor ajuste, reaccionando a tiempo. Trata de minimizar

el riesgo y mitigarlo. Ésta es la fase más crítica de todo proyecto, ya que de ella

dependerá el alcanzar o no el éxito.

5. Fase de cierre de proyecto: se orienta a la valoración del proyecto, la

transmisión de conocimiento y el cumplimiento de las obligaciones

contractuales adquiridas.

Los proyectos pueden agruparse en carteras o en programas. A continuación vamos

a analizar la diferencia que hay entre ambos términos.

3.1.1. Carteras de proyectos.

Una cartera es un “grupo de proyectos relacionados para cumplir la

estrategia”. Este concepto muchas veces se confunde con el de programa de proyectos,

siendo éste un “grupo de proyectos gestionados de forma coordinada para obtener unos

beneficios que no serían posibles si se gestionan individualmente”. Como podemos

observar estos dos conceptos son muy diferentes. A continuación, en la Figura 3

podemos observar la relación que existe entre carteras, programas y proyectos:

Page 37: TRABAJO FIN DE GRADO - RUIdeRA Principal

13

Cartera de Nivel

Más Alto

Cartera de Menor Nivel

Programa de Nivel

Más Alto

Programa de menor

nivel

Proyectos

Proyectos

Proyectos

Estrategias y Prioridades

Elaboración Gradual

Gobernabilidad

Decisión sobre Cambios solicitados

Impacto de Cambios en otras

carteras, programas, proyectos

Informe de Desempeño

Solicitudes de Cambio con Impacto

en otras carteras, programas o proyectos

Figura 3: Relaciones entre carteras, programas y proyectos (PMI, 2013).

Para que una cartera de proyectos logre alcanzar el objetivo propuesto por la

organización, entran en juego muchos factores. Uno de ellos, y quizás uno de los más

importantes, es, como se presenta a continuación, la realización de una correcta gestión

de los proyectos que contienen la misma.

3.1.2. Gestión de proyectos.

La gestión de proyectos es la aplicación de conocimientos, habilidades,

herramientas y técnicas a las actividades de un proyecto para satisfacer los requisitos del

mismo. Gestionar un proyecto implica generalmente (PMI, 2017):

Identificar requisitos.

Abordar las necesidades e inquietudes de los interesados (stakeholders) a

medida que se planifica y lleva a cabo el proyecto.

Equilibrar las demandas concurrentes en cuanto a: alcance, tiempo, costes,

calidad, recursos, riesgos, etc. Si alguna de estas demandas cambia puede afectar

a las otras por lo que se debe poner en una balanza los aspectos clave a cumplir

en el proyecto y buscar un equilibrio.

Page 38: TRABAJO FIN DE GRADO - RUIdeRA Principal

14

En la gestión de los proyectos uno de los elementos clave a tratar son los interesados

o stakeholders, que se definen como “personas u organizaciones que participan

activamente en el proyecto o cuyos intereses pueden verse afectados positiva o

negativamente por la ejecución o terminación del proyecto”. Es fundamental dicha

gestión para maximizar las influencias positivas y minimizar las negativas.

Para realizar una correcta gestión de proyectos con el fin de apoyar los niveles

de decisión de la organización, es imprescindible que esta gestión se encuentre dentro

de un entorno de gestión de carteras (PMI, 2014). A continuación vamos a analizar la

importancia que ésta tiene en la consecución de la planificación estratégica empresarial.

3.1.3. Gestión de carteras de proyectos software.

Las empresas requieren de una adecuada planificación a todos los niveles y que

comienza con la planificación estratégica para sobrevivir y mantener su competitividad

en el mercado. Estos niveles de planificación son (Reifer, 1997):

Nivel estratégico: en el que se realizan propuestas a largo plazo (3-8 años), por

parte de la alta dirección y su equipo de apoyo. Los planes a este nivel se centran

en lo que debe hacerse para satisfacer las metas de la organización.

Nivel táctico: se trata de propuestas a medio plazo (1-3 años), realizadas por

mandos intermedios. Los planes a este nivel están dirigidos a desarrollar las

capacidades necesarias para implementar las estrategias de negocio definidas en

el nivel anterior.

Nivel operativo: incluye propuestas a corto plazo realizadas por supervisores y

responsables de áreas. Los planes a este nivel están dirigidos a establecer metas

y estructuras productivas para los equipos.

Los proyectos permiten apoyar todos los niveles de decisión de la organización para

en última instancia cumplir con la estrategia establecida.

Para la organización de los proyectos de modo que se dé un soporte adecuado a la

estrategia empresarial, es importante realizar una adecuada gestión, lo que recibe el

nombre de Gestión de la Cartera de Proyectos. En nuestro caso, ya que son los

proyectos que nos conciernen y de los que estamos interesados en gestionar, hablaremos

de Gestión de Carteras de Proyectos Software.

Con el fin de dar el soporte necesario a la estrategia empresarial mediante la

organización de los proyectos en carteras es fundamental implementar de forma efectiva

un entorno de gestión de carteras. La gestión de carteras debe dar soporte al gobierno de

carteras mediante una gestión efectiva de las mismas. En lo que respecta a la cartera, los

Page 39: TRABAJO FIN DE GRADO - RUIdeRA Principal

15

mecanismos de gestión se centran en la evaluación, selección, priorización y asignación

de recursos (PMI, 2016).

Como podemos observar en la Tabla 1, existen tres niveles de Gestión de

Proyectos, los cuales son: nivel de gestión del proyecto organizacional, nivel de

programa y nivel de proyecto.

Niveles Cómo organizar y hacer el trabajo

Nivel de gestión del

proyecto

organizacional

OPM (Organizational Project Management) es un marco de

ejecución de estrategia que utiliza gestión de carteras, programas y proyectos, así como prácticas de habilitación organizacional

para entregar de manera sistemática y predecible estrategias

organizacionales para producir un mejor rendimiento, mejores resultados y una ventaja competitiva sostenible.

Nivel de programa

La gestión de programas es la aplicación de conocimientos,

habilidades, herramientas y técnicas a un programa para cumplir

los requisitos del programa y para obtener beneficios y control no disponibles mediante la gestión de proyectos de forma

individual.

Nivel de proyecto La gestión de proyectos es la aplicación de conocimientos, habilidades, herramientas y técnicas a las actividades del

proyecto para satisfacer los requisitos del mismo.

Tabla 1: Niveles de Gestión de Proyectos (PMI, 2016).

Pero, en realidad, ¿existe una verdadera concienciación de lo importante que es

realizar una correcta gestión de carteras de proyectos y lo que supondría para una

empresa que esto no fuera así?

Con el fin de profundizar en este tema en primer lugar hay que considerar que la

gestión de carteras de proyectos es un concepto que cada vez más empresas tienen

asimilado y ponen en práctica; tanto es así, que se ha convertido en una disciplina que

ha ido cobrando cada vez más importancia en los últimos años, y ahora muchas

organizaciones en muchas industrias están realizando algún tipo de gestión de

cartera (PMI, 2013).

El problema es que la idea de gestión de carteras no siempre es la apropiada. Como

sabemos, considerar algo apropiado o no muchas veces es algo subjetivo, dependiendo

de la propia perspectiva de gestión de carteras que tenga cada organización. Pero sí es

cierto que existen algunos conceptos básicos y generales a todos que las industrias que

pongan en práctica la gestión de carteras deben cumplir. Uno de ellos es dar la

importancia que se merece al rol de gestor o administrador de cartera (Jordan, 2017),

ya que éste es una pieza clave en el devenir de la gestión de la misma, puesto que sus

aportaciones pueden suponer el éxito o el fracaso de la cartera.

Page 40: TRABAJO FIN DE GRADO - RUIdeRA Principal

16

En particular, el proceso de gestión de carteras requiere como primer paso la

definición de los objetivos estratégicos, que es una responsabilidad del liderazgo de la

organización pero que, sin embargo, necesita aportes del gestor de cartera. No

obstante, ¿dónde está el equilibrio correcto entre estos dos roles para el establecimiento

de metas? Un gestor de cartera no puede asegurar la consecución del objetivo

estratégico con la puesta en marcha de su cartera en concreto, pero sí que puede

proporcionar información verdaderamente importante para ayudar a ello.

Los aportes que un buen gestor de cartera debe hacer a una organización pueden

dividirse en tres categorías (Jordan, 2017):

Capacidad organizativa: podríamos pensar que con esto nos referimos

solamente a que haya suficientes personas asignadas para completar proyectos,

pero también se incluye en este apartado la consideración de la posibilidad de

consumir cambios en las áreas de entrega de la empresa. Esto requiere no sólo la

colaboración entre el administrador de cartera y los equipos de gestión de

proyectos, sino también con los equipos de productos, las TI, las funciones de

servicios profesionales y los recursos humanos. Sólo cuando todas estas áreas

trabajen de manera conjunta y en la misma dirección, se puede establecer una

cantidad realista de objetivos y subobjetivos apropiados.

Habilidad organizativa: capacidad de la organización para entregar las metas y

objetivos específicos que están priorizándose. Saber que tienes suficiente gente

para conseguir un determinado objetivo es un aspecto importante, pero saber que

tienes suficiente gente con las habilidades necesarias para ello, es mejor aún.

Esto puede impulsar las iniciativas de desarrollo o conducir a ajustes en las

metas que persigue la organización.

Distribución óptima: la forma correcta de asignar inversiones a toda la

organización para generar los mayores beneficios. Si bien las metas y los

objetivos se centrarán necesariamente en un subconjunto de la organización,

debe considerarse cómo alinear las inversiones con la capacidad de realizarlas.

Esto considerará la exposición al riesgo organizacional creada al centrarse sólo

en una o dos áreas, así como las implicaciones de los altos niveles de cambio en

áreas que ya han sido objeto de cambios.

Todo lo anteriormente comentado no es algo que los gestores de cartera puedan

hacer de forma aislada: necesitan trabajar con jefes de departamento, recursos humanos,

jefes de proyectos, etc, pero justo ése es el objetivo. La única manera de obtener una

cartera efectiva que tenga la mejor oportunidad posible de cumplir los objetivos

comerciales de los conjuntos de la organización es garantizar que todas las áreas de

negocio trabajen juntas. -Solamente de esto modo una organización tendrá la

posibilidad de realizar su planificación estratégica de manera exitosa. Una cartera de

proyectos cuyo administrador se aísla y no se relaciona con los diferentes roles de su

organización está condenada al fracaso (Jordan, 2017)-.

Page 41: TRABAJO FIN DE GRADO - RUIdeRA Principal

17

A continuación se presenta un análisis de la etapa de la gestión de carteras

proyectos en la que se centra el presente TFG y una pequeña investigación sobre las

situaciones adversas en la gestión de carteras de proyectos.

3.1.3.1. Importancia del seguimiento de carteras de proyectos.

Como se ha comentado anteriormente, muchos son los factores a la hora de la

consecución del plan estratégico empresarial, siendo en gran parte el éxito de éste tener

una correcta gestión de carteras en la organización. La gestión de carteras está

compuesta de diferentes etapas, las cuales son las siguientes (Medellín Cabrera, 2016):

Definición de áreas estratégicas.

Integración de proyectos en cartera.

Selección de proyectos para cada cartera.

Asignación de recursos.

Seguimiento de las carteras y sus respectivos proyectos.

Como se ha comentado en el capítulo de Introducción, la etapa en la que se centra

este TFG es en el seguimiento de las carteras de proyectos. Un correcto seguimiento

de las carteras de proyectos no va a asegurarnos la consecución del objetivo estratégico

de la cartera, pero sí que nos dará un soporte óptimo para llegar a éste.

El seguimiento de carteras de proyectos y de sus respectivos proyectos permite

saber, entre otras cuestiones (Medellín Cabrera, 2016):

Si las carteras de proyectos están ejecutándose de acuerdo al tiempo y costos

programados.

Si las carteras en progreso soportan las necesidades actuales y futuras de los

clientes.

Si las carteras y sus proyectos están bien balanceadas.

Si son necesarias acciones correctivas.

Llevar a cabo un correcto seguimiento de las carteras de proyectos nos permitirá

tener un conocimiento continuo de los avances logrados, los recursos utilizados, las

diferentes perspectivas y las acciones necesarias a realizar. Todo ello permite, si así lo

requiriese la situación, los ajustes necesarios en tiempos y recursos en la cartera, lo que

implica analizar la composición de la cartera de proyectos y la adaptación a las nuevas

circunstancias empresariales.

Del mismo modo, realizar un correcto seguimiento de las carteras de proyectos

en cualquier organización permitirá mantener informados a todos los involucrados de la

situación por la que pasa tanto la cartera de proyectos en cuestión, como los diferentes

proyectos que la componen.

Page 42: TRABAJO FIN DE GRADO - RUIdeRA Principal

18

Para el caso que nos concierne, ya que la herramienta a desarrollar en el presente

TFG está centrada en carteras de proyectos software, un indicador muy importante para

el seguimiento de los proyectos pertenecientes a las carteras es el de valor ganado. A

continuación se realiza un análisis de la importancia de una correcta Gestión del Valor

Ganado en proyectos software.

3.1.3.1.1. Gestión del Valor Ganado en proyectos software.

Entre la alta dirección en las organizaciones, el Valor Ganado es uno de los

requisitos que más demandan que tengan las herramientas de gestión que éstos utilizan.

Cuando hablamos de ello, nos referimos al Earned Value Management (EVM), una serie

de parámetros que asesoran sobre el funcionamiento del proyecto en base a una

planificación. El Valor Ganado nos informará de las desviaciones de costo y tiempo del

proyecto. Por tanto, gracias a éste podremos tomar decisiones más rápidas y efectivas,

apoyadas en datos concretos sobre la realidad del trabajo ejecutado (PMI, 2017).

La Gestión del Valor Ganado es tan importante porque responde a varias

preguntas clave en la gestión de proyectos: ¿Se terminará el proyecto en plazo? ¿Está

aprovechándose el tiempo? ¿Vamos adelantados o retrasados con respecto a la

planificación prevista? Gracias a las métricas de esta Gestión, se obtienen las

conclusiones exactas del estado del proyecto a tiempo real.

Por todo ello y viendo la importancia de estos indicadores, la herramienta a

desarrollar contará con una correcta Gestión del Valor Ganado tanto para proyectos

siguiendo metodología tradicional como para proyectos siguiendo metodología ágil

(Project Management Institute, 2017), con el fin de ayudar a la alta dirección de las

organizaciones y a los gestores de carteras de proyectos en la consecución del plan

estratégico empresarial.

3.1.3.2. Situaciones adversas en la gestión de carteras de proyectos.

Lo idílico cuando se pone en marcha una cartera de proyectos para conseguir un

cierto objetivo estratégico en una organización es imaginar que esta cartera entregará los

proyectos necesarios en un tiempo y plazo correctos de manera exitosa. Pero esto no

siempre ocurre así. De hecho, es muy normal que en una cartera de proyectos surjan

problemas que pongan en peligro la entrega exitosa de los proyectos.

Si existe la posibilidad de que los beneficios esperados no vayan a llegar o vayan

a llegar de manera tardía, el administrador de la cartera debe llevar a cabo planes de

recuperación, y eso requiere de su participación continua en la cartera. Estos planes de

Page 43: TRABAJO FIN DE GRADO - RUIdeRA Principal

19

recuperación pueden incluir la propuesta de nuevos proyectos, la cancelación de algunos

que estén en curso, el ajuste en el alcance de proyectos ya iniciados, etc (Jordan, 2017).

Éste no es un ejercicio para identificar el “fracaso” dentro del proceso de

obtención de beneficios, se trata de asegurar que la organización no se vea

comprometida en la entrega de los objetivos debido a un problema experimentado en la

entrega de beneficios de un subconjunto de proyectos en la cartera. La claridad de la

función para la gestión de cartera es crítica aquí; si la percepción es que el

administrador de la cartera está identificando fallos en los equipos de entrega de

beneficios, habrá fricciones y conflictos inevitables entre esos representantes y el

administrador de la cartera. Eso probablemente reducirá la efectividad de la

comunicación entre esos dos grupos, lo que a su vez conllevará una reducción de la

capacidad de administrar cualquier déficit en el desempeño de la cartera.

Puede haber muchas razones por las cuales los entregables de un proyecto no

cumplen con los objetivos esperados, especialmente en el mundo actual donde las

industrias evolucionan mucho más rápido que nunca. Si bien es importante comprender

por qué se produce el déficit para que la organización pueda mejorar en el futuro, la

medición del déficit no se trata tanto de responsabilizar a las personas por fallos, sino de

identificar la necesidad de solucionarlos tan pronto como sea posible (Jordan, 2017).

Una vez que se han presentado los conceptos más relevantes relacionados con

las carteras de proyectos y los aspectos a considerar en la gestión de las mismas, a

continuación, se realiza una revisión de un conjunto representativo de herramientas

software existentes para la gestión de carteras.

3.3. Herramientas para la gestión de carteras de

proyectos.

Existen diversas herramientas para la gestión de carteras de proyectos. En este

apartado se presentan algunas de las más representativas y destacadas, teniendo en

cuenta el alcance del presente TFG.

3.3.1. SAP Portfolio and Project Management.

SAP Portfolio and Project Management (SAP Portfolio and Project

Management, 2017) es un completo software para la gestión de proyectos y carteras de

proyectos, el cual brinda herramientas robustas para administrar de manera centralizada

el ciclo de vida completo del proyecto, desde la previsión y planificación hasta el

seguimiento y la contabilidad. Ayuda a la creación y gestión de la combinación de la

Page 44: TRABAJO FIN DE GRADO - RUIdeRA Principal

20

cartera de proyectos y programas que apoyen los objetivos estratégicos de la

organización, optimizando para ello los recursos humanos y financieros tratando de

mejorar la eficiencia. En definitiva, SAP Portfolio and Project Management proporciona

la estructura y los procesos de gobernanza de la cartera de Proyectos y Programas

haciendo especial incidencia en:

Identificar las mejores combinaciones de la cartera de Proyectos y

Programas.

Seleccionar las mejores combinaciones de la cartera de Proyectos y

Programas.

La planificación y ejecución de los proyectos.

Gestionar el lanzamiento de producto.

El análisis financiero de la cartera.

En la Figura 4, se muestra una captura de la herramienta, donde se aprecia la

funcionalidad para el listado de proyectos de una determinada cartera de proyectos.

Figura 4: Entorno de SAP Portfolio and Project Management (SAP Portfolio and

Project Management, 2017).

3.3.2. Unanet Project ERP Software.

Unanet Project ERP Software (Unanet Project ERP Software, 2017) es una

herramienta diseñada específicamente para las organizaciones orientadas a proyectos

para proporcionar la gestión de recursos, presupuestos y pronósticos, la gestión de

proyectos, fichas de tiempo, informes de gastos, contabilidad de proyectos, facturación,

colaboración y finanzas con cálculo de costes en un sistema integrado.

Page 45: TRABAJO FIN DE GRADO - RUIdeRA Principal

21

Unanet soporta capacidades centralizadas de administración de proyectos y

programación de recursos. Ofrece informes excepcionales con una amplia gama de

informes detallados y de resumen disponibles, incluyendo cuadros de mando gráficos,

costes del proyecto, etc.

En la Figura 5, se muestra una captura de pantalla de la herramienta, donde

puede apreciarse los mecanismos de visualización que ésta utiliza, tales como gráficos

para conocer el rendimiento del proyecto, para saber los recursos humanos utilizados en

el proyecto en cuestión y gráficos comparativos de las horas invertidas en unas

determinadas tareas, entre otros.

Figura 5: Entorno de Unanet Project ERP Software (Unanet Project ERP

Software, 2017).

3.3.3. Microsoft Project & Portfolio Management.

Microsoft Project & Portfolio Management (Microsoft Project & Portfolio

Management, 2017) es un software cuyo objetivo es gestionar y alinear con éxito las

carteras de proyectos con las necesidades del negocio. Ayuda a los responsables de la

toma de decisiones a modelar fácilmente distintos escenarios de cartera para determinar

la mejor trayectoria estratégica, ponderando las propuestas de proyectos contra los

impulsores estratégicos del negocio y considerando las limitaciones de costes y recursos

dentro de una organización.

Page 46: TRABAJO FIN DE GRADO - RUIdeRA Principal

22

En la Figura 6, se observa una captura de la herramienta en cuestión, donde

pueden apreciarse los gráficos que se utilizan para la visualización de la información,

así como la estructura organizacional de los datos de los proyectos.

Figura 6: Entorno de Microsoft Project Portfolio Management (Microsoft Project

& Portfolio Management, 2017).

3.3.4. Antura Projects.

Antura Projects (Antura Projects, 2017) es una solución completa para la gestión

de proyectos, carteras y recursos. Entre las características de esta herramienta se

incluyen: priorización rápida de tareas, posibilidad de compartir documentos, gestión

intuitiva de los riesgos así como soporte para el seguimiento de éstos y generación de

informes, entre otras. Antura Projects tiene un gran número de clientes y más de

200.000 usuarios satisfechos en más de 50 países. El objetivo de Antura Projects es que

sea siempre la primera opción para todas las organizaciones que requieren un sistema de

gestión de carteras de proyectos.

En la Figura 7, puede apreciarse una captura de la aplicación, en la que podemos

observar los gráficos utilizados para el análisis de costes de una cartera de proyectos

determinada, así como el chart en cuestión utilizado para la visualización del número de

proyectos contenidos en la cartera clasificados por el tipo de éstos.

Page 47: TRABAJO FIN DE GRADO - RUIdeRA Principal

23

Figura 7: Entorno de Antura Projects (Antura Projects, 2017).

3.3.5. Oracle’s Primavera P6 Enterprise Project Portfolio

Management.

Oracle’s Primavera P6 Enterprise Project Portfolio Management (Oracle’s

Primavera P6 Enterprise Project Portolio Management, 2017) es una aplicación

integrada de gestión de carteras de proyectos. Es un producto fácil de usar para

priorizar, planificar, administrar y evaluar proyectos, programas y carteras. Proporciona

una solución 100% basada en la web para administrar proyectos de cualquier tamaño, se

adapta a distintos niveles de complejidad en todos los proyectos y escala de manera

inteligente para satisfacer las necesidades de todos los roles, funciones o niveles de

habilidades en la organización y en el equipo de proyecto.

En la Figura 8, se presenta una captura de la herramienta en la que puede

observarse un diagrama representativo con la planificación temporal de determinados

elementos de una cartera de proyectos.

Page 48: TRABAJO FIN DE GRADO - RUIdeRA Principal

24

Figura 8: Entorno de Primavera P6 EPPM (Oracle’s Primavera P6

Enterprise Project Portolio Management, 2017).

Primavera P6 EPPM facilita a los gerentes el seguimiento, la captura y el

análisis del tiempo que los miembros del equipo dedican al trabajo basado en proyectos

al proporcionarles interfaces que se completan automáticamente con sus propias

asignaciones en todos los proyectos. También proporciona información adicional al

gerente del proyecto, incluidas actualizaciones de documentos, notificaciones de estado

y otros comentarios pertinentes.

Este producto facilita la colaboración en equipo para mejorar la toma de

decisiones, agilizar la coordinación y mejorar la eficiencia con nuevas capacidades de

automatización de procesos comerciales.

Los usuarios pueden generar informes en varios formatos. Además, Oracle

ofrece el poderoso Primavera Analytics, un complemento que permite a los usuarios

crear informes operativos e inteligencia comercial en proyectos y programas.

En la Figura 9 se muestra otra captura de la aplicación. En este caso, puede

observarse cómo lista la aplicación unas determinadas tareas a realizar en un proyecto,

indicando el porcentaje completado de cada una de éstas.

Page 49: TRABAJO FIN DE GRADO - RUIdeRA Principal

25

Figura 9: Primavera P6 EPPM permite actualizar las tareas para reflejar el

trabajo realizado (Oracle’s Primavera P6 Enterprise Project Portolio

Management, 2017).

3.3.6. Micro Focus Project and Portfolio Management.

Micro Focus Project and Portfolio Management (Micro Focus Project and

Portfolio Management, 2017) es un software que proporciona visibilidad de la cartera

en tiempo real, así como equilibra el suministro de recursos, brindando total control

sobre la demanda de los mismos. Con este software el usuario puede gestionar de

manera integrada los proyectos y tener el control para reducir la cantidad de

cronogramas y excesos de presupuesto de estos proyectos, reduciendo así los riesgos y

costes asociados con los proyectos fallidos.

En la Figura 10, puede observarse una captura de pantalla de la aplicación, en la

cual se observa diferente información sobre un proyecto: el porcentaje completado del

mismo, el coste actual, la duración prevista, el estado, la lista de tareas y la cartera a la

que pertenece, entre otros datos.

Page 50: TRABAJO FIN DE GRADO - RUIdeRA Principal

26

Figura 10: Entorno de Micro Focus Project and Portfolio Management (Micro

Focus Project and Portfolio Management, 2017).

3.3.7. UNICOM Focal Point.

UNICOM adquirió en 2014 el producto “IBM Rational Focal Point”, el cual se

trataba de un software para la gestión de proyectos y carteras desarrollado por IBM.

UNICOM Focal Point (UNICOM Focal Point, 2017) es una solución flexible basada en

la web que permite al usuario realizar una gestión de productos y carteras impulsada por

las necesidades del mercado y sus objetivos comerciales. Focal Point se adapta

rápidamente a la forma en que trabaja el usuario con sus métodos, procesos y flujos de

trabajo. Alguna de las funcionalidades de Focal Point con respecto a la gestión de

carteras de proyectos son las siguientes:

Supervisión de presupuestos reales frente a los que se espera en términos de

costos y beneficios.

Visualización de información importante como riesgos, problemas y elementos

de acción vinculados a carteras y proyectos.

Posibilidad de promover proyectos que ayuden al usuario a alcanzar sus

objetivos lo antes posible.

Comprensión de la fase del ciclo de vida en la que se encuentra el proyecto.

Posibilidad de priorizar carteras/proyectos.

Facilidad para planificar entregas en función de las limitaciones de las personas,

el dinero y el tiempo.

Construcción de gráficos de hoja de ruta para el cambio y posibilidad de

modificación según las restricciones.

En la Figura 11, se muestra una captura de la herramienta analizada en la que se

muestra la interfaz y el entorno que ésta utiliza. Podemos observar en la misma una lista

con una serie de proyectos, para los cuales la herramienta muestra su estado, los costes

Page 51: TRABAJO FIN DE GRADO - RUIdeRA Principal

27

planificados, el nombre del proyecto y los costes planificados de su mantenimiento,

entre otros datos.

Figura 11: Entorno de UNICOM Focal Point (UNICOM Focal Point, 2017).

3.4. Resumen, conclusiones y contribuciones esperadas

del TFG.

A lo largo de este capítulo se ha explicado el concepto de Gestión de Carteras

de Proyectos Software. Se ha podido apreciar la importancia de una correcta gestión en

las organizaciones empresariales, siendo actualmente verdaderamente importante para

el devenir de cualquier empresa.

De hecho, establecer una disciplina de gestión de cartera efectiva es uno de los

pasos más significativos e importantes que una organización puede realizar para mejorar

la ejecución de la estrategia empresarial. Puesto que una óptima gestión de cartera

involucra a muchas áreas del negocio, la proactividad del gestor de cartera es

verdaderamente relevante puesto que tendrá que relacionarse no sólo con la alta

dirección empresarial y con los gestores de los proyectos de su cartera, sino también con

muchos otros departamentos de la organización.

Tras analizar a fondo el mercado de las herramientas de gestión de carteras de

proyectos, llegamos a la conclusión que existen muchas y muy variadas que nos

permiten realizar una óptima gestión de éstas, ayudando en la medida de lo posible a

conseguir el objetivo estratégico fijado por la empresa. Pero todas estas herramientas

están enfocadas a proyectos en general, abarcando por tanto los mayores mercados

Page 52: TRABAJO FIN DE GRADO - RUIdeRA Principal

28

posibles: mercados de desarrollo de software, de automoción, de aeronáutica, navales…

No obstante, no se han encontrado herramientas software enfocadas al ámbito de las

carteras de proyectos software.

Es por ello que la herramienta que ha sido desarrollada durante este TFG tiene

esa valía que la diferencia de todas las anteriormente analizadas: está enfocada única y

exclusivamente a carteras de proyectos software. Con esta herramienta las

organizaciones podrán realizar un seguimiento óptimo de sus carteras de proyectos

software y de los proyectos contenidos en éstas, con indicadores clave para este tipo de

proyectos como puede ser la Gestión del Valor Ganado Tradicional o la Gestión del

Valor Ganado Ágil, dependiendo de la metodología utilizada durante el desarrollo del

proyecto en cuestión.

Page 53: TRABAJO FIN DE GRADO - RUIdeRA Principal

29

CAPÍTULO 4

MÉTODO DE TRABAJO

En este capítulo se expone el método de trabajo que se ha seguido a lo largo del

desarrollo del presente TFG, abarcando las fases de análisis, diseño, implementación y

documentación.

En primer lugar se analiza la metodología utilizada para el desarrollo de la

herramienta, la cual ha sido OpenUP, puesto que es una metodología adecuada para

equipos de trabajo pequeños o incluso individuales y está basada en un modelo iterativo

e incremental.

Para finalizar, se detalla el marco tecnológico, herramientas y lenguajes, que se

han empleado durante el presente TFG, así como las herramientas utilizadas para

realizar la documentación necesaria.

4.1. OpenUP

OpenUP (Eclipse EPF, 2012) es una metodología que se usa principalmente para

el desarrollo de software. Fue propuesta por un conjunto de empresas tecnológicas y

posteriormente donada a Eclipse Software Fundation, quien lo publicó bajo una licencia

libre.

Esta metodología está basada en un desarrollo iterativo e incremental, lo cual se

ajusta a la naturaleza del desarrollo del presente TFG. Esto nos permite realizar

pequeños micro-incrementos dentro de cada una de las iteraciones aportando un valor al

proyecto de manera que se obtenga una versión totalmente probada y funcional tras

cada iteración. Todo esto queda reflejado a modo de resumen en la Figura 12:

Page 54: TRABAJO FIN DE GRADO - RUIdeRA Principal

30

Figura 12: Visión general de OpenUP (Eclipse EPF, 2012).

OpenUP está diseñada para pequeños grupos de trabajo, tomando una aproximación

del desarrollo ágil. OpenUP se basa en cuatro principios fundamentales (Eclipse EPF,

2012):

Principio del diseño basado en la arquitectura. Este principio promueve

centrarse en la arquitectura de forma temprana para minimizar el riesgo y

organizar el desarrollo.

Principio del desarrollo evolutivo. Es muy importante para ir obteniendo

retroalimentaciones y de esta forma conseguir una mejora continua. Permite

reducir los errores en etapas tempranas.

Principio de colaboración. Este principio promueve prácticas que impulsan un

ambiente de equipo saludable, facilitan la colaboración y desarrollan un

conocimiento compartido del proyecto, proporcionando feedback que es usado

en iteraciones posteriores.

Principio del máximo beneficio. Equilibrar las propiedades para maximizar el

beneficio obtenido por los agentes o stakeholders.

Page 55: TRABAJO FIN DE GRADO - RUIdeRA Principal

31

4.1.1. Ciclo de vida.

OpenUP se repite a lo largo de una serie de ciclos que constituyen el

denominado Ciclo de Vida de un sistema. Cada uno de ellos concluye con una versión

del producto lista para ser enseñada a los clientes, junto a una documentación acorde a

la versión.

Uno de los objetivos del ciclo de vida del proyecto es centrarse en dos

impulsores clave de las partes interesadas: reducción de riesgos y creación de valor.

Como se muestra en la Figura 13, las cuatro fases del ciclo de vida de OpenUP (Inicio,

Elaboración, Construcción y Transición) enfocan al equipo en la reducción del riesgo

mientras se sigue la creación de valor.

Figura 13: Etapas del ciclo de vida de OpenUP (Eclipse EPF, 2012).

Las características esenciales de cada fase del ciclo de vida sería la siguiente

(Eclipse EPF, 2012):

Fase de Inicio. En esta primera fase del proyecto los stakeholders y el equipo de

desarrollo colaboran para determinar los objetivos que se persiguen.

Fase de Elaboración. En esta segunda fase se analiza el problema y se define la

arquitectura del sistema. Se elabora un plan de proyecto, el cual incluye los

requisitos detallados. También se especifican las herramientas y tecnologías que

se usarán durante el desarrollo.

Fase de Construcción. En esta fase se diseña, implementa y prueba el software.

Fase de Transición. En esta última fase el proceso se enfoca en la transición del

producto de software a la plataforma tecnológica del cliente, confirmando los

interesados que el desarrollo del producto cumple o no con los requisitos

planteados. El propósito de esta fase es asegurar que el producto de software está

listo para ser distribuido a los usuarios.

Page 56: TRABAJO FIN DE GRADO - RUIdeRA Principal

32

4.1.2. Roles.

A la hora de elaborar cualquier software es importante que las personas que

intervienen cuenten con unas habilidades y destrezas distintas entre ellos, provocando

esto que unos individuos tengan más aptitudes que otros para cumplir las tareas

encomendadas de forma satisfactoria. En la Figura 14 se ilustran los roles que se

consideran en OpenUP. Cabe destacar que, debido a la naturaleza del presente TFG, los

roles serán ostentados por tres personas (el alumno, el director y la directora).

Figura 14: Diferentes roles en OpenUP.

A continuación, se describe cada uno de los roles mostrados en la Figura 14

(Eclipse EPF, 2012):

Analista. Representa la visión del cliente y de los usuarios finales involucrados,

obteniendo información desde los stakeholders para entender el problema que

debe ser resuelto y capturar las prioridades para los requisitos.

En el presente TFG este rol lo han desempeñado el director, la directora y el

alumno.

Page 57: TRABAJO FIN DE GRADO - RUIdeRA Principal

33

Figura 15: Relaciones del rol Analista en OpenUP.

Arquitecto. Responsable de diseñar la arquitectura del software, incluyendo

esto tomar las principales decisiones técnicas.

Durante el desarrollo del presente proyecto este rol lo ha desempeñado el

alumno.

Figura 16: Relaciones del rol Arquitecto en OpenUP.

Desarrollador. Responsable del desarrollo de una parte del sistema o del

sistema completo dependiendo de la magnitud del mismo.

Durante el desarrollo del presente proyecto este rol lo ha desempeñado el

alumno.

Figura 17: Relaciones del rol Desarrollador en OpenUP.

Project Manager. Encargado de liderar la planificación del proyecto en

colaboración con las partes interesadas y el equipo.

Page 58: TRABAJO FIN DE GRADO - RUIdeRA Principal

34

Durante el desarrollo del presente TFG este rol lo ha desempeñado el alumno,

con la supervisión del director y la directora.

Figura 18: Relaciones del rol Project Manager en OpenUP.

Stakeholders. Grupo de personas cuyas necesidades serán satisfechas con la

ejecución del proyecto. En este rol se incluye cualquier persona

afectada/relacionada por los objetivos del proyecto.

Durante el desarrollo del presente proyecto este rol lo han desempeñado el

director, la directora y el alumno.

Tester. Responsable de realizar las actividades básicas referentes a las pruebas.

Durante el desarrollo del presente TFG este rol lo ha desempeñado el alumno.

Figura 19: Relaciones del rol Tester en OpenUP.

Otros roles. Cualquier otra persona del equipo de trabajo que realiza tareas

generales.

Figura 20: Relaciones de otros roles en OpenUP.

Page 59: TRABAJO FIN DE GRADO - RUIdeRA Principal

35

4.2. Marco tecnológico.

En este apartado se exponen las tecnologías y herramientas utilizadas a lo largo

del desarrollo del presente TFG. En la Tabla 2 se muestra un resumen de éstas.

Gestión de

proyectos

Modelado y

documentación

Bases de

datos

Desarrollo de software

Tabla 2: Herramientas y tecnologías empleadas en el presente TFG.

Page 60: TRABAJO FIN DE GRADO - RUIdeRA Principal

36

4.2.1. Herramientas para la gestión de proyectos.

En este apartado se presentan las herramientas utilizadas para la gestión del

presente TFG.

4.2.1.1. Bitbucket.

Bitbucket (Bitbucket, 2017) es un repositorio privado para proyectos software

que incluye un sistema de control de versiones basado en Git y Mercurial. Además,

ofrece otros servicios como son una wifi, un gestor de incidencias e integración con

otros servicios como Twitter o Google.

Para el desarrollo del presente TFG se ha utilizado Bitbucket como sitio de

alojamiento y control de versiones.

4.2.1.2. Trello.

Trello (Trello, 2017) es una herramienta colaborativa de proyectos con interfaz

web. Usa el método Kanban (Anderson, 2003; Anderson, 2010) que organiza los

proyectos en tableros. Con un solo vistazo, Trello permite ver las tareas que se llevan a

cabo, quién trabaja en una tarea determinada y cuál es el estado de un proceso.

Así mismo, emplea el método Kanban para el registro de actividades con tarjetas

virtuales, permitiendo realizar tareas como agregar listas, adjuntar archivos, etiquetar

eventos y agregar comentarios, entre otras.

Durante el desarrollo del presente TFG, Trello ha sido utilizado para la gestión

de tareas a realizar durante el mismo, como se muestra en la Figura 21.

Page 61: TRABAJO FIN DE GRADO - RUIdeRA Principal

37

Figura 21: Panel de Trello del TFG.

4.2.2. Herramientas para el modelado software y

documentación.

En este apartado se presentan las herramientas que han sido utilizadas en el

modelado y en la documentación de este TFG.

4.2.2.1. Visual Paradigm for UML.

Visual Paradigm for UML (VP-UML, 2017) es una herramienta CASE

profesional que da soporte al modelado a través de UML. Esta herramienta permite

crear diferentes tipos de diagramas, además de aplicar ingeniería directa e inversa.

Durante este TFG, Visual Paradigm for UML ha sido utilizada para elaborar los

modelos UML necesarios para especificar los requisitos y el diseño de la aplicación

(Figura 22).

Page 62: TRABAJO FIN DE GRADO - RUIdeRA Principal

38

Figura 22: Utilización de Visual Paradigm for UML durante el modelado de casos

de uso del rol administrador.

4.2.2.2. Balsamiq Mockups.

Balsamiq Mockups (Balsamiq Mockups, 2017) es una aplicación para crear

maquetas para interfaces gráficas para usuario. Permite al diseñador diagramar widgets

pre construidos. Es una herramienta muy fácil de usar.

Balsamiq Mockups ha sido utilizada durante el desarrollo de este TFG para la

realización de los bocetos de las diferentes interfaces de la herramienta (Figura 23).

Figura 23: Utilización de Balsamiq Mockups durante el diseño de la interfaz de

usuario.

Page 63: TRABAJO FIN DE GRADO - RUIdeRA Principal

39

4.2.2.3. Microsoft Word.

Microsoft Word (Microsoft Word, 2017) ha sido la herramienta utilizada para

realizar la documentación del presente TFG.

4.2.3. Herramientas para la base de datos.

En este apartado se especifica la herramienta utilizada para el desarrollo de la

base de datos de este TFG.

4.2.3.1. MongoDB.

MongoDB (MongoDB, 2017) es la base de datos NoSQL (Bases de datos

NoSQL, 2017) líder y permite a las organizaciones ser más ágiles y escalables.

Empresas de todo el mundo usan MongoDB para crear nuevos tipos de aplicaciones,

mejorar la experiencia del cliente, acelerar el tiempo de comercialización y reducir

costes.

MongoDB ha sido utilizado durante el desarrollo de este TFG para la gestión de

toda la información persistente.

4.2.4. Entorno de desarrollo integrado (IDE), herramientas,

tecnologías y frameworks para el desarrollo de software.

En este apartado se especifican las herramientas, tecnologías, frameworks y

estándares que han sido utilizados para el desarrollo software de este TFG.

4.2.4.1. Eclipse.

Eclipse (Eclipse, 2017) es una plataforma de software compuesto por un

conjunto de herramientas de programación de código abierto multiplataforma. Esta

plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados

(del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el

compilador (ECJ) que se entrega como parte de Eclipse.

Page 64: TRABAJO FIN DE GRADO - RUIdeRA Principal

40

Eclipse ha sido el entorno de desarrollo integrado utilizado durante todo el

desarrollo del presente TFG (Figura 24).

Figura 24: Utilización de Eclipse durante el desarrollo de la herramienta.

4.2.4.2. Spring.

Spring (Spring, 2017) ha sido el framework utilizado para el desarrollo del

presente TFG. Es el framework más popular para la creación de aplicaciones con Java.

También es la herramienta con más demanda en el mercado para los desarrolladores con

este lenguaje. Spring ofrece diversos módulos que facilitan el desarrollo de aplicaciones

mediante los patrones de diseño de software más habituales.

Spring comprende diversos módulos que proveen un rango de servicios (Spring

Framework, 2017):

Contenedor de inversión de control.

Programación orientada a aspectos.

Acceso a datos.

Gestión de transacciones.

Framework de acceso remoto.

Convención sobre Configuración.

Procesamiento por lotes.

Autenticación y Autorización.

Administración remota.

Mensajes.

Testing.

Page 65: TRABAJO FIN DE GRADO - RUIdeRA Principal

41

Modelo vista controlador.

Este último es una de las partes más importantes de Spring. Este patrón de diseño

permite separar el código en tres partes (Álvarez, 2014):

Modelo: es la parte que gestiona la información. Es decir, las conexiones a la

base de datos y las actualizaciones, y envía a la vista la información a través del

controlador.

Vista: es parte que percibe el usuario y con la que interacciona.

Controlador: se encarga de la lógica de la aplicación, haciendo de nexo entre el

Modelo y la Vista. Cada controlador será una clase con los métodos, y por cada

método habrá una vista que representará la versión procesada de ese método.

A continuación, en la figura 25, se muestra una explicación gráfica del patrón MVC.

Figura 25: Explicación gráfica del patrón MVC (Gemio, 2017).

4.2.4.3. Maven.

Maven (Maven, 2017) es una herramienta de software para la gestión y

construcción de proyectos. Tiene un modelo de configuración de construcción basado

en un formato XML. Maven utiliza un Project Object Model (POM) para describir el

proyecto de software a construir, sus dependencias de otros módulos y componentes

Page 66: TRABAJO FIN DE GRADO - RUIdeRA Principal

42

externos, y el orden de construcción de los elementos. Viene con objetivos predefinidos

para realizar ciertas tareas claramente definidas, como la compilación del código y su

empaquetado.

Durante el desarrollo del presente TFG, Maven ha sido utilizado para la gestión

de dependencias entre módulos y componentes externos del mismo.

4.2.4.4. Bootstrap.

Boostrap (Bootstrap, 2017) es un framework de código abierto para diseño de

sitios y aplicaciones web. Contiene plantillas de diseño con tipografía, formularios,

botones, cuadros, menús de navegación y otros elementos de diseño basado en HTML5

y CSS3, así como extensiones de JavaScripts opcionales adicionales. Fue desarrollado

por Twitter.

Bootstrap ha sido utilizado durante el desarrollo de este TFG para los diseños de

las interfaces de la herramienta web. De este modo, Bootstrap permite que la

herramienta desarrollada sea responsive, es decir, permite redimensionar y colocar los

elementos de la web de forma que éstos se adapten al ancho de cada dispositivo,

permitiendo una óptima visualización; así como la compatibilidad con los diversos

navegadores existentes.

4.2.4.5. HTML5.

HTML (HTML5, 2017) (HyperText Markup Language) es un lenguaje de

marcado utilizado para la generación de páginas web en el lado del cliente. Es un

estándar a cargo del World Wide Web Consortium (W3C), organización dedicada a la

estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente

a su escritura e interpretación. Basa su funcionalidad en el uso de etiquetas para definir

las distintas partes que componen la página.

Para el desarrollo de la herramienta web la versión elegida de HTML ha sido la

última, la cual es la HTML5.

4.2.4.6. CSS3

CSS (CSS3, 2017) (Cascading Style Sheets) es un lenguaje de diseño gráfico

para definir y crear la presentación de un documento estructurado escrito en un lenguaje

de marcado. Es muy usado para establecer el diseño visual de los documentos web.

Page 67: TRABAJO FIN DE GRADO - RUIdeRA Principal

43

Para el desarrollo de la herramienta del presente TFG se ha utilizado la última

versión, la cual es CSS3.

4.2.4.7. Jquery.

Jquery (JQuery, 2017) es una biblioteca multiplataforma de JavaScript, la cual

permite simplificar la manera de interactuar con los documentos HTML o agregar

interacción con los diversos elementos de una página web.

Durante el desarrollo del presente proyecto, Jquery ha sido utilizado en las

páginas JSP para interactuar con los elementos HTML.

4.2.4.8. Java.

Java (Java, 2017) es un lenguaje de programación de propósito general,

concurrente y orientado a objetos. En la actualidad, Java es uno de los lenguajes de

programación más populares en uso, particularmente para aplicaciones de cliente-

servidor de web.

En el presente TFG, Java ha sido el lenguaje de programación utilizado en la

parte servidor.

4.2.4.9. Amcharts.

Amcharts (Amcharts, 2017) es una librería muy completa para hacer charts

mediante JavaScript. Es desarrollada por una pequeña compañía de Lituania,

En el presente TFG, la librería Amcharts ha sido utilizada como mecanismo de

visualización, representando gráficos relevantes en la gestión de las carteras de

proyectos.

En la Figura 26 se muestran algunos ejemplos de charts que pueden

representarse con la librería Amcharts.

Page 68: TRABAJO FIN DE GRADO - RUIdeRA Principal

44

Figura 26: Ejemplos de charts representados con la librería Amcharts (Amcharts,

2017).

4.2.4.10. JSON.

JSON (JSON, 2017) (JavaScript Object Notation) es un formato de texto ligero

para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos

de JavaScript aunque hoy, debido a su amplia adopción como alternativa a XML, se

considera un formato de lenguaje independiente.

4.2.4.11. JSTL.

La librería JSTL (JSTL, 2017) es un componente dentro de la especificación de

Java 2 Enterprise Edition (J2EE) y es controlada por Sun MicroSystems. JSTL no es

más que un conjunto de librerías de etiquetas simples y estándares que encapsulan la

funcionalidad principal que es usada comúnmente para escribir páginas JSP, siendo ésta

la funcionalidad para la que se ha utilizado en el presente TFG.

4.2.4.12. AJAX.

AJAX (AJAX, 2017) (Asynchronous JavaScript And XML) es una técnica de

desarrollo web para crear aplicaciones interactivas. Estas aplicaciones se ejecutan en el

cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación

asíncrona con el servidor en segundo plano. De esta forma, es posible realizar cambios

Page 69: TRABAJO FIN DE GRADO - RUIdeRA Principal

45

sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y

usabilidad en las aplicaciones.

4.2.4.13. Apache Tomcat.

Apache Tomcat (Apache Tomcat, 2017) funciona como un contenedor de

servlets desarrollado en la Apache Software Foundation. Tomcat implementa las

especificaciones de los servlets y de JavaServer Pages (JSP).

Durante el desarrollo de este TFG, la versión de Tomcat elegida como servidor

ha sido la v8.5.

Page 70: TRABAJO FIN DE GRADO - RUIdeRA Principal

46

Page 71: TRABAJO FIN DE GRADO - RUIdeRA Principal

47

CAPÍTULO 5

RESULTADOS: HERRAMIENTA SPT2

En el presente capítulo se presentan los resultados obtenidos a lo largo del

desarrollo de la herramienta, aplicando, como hemos comentado en el capítulo anterior,

la metodología OpenUP.

El desarrollo se ha llevado a cabo siguiendo el ciclo de vida propio de esta

metodología, de tal forma que se ha recorrido cada una de las fases propias de la misma:

Fase de Inicio, Fase de Elaboración, Fase de Construcción y Fase de Transición. Así

mismo, cada una de estas fases estará compuesta por diferentes iteraciones, con sus

respectivos incrementos.

A continuación, se presentan los resultados obtenidos en cada una de las fases e

iteraciones.

5.1. Fase de inicio.

La fase de inicio ha estado compuesta de varias tareas, tales como reuniones con

los directores del proyecto con el fin de analizar los requisitos de la herramienta y

obtener un completo análisis global de la solución requerida, primeras consultas a la

bibliografía para tener una comprensión lo más completa posible de la dimensión

general del proyecto, definición de las funcionalidades concretas de la herramienta a

realizar durante el presente TFG y el análisis y realización del plan de iteraciones del

desarrollo del proyecto. También, durante esta fase se han realizado los diagramas de

casos de uso de las funcionalidades que se deben implementar.

5.1.1. Análisis de requisitos.

Para comenzar, es importante destacar que los roles que interactuarán con la

herramienta serán varios, ya que no todos los usuarios tendrán disponibles las mismas

funcionalidades según su rol. En concreto, se han definido cuatro: el administrador de

la herramienta, la alta dirección, el gestor de cartera de proyectos y el gestor de

proyecto.

Una vez definidos e identificados los roles y los objetivos del proyecto, se

extraen los siguientes requisitos:

Page 72: TRABAJO FIN DE GRADO - RUIdeRA Principal

48

Gestión de usuarios. El administrador y la alta dirección podrá dar de alta

nuevos usuarios a la herramienta. Así mismo, podrá eliminarlos de la misma.

También cabe mencionar que todos los usuarios podrán ver su perfil en

cualquier momento y modificar, si así lo desean, su contraseña de acceso al

sistema.

Extracción de la información de interés desde ficheros MS-Project. Se

deberá extraer la información que se encuentre en archivos con extensión .xml

exportados de MS-Project con el fin de crear nuevos proyectos en la cartera de

proyectos deseada o para actualizar la fecha de estado de un proyecto concreto.

Gestión de proyectos. El gestor de proyecto tendrá la posibilidad de visualizar

toda la información de los proyectos que gestione. Así mismo, siempre y cuando

el proyecto en cuestión se encuentre en progreso, podrá actualizar los diferentes

estados individuales del mismo (financiero, de calendario, de alineamiento y de

riesgos) y también podrá actualizar la fecha de estado del proyecto de forma

manual o de forma automática, mediante la extracción de la información de

archivos .xml anteriormente mencionada.

Gestión de carteras de proyectos. El gestor de cartera de proyectos tendrá la

posibilidad de visualizar toda la información de las carteras de proyectos que

gestione, al igual que de todos los proyectos que contengan cada una de éstas.

Éste también podrá cambiar el estado global de los proyectos contenidos en las

carteras que dirige, es decir, pasar el proyecto deseado del estado en progreso a

terminado o cancelado, según se requiera. Así mismo, tendrá la posibilidad de

cambiar el estado individual (financiero, de calendario, de alineamiento y de

riesgos) de sus carteras de proyectos mientras que éstas se encuentren en

progreso. El gestor de cartera de proyectos también podrá crear nuevos

proyectos en sus carteras, siempre y cuando la cartera en concreto se encuentre

en progreso, mediante la extracción de la información de archivos .xml.

Gestión completa de carteras de proyectos en una organización. La alta

dirección podrá visualizar todas las carteras de proyectos, junto con todos los

proyectos contenidos en éstas, de la organización a la que pertenezcan con el fin

de saber en todo momento el estado de éstas. Este usuario tendrá la posibilidad

de cambiar el estado global de la cartera de proyectos que desee, así como de

cualquier proyecto contenido en éstas, siempre y cuando la cartera de proyectos

y/o el proyecto en cuestión se encuentren en progreso. Esto quiere decir que, si

la alta dirección desea por ejemplo cancelar una cartera, podrá hacerlo, y por

ende todos los proyectos que contenga esa cartera y se encuentren en progreso,

se cancelarán también. Otra funcionalidad destacable de la alta dirección es que

podrá crear nuevas carteras de proyectos en su empresa, asignándosela al gestor

de cartera deseado.

Page 73: TRABAJO FIN DE GRADO - RUIdeRA Principal

49

Completa Gestión del Valor Ganado de los proyectos. La herramienta

mostrará un completo análisis referente a la Gestión del Valor Ganado de cada

proyecto, teniendo como fuente la extracción de información automática y/o los

valores proporcionados por el usuario. Este análisis incluye una gráfica

representativa de los valores en cada fecha de estado registrada.

Mecanismos de visualización. La herramienta considerará diversos

mecanismos de representación tanto tabulares como gráficos, con el fin de

facilitar a los usuarios la toma de decisiones.

5.1.2. Modelo de Casos de Uso.

Tras haber determinado los requisitos, se ha llevado a cabo la realización del

diagrama de casos de uso del sistema. A continuación se presentan los casos de uso de

los roles identificados con anterioridad: administrador, alta dirección, gestor de cartera

de proyectos y gestor de proyecto. Cabe mencionar que la funcionalidad Autenticar se

ha omitido, puesto que es común a todos los roles.

En la Figura 27 podemos observar las funciones correspondientes al rol

administrador:

Page 74: TRABAJO FIN DE GRADO - RUIdeRA Principal

50

Figura 27: Funcionalidades del rol administrador.

Como puede apreciarse en la Figura 27, el administrador no tiene acceso de

ningún tipo a visualización de datos, ni de carteras de proyectos de la empresa a la que

pertenezca, ni de proyectos. La funcionalidad de este tipo de usuario se resume en

creación y eliminación de usuarios de la base de datos y creación y asignación tanto de

carteras de proyectos, como de proyectos.

A continuación, en la Figura 28, se presenta el diagrama de casos de uso para el

rol alta dirección:

Page 75: TRABAJO FIN DE GRADO - RUIdeRA Principal

51

Figura 28: Funcionalidades del rol alta dirección.

Como se muestra en la Figura 28, las funcionalidades del usuario con el rol alta

dirección son muy variadas. Al igual que el administrador, éste puede crear y eliminar

usuarios de su empresa de la base de datos, así como crear nuevas carteras de proyectos

en su organización. Lo más destacable con respecto a los demás roles es que puede

visualizar todas las carteras de proyectos que tiene su empresa, así como todos los

proyectos contenidos en éstas, pudiendo actualizar el estado general tanto de cualquier

cartera como de cualquier proyecto siempre y cuando se encuentren en el estado general

en progreso.

Seguidamente, podemos ver en la Figura 29 las funciones correspondientes al rol

gestor de cartera de proyectos:

Page 76: TRABAJO FIN DE GRADO - RUIdeRA Principal

52

Figura 29: Funcionalidades del rol gestor de cartera de proyectos.

Como se aprecia en la Figura 29, las funcionalidades del gestor de cartera de

proyectos son más limitadas que la del rol alta dirección. La funcionalidad más

destacable y que ningún otro rol puede llevar a cabo, es la posibilidad de actualización

de los estados individuales (financiero, de calendario, de alineamiento y de riesgos) de

las carteras de proyectos que gestiona, siempre y cuando éstas se encuentren en el

estado general en progreso. También puede actualizar el estado general de los proyectos

contenidos en sus carteras, funcionalidad que comparte con el usuario con el rol alta

dirección.

Finalmente, en la Figura 30 se presenta el diagrama de casos de uso para el rol

gestor de proyecto:

Page 77: TRABAJO FIN DE GRADO - RUIdeRA Principal

53

Figura 30: Funcionalidades del rol gestor de proyecto.

Como se muestra en la Figura 30, el gestor de proyecto es el usuario cuyas

funcionalidades son más limitadas. Las funcionalidades que destacan por encima de las

demás son la actualización de los valores de la Gestión del Valor Ganado del proyecto,

y los cambios de los estados individuales de éste; siendo estas dos funcionalidades

propias de este rol.

5.1.3. Plan de Iteraciones.

A partir del diagrama de casos de uso y los requisitos identificados se ha

realizado el plan de iteraciones. En la Tabla 3 se muestran las iteraciones planificadas,

junto con los objetivos asociados a cada una de ellas:

Page 78: TRABAJO FIN DE GRADO - RUIdeRA Principal

54

Fase Iteración Objetivos

Inicio 0

Análisis del problema.

Análisis de los requisitos del proyecto.

Análisis y desarrollo del plan de iteraciones.

Elaboración 1

Configuración del entorno.

Diseño de la arquitectura del sistema.

Diseño de la base de datos.

Diseño de la interfaz de usuario.

Implementación de la arquitectura y de la interfaz.

Construcción

2 Implementación funcionalidad importar proyectos

.xml exportados de MS-Project.

3 Implementación funcionalidad gestión de usuarios.

4 Implementación funcionalidad creación de carteras

de proyectos y proyectos.

5 Implementación funcionalidad vistas de la

herramienta para el seguimiento de carteras.

6 Implementación funcionalidad representación

gráfica de la información de seguimiento de

carteras.

7 Implementación funcionalidad cambios de estado

de carteras de proyectos y de proyectos.

8 Implementación funcionalidad actualización

valores Gestión del Valor Ganado del proyecto.

9 Implementación funcionalidad descarga del

informe con la información del proyecto deseado.

10 Implementación funcionalidad envío de correo

electrónico al usuario.

Transición 11 Integración de la versión final.

Manual de usuario.

Tabla 3: Plan de Iteraciones.

Tal como puede observarse en la Tabla 3, en las primeras iteraciones se aborda

el análisis y diseño del desarrollo de la herramienta para luego implementar

funcionalidades progresivamente, aportando éstas cada vez más valor a la herramienta.

Page 79: TRABAJO FIN DE GRADO - RUIdeRA Principal

55

5.2. Fase de elaboración.

La fase de elaboración está compuesta por únicamente una iteración, en la cual

se ha realizado la configuración del entorno, el diseño de la arquitectura del sistema, de

la interfaz de usuario y de la base de datos, creando de este modo un punto de partida

para el desarrollo de las siguientes iteraciones.

5.2.1. Iteración 1. Configuración del entorno, diseño de la

arquitectura del sistema, de la base de datos y de la interfaz

de usuario.

5.2.1.1. Configuración del entorno.

El presente TFG se ha desarrollado en un equipo con las siguientes

características:

Sistema operativo: Windows 7 Home Premium

Procesador: Inter® Core™ i7-3610QM 2.30 GHz con tecnología Turbo Boost

hasta 3.3 GHz.

Memoria RAM: 8 GB

Arquitectura: 64 bits

Para la realización del proyecto ha sido necesario tener instalado el IDE Eclipse,

siendo en concreto la versión utilizada la neon.1, con el plugin del framework Spring.

5.2.1.2. Diseño de la arquitectura del sistema.

Para la implementación de la herramienta se ha utilizado el framework de

desarrollo Spring, junto con una arquitectura MVC (Modelo – Vista – Controlador). El

patrón MVC, como ya se ha comentado en el apartado 4.2.4.2, es un paradigma que

divide una aplicación en las siguientes partes:

Modelo (Persistencia): capa donde se establecen las reglas de negocio. Es la

encargada de la comunicación con la base de datos persistente para el

intercambio de datos, y de notificar los cambios que se produzcan en los mismos

a la capa de Presentación.

Page 80: TRABAJO FIN DE GRADO - RUIdeRA Principal

56

Para la parte de implementación de esta capa, se usará MongoDB como Base de

Datos no relacional.

Vista (Presentación): capa donde se muestra la información almacenada en la

capa de Modelo al usuario. Es la encargada de transmitir los datos insertados por

el usuario a la capa de Controlador, así como de recibir los datos procesados por

la capa de Controlador o Modelo, y mostrarlos al usuario.

Las tecnologías usadas para la parte de implementación de esta capa serán

Bootstrap, HTML5, CSS3, Jquery, Ajax y lenguaje de marcado JSTL.

Controlador (Dominio): capa encargada de la gestión del control de la

aplicación y de los datos insertados del usuario, así como de recibir los eventos

de entrada de información. Además, contiene las reglas de gestión de estos

eventos para operar con ellos.

Se usará Java como lenguaje de programación para la creación de todos los

controladores.

La implementación de cada capa viene reflejada a modo resumen en la Tabla 4:

Modelo Vista Controlador

Tabla 4: Herramientas y tecnologías usadas para cada capa del modelo MVC.

Page 81: TRABAJO FIN DE GRADO - RUIdeRA Principal

57

5.2.1.3. Diseño de la base de datos.

En este apartado se muestra el modelo de datos que se ha realizado para cumplir

con los requisitos establecidos en el presente TFG. El diseño está representado en el

diagrama de la Figura 31.

Figura 31: Diseño de la base de datos que se utilizará para la herramienta.

Tal y como puede observarse en la Figura 31, existen 3 colecciones para

representar toda la información del proyecto: Usuarios, Carteras y Proyectos. Algunos

datos importantes sobre este modelado de datos son los siguientes:

El atributo company está presente en las tres primeras colecciones mencionadas,

refiriéndose éste a la empresa u organización a la que pertenecen los usuarios,

las carteras y los proyectos.

Tanto los proyectos como las carteras tienen un estado general, el cual puede

tomar uno de los siguientes valores: en progreso, terminado o cancelado; y

Page 82: TRABAJO FIN DE GRADO - RUIdeRA Principal

58

cuatro estados individuales, los cuales son estado financiero, estado de

calendario, estado de alineamiento y estado de riesgos, pudiendo tomar éstos el

valor bien, mal o regular.

El atributo managementMethod de la colección Proyectos puede tomar uno de

los siguientes valores: Tradicional o Ágil. Si toma el valor Tradicional, el

proyecto en cuestión tendrá el atributo valuesTraditionalEVM y no tendrá

valuesAgileEVM. Por el contrario, si toma el valor Ágil, el proyecto tendrá el

atributo valuesAgileEVM y no tendrá valuesTraditionalEVM.

El atributo valuesTraditionalEVM se utiliza para registrar fechas de estado con

sus respectivos valores en un proyecto siguiendo metodología tradicional con el

objetivo de gestionar de manera correcta el Valor Ganado del mismo. Gracias a

este listado de registros de fechas de estado la herramienta es capaz de mostrar

una gráfica de la Gestión del Valor Ganado en la vista del proyecto, siempre y

cuando el proyecto en cuestión tenga más de una fecha de estado registrada. A

su vez, valuesTraditionalEVM contiene listas con los siguientes atributos:

statusDate, EV, PV, AC, CV, SV, CPI, SPI, TCPI, recommendation.

El atributo valuesAgileEVM se utiliza para registrar fechas de estado con sus

respectivos valores en un proyecto siguiendo metodología ágil con el objetivo de

hacer una correcta Gestión del Valor Ganado del mismo. Gracias a este listado

de registros de fechas de estado, la aplicación es capaz de mostrar una gráfica de

la Gestión del Valor Ganado en la vista de proyecto, siempre y cuando el

proyecto en cuestión tenga registrada más de una fecha de estado. A su vez,

valuesAgileEVM contiene listas con los siguientes atributos: statusDate, EV, AC,

plannedPoints, completedPoints, CV, SV, CPI, SPI, TCPI, recommendation.

La razón por la que se ha utilizado durante el desarrollo de la herramienta una base

de datos no relacional como lo es MongoDB es por dos motivos, los cuales se presentan

a continuación:

Todos los proyectos no tienen los mismos atributos, ya que, dependiendo del

método de gestión utilizado durante el proyecto en cuestión, éste tendrá el

atributo valuesTraditionalEVM o valuesAgileEVM.

No cerrar puertas a un trabajo futuro, al igual que se presenta en el capítulo 6.2,

ya que se considera que podría continuarse con el desarrollo de la herramienta

ampliando su funcionalidad y siendo necesario incorporar flexibilidad a la hora

de gestionar la información de cada cartera (que podría diferir de unas a otras

según su tipología), lo que aumentaría notablemente el valor de la misma.

Además, en un entorno real de explotación de la herramienta podría ser

necesario manejar grandes volúmenes de datos, lo que requeriría una mayor

eficiencia que es porporcionada mediante este enfoque.

Page 83: TRABAJO FIN DE GRADO - RUIdeRA Principal

59

5.2.1.3. Diseño de la interfaz de usuario.

A la hora de diseñar la interfaz de usuario se tuvo en cuenta en primer lugar la

división en roles de la herramienta, de modo que no todos los usuarios accederán a la

misma pantalla al entrar a la aplicación. Se han tenido en cuenta en el diseño el uso de

patrones de usabilidad (Neil, 2010) de acuerdo a cada rol.

En primer lugar, se presenta la interfaz de la página del administrador de la

herramienta, compuesta por los siguientes elementos:

Barra superior en la que podrá visualizar su perfil y hacer logout.

Botón para crear nuevas carteras de proyectos.

Botón para crear nuevos proyectos.

Botón para dar de alta a nuevos usuarios en la aplicación.

Botón para eliminar a usuarios ya existentes de la herramienta.

El diseño de la interfaz del administrador está representado por la Figura 32:

Figura 32: Diseño de la interfaz del administrador.

Page 84: TRABAJO FIN DE GRADO - RUIdeRA Principal

60

Los elementos que contendrán esta interfaz son los siguientes:

Barra superior en la que podrá visualizar su perfil y hacer logout.

Gráficos representativos de información relacionada con las carteras de

proyectos que tenga la organización.

Tablas con las carteras de proyectos, divididas éstas según su estado.

Botón para crear nuevas carteras de proyectos.

Botón para dar de alta a nuevos usuarios en la aplicación.

Botón para eliminar a usuarios ya existentes de la herramienta.

La Figura 33 muestra el diseño de la interfaz del rol alta dirección:

Figura 33: Diseño de la interfaz del rol alta dirección.

Para la realizar el diseño de la interfaz de usuario del rol gestor de cartera de

proyectos, tenemos que tener en cuenta dos posibles escenarios: que el usuario gestione

una sola cartera de proyectos, o varias.

Si el usuario gestiona solamente una cartera de proyectos, accederá directamente

a la vista con toda la información de ésta. Los elementos que contendrá esta vista son

los siguientes:

Page 85: TRABAJO FIN DE GRADO - RUIdeRA Principal

61

Barra superior en la que podrá visualizar su perfil y hacer logout.

Gráficos representativos de información relacionada con los proyectos que

contenta su cartera de proyectos.

Tablas con los proyectos, divididos éstos según su estado.

Botón para crear nuevos proyectos en la cartera.

En la Figura 34 puede observarse el diseño de la interfaz para el rol gestor de

cartera de proyectos en el caso indicado.

Figura 34: Diseño de la interfaz del gestor de cartera de proyectos cuando el

usuario gestiona una sola cartera de proyectos.

En el caso contrario al mencionado, es decir, si el usuario gestiona varias

carteras de proyectos, la interfaz cuando acceda a la herramienta tendrá los siguientes

elementos:

Barra superior en la que podrá visualizar su perfil y hacer logout.

Tablas con las carteras que gestiona, divididas éstas según su estado.

La Figura 35 muestra el diseño de la interfaz para el rol gestor de cartera de

proyectos en el caso analizado.

Page 86: TRABAJO FIN DE GRADO - RUIdeRA Principal

62

Figura 35: Diseño de la interfaz del gestor de carteras de proyectos cuando el

usuario gestiona varias carteras.

Para la realizar el diseño de la interfaz de usuario del rol gestor de proyecto,

tenemos que tener en cuenta dos escenarios similares al rol anterior: que el usuario

gestione un solo proyecto, o varios.

Si el usuario gestiona solamente un proyecto, accederá directamente a la vista

con toda la información de éste. Los elementos que contendrá esta vista son los

siguientes:

Barra superior en la que podrá visualizar su perfil y hacer logout.

Gráficos representativos con información del proyecto.

Diversas pestañas con el fin de organizar toda la información.

Botón para descargar la información del proyecto.

En la Figura 36 puede observarse el diseño de la interfaz para el rol gestor de

proyectos en el caso indicado.

Page 87: TRABAJO FIN DE GRADO - RUIdeRA Principal

63

Figura 36: Diseño de la interfaz del gestor de proyecto cuando el usuario gestiona

varios proyectos.

En el caso contrario al mencionado, es decir, si el usuario gestiona varios proyectos,

la interfaz cuando acceda a la herramienta tendrá los siguientes elementos:

Barra superior en la que podrá visualizar su perfil y hacer logout.

Tablas con los proyectos que gestiona, divididas éstas según el estado de los

mismos.

La Figura 37 muestra el diseño de la interfaz para el rol gestor de proyecto en el

caso analizado.

Page 88: TRABAJO FIN DE GRADO - RUIdeRA Principal

64

Figura 37: Diseño de la interfaz del gestor de proyecto cuando el usuario gestiona

varios proyectos.

5.3. Fase de construcción.

Esta fase está dividida en ocho iteraciones. En cada una de éstas van

obteniéndose incrementos de funcionalidad de la herramienta, con el objetivo de que

después de cada iteración se haya producido un incremento de valor de la aplicación.

Las funcionalidades a implementar en las iteraciones de esta fase son las siguientes:

Importación de proyectos .xml exportados de MS-Project.

Gestión de usuarios.

Creación tanto de carteras de proyectos, como de proyectos.

Vistas de la herramienta para el seguimiento de carteras.

Representación gráfica de la información de seguimiento de carteras.

Cambios de estado tanto de las carteras de proyectos, como de los proyectos.

Actualización de valores de la Gestión del Valor Ganado del proyecto.

Descarga del informe con la información del proyecto deseado.

Envío de correo electrónico al usuario.

Page 89: TRABAJO FIN DE GRADO - RUIdeRA Principal

65

5.3.1. Iteración 2. Importación de proyectos .xml exportados

de MS-Project.

En esta iteración se ha implementado el módulo cuya funcionalidad consiste en

extraer la información relevante de proyectos exportados de MS-Project con extensión

.xml. La implementación de esta funcionalidad se lleva a cabo con dos objetivos:

Permitir al gestor de cartera de proyectos crear nuevos proyectos en su cartera

mediante la carga automática de la información almacenada en estos archivos.

En este caso, del archivo .xml seleccionado por el usuario se desea extraer la

siguiente información:

o Nombre del proyecto.

o Fecha de creación.

o Fecha prevista de finalización.

o Porcentaje completado.

o Presupuesto.

o Valores referentes a la Gestión del Valor Ganado:

Fecha de estado.

EV.

AC.

PV.

Permitir al gestor de proyecto registrar nuevas fechas de estado con sus

respectivos nuevos valores de la Gestión del Valor Ganado mediante la

extracción automática de la información almacenada en estos archivos. Para este

caso, del archivo .xml que seleccione el usuario solamente hace falta extraer la

siguiente información:

o Valores referentes a la Gestión del Valor Ganado:

Fecha de estado.

EV.

AC.

PV.

Para desarrollar esta iteración se han implementado dos vistas, una para cada

uno de los casos mencionados anteriormente, pero ambas con el mismo objetivo: que el

usuario seleccione el proyecto .xml del que desea extraer la información. La vista para la

selección del archivo .xml deseado se presenta en la Figura 38.

Page 90: TRABAJO FIN DE GRADO - RUIdeRA Principal

66

Figura 38: Vista para que el gestor de cartera de proyectos seleccione un archivo

.xml.

Cuando el usuario seleccione el archivo deseado y pulse Seleccionar proyecto,

un pequeño script implementado en el jsp correspondiente envía mediante una llamada

AJAX al controlador el archivo deseado para que éste sea procesado. El código de este

script se muestra en la Figura 39:

Figura 39: Script que envía el archivo seleccionado al controlador mediante una

llamada AJAX.

Page 91: TRABAJO FIN DE GRADO - RUIdeRA Principal

67

En lo que respecta al controlador, se han implementado los métodos en JAVA

necesarios para hacer la lectura de información del archivo en cuestión. Para realizar

dicha lectura de estos archivos se ha utilizado la librería MPXJ (MPXJ, 2017), la cual

nos permite extraer toda la información posible de los archivos exportados de MS-

Project. En la Figura 40 se muestra un extracto del método que se encarga de leer la

información almacenada en el archivo .xml:

Figura 40: Extracto del método JAVA que lee la información del archivo .xml

seleccionado.

Como podemos observar hacemos uso de la librería MPXJ (new

MSPDIReader()), teniendo finalmente un objeto ProjectFile del que extraeremos toda la

información.

5.3.2. Iteración 3. Gestión de usuarios.

Esta iteración comprende el desarrollo del módulo referente a la gestión de los

usuarios que tendrán el acceso y podrán interactuar con la herramienta. Tal y como se

ha mostrado en el diagrama de casos de uso en la Figura 27 y en la Figura 28, la gestión

de usuarios corresponde al rol Administrador y al rol Alta Dirección, como se presenta

en la figura 41 y 42. Tanto el Administrador como la Alta Dirección tienen la

posibilidad de dar de alta o de baja a los usuarios en la aplicación.

Page 92: TRABAJO FIN DE GRADO - RUIdeRA Principal

68

Figura 41: Casos de uso para la gestión de los usuarios del administrador.

Figura 42: Casos de uso para la gestión de los usuarios de la alta dirección.

Crear usuario

En este módulo se dará de alta al nuevo usuario en la aplicación. La vista para la

creación del mismo tanto del administrador como de la alta dirección es la misma.

Cuando se dé de alta a un nuevo usuario se deberá introducir la siguiente información

sobre el mismo, de forma obligatoria: Nombre, Apellidos, Email, Contraseña y Tipo de

usuario.

En el caso del campo Email debe ser un valor que no exista ya en la base de

datos, ya que éste se usa para el acceso a la herramienta. Por lo tanto, no pueden existir

en la aplicación dos usuarios con el mismo email. En caso de intentarlo, se mostrará un

mensaje de error.

Con el fin de evitar la equivocación del administrador/alta dirección al

introducir la contraseña para el nuevo usuario, ésta se pide dos veces. Si éste introduce

en ambos campos la misma contraseña, se creará el nuevo usuario; en el caso contrario,

se mostrará un mensaje de error.

En la Figura 43 se muestra la interfaz de creación del nuevo usuario.

Page 93: TRABAJO FIN DE GRADO - RUIdeRA Principal

69

Figura 43: Interfaz para crear un nuevo usuario.

Como podemos observar, el campo Empresa ya viene rellenado por defecto y

está deshabilitado. Esto se ha desarrollado así pensando en que, tanto el usuario

administrador como el usuario alta dirección, solamente puedan crear nuevos usuarios

en su empresa y no en otra.

Eliminar usuario

Una vez ya exista un usuario, es posible eliminarlo de la base de datos. La

interfaz para el borrado de un usuario de la aplicación se muestra en la Figura 44.

Figura 44: Interfaz para dar de baja a un usuario.

Page 94: TRABAJO FIN DE GRADO - RUIdeRA Principal

70

En esta iteración se realiza el diseño para la Gestión de Usuarios, teniendo en

cuenta el paradigma MVC. También cabe mencionar la utilización de los patrones de

diseño Singleton y Fachada (Larman, 1998). Ambos se consiguen con la utilización de

la clase Manager, la cual podemos observar en la siguiente figura. Con la utilización de

este último patrón de diseño mencionado conseguimos reducir la complejidad

minimizando las comunicaciones y dependencias entre clases, ya que las clases

controladoras no interactuarán directamente con las clases DAO implementadas en la

capa Modelo. En la Figura 45 se observa el diagrama de clases de la Gestión de

Usuarios.

Figura 45: Diagrama de clases Gestión de Usuarios.

A continuación, en la Figura 46 se muestra un diagrama de secuencia para el

caso de uso de Eliminar usuario. Por simplicidad, ya que sería muy similar, se ha

omitido el diagrama para la creación del nuevo usuario. El diagrama de la Figura 46

representa el escenario principal que lleva a cabo tanto el Administrador como la Alta

Dirección para dar de baja a un usuario de la herramienta desarrollada. Como

precondición (no mostrado en el diagrama), el usuario anteriormente ha debido

autenticarse.

Figura 46: Diagrama de secuencia Eliminar Usuario.

A continuación, en la Figura 47 se muestra un extracto del método

implementado en el controlador para el borrado del usuario.

Page 95: TRABAJO FIN DE GRADO - RUIdeRA Principal

71

Figura 47: Código implementado en el controlador para dar de baja a un usuario.

Como ha podido observarse en la Figura 45, el controlador y la capa Modelo

interactúan a través de la clase Manager. En este caso, el código implementado en dicha

clase para interactuar con la clase DAO correspondiente se muestra en la Figura 48.

Figura 48: Código implementado en el Manager para dar de baja a un usuario.

Como se puede ver, desde el Manager se llama a la clase de la capa Modelo, que

será la que se encargue de interactuar con la base de datos para el borrado del usuario.

El método implementado para ello en esta clase, la cual se llama DAOUser se presenta

en la Figura 49.

Figura 49: Código implementado en la clase de la capa Modelo para dar de baja a

un usuario.

Page 96: TRABAJO FIN DE GRADO - RUIdeRA Principal

72

Tal como puede observarse en la Figura 49, lo que hace el método removeUser

es lo siguiente: primero se busca en la base de datos la colección Usuarios. Tras ello, se

busca el documento cuyo campo email sea el del usuario deseado y, si éste existe, se

devuelve true al Manager o false en caso contrario.

5.3.3. Iteración 4. Creación tanto de carteras de proyectos,

como de proyectos.

En esta iteración se ha desarrollado el módulo para la creación tanto de carteras

de proyecto, como de proyectos contenidos en éstas. Tal y como se ha mostrado en el

diagrama de casos de uso de la Figura 27, la Figura 28 y la Figura 29, la creación de

carteras de proyectos corresponde al rol Administrador y al rol Alta Dirección, y la

creación de proyectos al rol Administrador y al rol Gestor de Cartera de Proyectos. La

funcionalidad de estos roles con respecto a esta iteración podemos observarla en la

Figura 50, Figura 51 y Figura 52.

Figura 50: Casos de uso para la creación de carteras de proyectos y de proyectos

para el administrador.

Como se muestra en la Figura 50, el Administrador puede tanto crear nuevas

carteras de proyectos en la empresa y asignarlas al Gestor de cartera de proyectos

deseado, como crear nuevos proyectos y asignarlos a la cartera requerida y al Gestor de

proyecto que se desee.

Page 97: TRABAJO FIN DE GRADO - RUIdeRA Principal

73

Figura 51: Casos de uso para la creación de carteras de proyectos para la alta

dirección.

Como se presenta en la Figura 51, la Alta dirección puede crear nuevas carteras

de proyectos en su empresa y asignarlas al Gestor de cartera de proyectos deseado.

Figura 52: Casos de uso para la creación de proyectos para el gestor de cartera de

proyectos.

Tal y como puede observarse en la Figura 52, el Gestor de cartera de proyectos

puede crear nuevos proyectos en su cartera y asignarlos al Gestor de proyecto deseado.

Creación de carteras de proyectos

En este módulo se ha desarrollado la creación de carteras de proyectos en la

aplicación. La vista implementada para la creación de éstas será la misma tanto para el

Administrador como para la Alta Dirección. Cuando se quiera crear una nueva cartera

de proyectos, el usuario deberá indicar mediante un formulario la siguiente información,

de forma obligatoria: Nombre de la cartera, Prioridad, Presupuesto, Gestor de cartera,

Estado financiero, Estado de calendario, Estado de alineamiento, Estado de riesgos y

Objetivo estratégico de la cartera.

Page 98: TRABAJO FIN DE GRADO - RUIdeRA Principal

74

Los estados anteriormente mencionados estarán divididos en bueno, regular o

malo, debiendo el usuario seleccionar el valor que él considere para la cartera de cada

uno de ellos. En el campo prioridad, deberá seleccionar alta, normal o baja, según la

prioridad que tenga la nueva cartera.

Cabe destacar que no podrán crearse en la aplicación dos carteras de proyectos

que tengan el mismo nombre en la misma empresa. Si el usuario introduce un nombre

para la cartera de proyectos que ya existe, la herramienta mostrará un mensaje de error

por pantalla.

En la Figura 53 se muestra la interfaz de creación de nuevas carteras de

proyectos.

Figura 53: Interfaz para crear una nueva cartera de proyectos.

Como puede observarse en la Figura 53, el campo fecha de creación está

rellenado por defecto y deshabilitado. Esto se debe a que la aplicación muestra el día

actual en el que estamos cuando se crea la cartera, facilitando de este modo dicha

creación al usuario en cuestión.

Page 99: TRABAJO FIN DE GRADO - RUIdeRA Principal

75

En la Figura 54 se muestra el método implementado en la capa Modelo para la

inserción en la base de datos de una nueva cartera de proyectos.

Figura 54: Método en la clase de la capa Modelo para la inserción de nuevas

carteras de proyectos en la base de datos.

Como puede observarse en la Figura 54, lo que se hace es buscar en la base de

datos la colección Carteras e insertar un nuevo documento con la información de la

nueva cartera de proyectos.

Creación de proyectos

Para este caso, y a diferencia con respecto a la creación de carteras de proyectos,

la interfaz mostrada no será la misma para el Administrador como para el Gestor de

Cartera de Proyectos.

Como comentamos en la iteración 2, crearemos proyectos en la herramienta

utilizando la librería MPXJ para extraer toda la información posible de proyectos .xml

exportados de MS-Project. No obstante, esta librería no ha sido completada (Importing

EV fields with MPXJ return null values, 2017), de modo que no es posible la lectura de

algunos campos de los proyectos de MS-Project, como por ejemplo el Valor Planificado

(PV) o la Variación del cronograma (SV). Para solventar esta limitación, se ha

desarrollado un formulario posterior a la selección del archivo .xml deseado por parte

del usuario, indicando aquí valores esenciales que nos faltarían para realizar un óptimo

seguimiento de los proyectos, y por ende, de las carteras de proyectos.

Page 100: TRABAJO FIN DE GRADO - RUIdeRA Principal

76

Teniendo en cuenta lo anteriormente comentado, la interfaz para la creación de

un nuevo proyecto, tras haber seleccionado el archivo .xml deseado, se muestra en la

Figura 55 para el rol Administrador y en la figura 56 para el rol Gestor de Cartera de

Proyectos.

Figura 55: Interfaz para crear un nuevo proyecto para el rol Administrador.

Page 101: TRABAJO FIN DE GRADO - RUIdeRA Principal

77

Figura 56: Interfaz para crear un nuevo proyecto para el rol Gestor de Cartera de

Proyectos.

La diferencia entre las dos vistas es únicamente que el rol Administrador tendrá

que indicar la cartera de proyectos en la que estará contenido el nuevo proyecto, y el rol

Gestor de Cartera de Proyectos no.

Como puede observarse en la Figura 56, el usuario tendrá la opción de elegir el

método de gestión utilizado en su proyecto. Si éste elige Tradicional, se mostrarán los

campos relacionados con la introducción de información esencial para este tipo de

gestión, como puede observarse en la Figura 57. Por el contrario, si el usuario elige

Ágil, se mostrarán los campos referentes a la introducción de información para esta

gestión de proyectos (Figura 58).

Page 102: TRABAJO FIN DE GRADO - RUIdeRA Principal

78

Figura 57: Formulario para la creación de un nuevo proyecto siguiendo

metodología tradicional.

Page 103: TRABAJO FIN DE GRADO - RUIdeRA Principal

79

Figura 58: Formulario para la creación de un nuevo proyecto siguiendo

metodología ágil.

Cabe mencionar que no podrán crearse en la misma cartera de proyectos dos

proyectos con el mismo nombre. Si el usuario intenta crear un nuevo proyecto con un

nombre que ya existe en la cartera de proyectos que contendrá a éste, la aplicación

mostrará un error.

A continuación, en la Figura 59 se muestra el diagrama de clases que interactúa

tanto para la creación de carteras de proyectos como para la creación de proyectos.

Page 104: TRABAJO FIN DE GRADO - RUIdeRA Principal

80

Figura 59: Diagrama de clases creación de carteras de proyectos y de proyectos.

A continuación, en la Figura 60, se muestra el diagrama de secuencia que

representa los pasos que debe realizar el Gestor de cartera de proyectos para crear un

nuevo proyecto en su cartera. Por simplicidad, se ha omitido la acción de autenticación

por parte del usuario.

Figura 60: Diagrama de secuencia Creación nuevo proyecto por parte del Gestor

de cartera de proyectos.

5.3.4. Iteración 5. Vistas de la herramienta para el

seguimiento de carteras.

Esta iteración es de las más importantes, ya que se han desarrollado todas las

vistas de la aplicación, así como toda la carga de la información del usuario. Este

módulo aporta bastante valor a la herramienta desarrollada, ya que, puesto que

dependiendo del rol del usuario, se puede visualizar una información u otra, cuando éste

haga login y navegue por la herramienta, ésta será capaz de cargar todas las carteras de

proyectos o todos los proyectos que el usuario dirija.

Esta funcionalidad corresponde a los roles Alta Dirección (Figura 61), Gestor de

cartera de proyectos (Figura 62) y Gestor de proyecto (Figura 63). El administrador se

Page 105: TRABAJO FIN DE GRADO - RUIdeRA Principal

81

excluye ya que no tiene poderes para visualizar ni las carteras de proyectos de la

empresa ni los proyectos contenidos en éstas.

Figura 61: Casos de uso del usuario Gestor de cartera de proyectos para Vistas de

la herramienta para el seguimiento de carteras.

Como puede apreciarse en la Figura 59, la Alta dirección puede tanto visualizar

las carteras de proyectos que tenga su empresa, como los proyectos que estén

contenidos en éstas.

Figura 62: Casos de uso del usuario Gestor de cartera de proyectos para Vistas de

la herramienta para el seguimiento de carteras.

Como se presenta en la Figura 60, el Gestor de cartera de proyectos puede tanto

visualizar las carteras de proyectos que gestione, como los proyectos que estén

contenidos en estas carteras.

Figura 63: Casos de uso del usuario Gestor de proyecto para Vistas de la

herramienta para el seguimiento de carteras.

Page 106: TRABAJO FIN DE GRADO - RUIdeRA Principal

82

Como puede observarse en la Figura 63, el Gestor de proyecto únicamente

puede visualizar los proyectos que gestione.

A modo de ejemplo se presentan diversas vistas con la información que puede

visualizar el rol correspondiente, ya que si pusiéramos todas las interfaces para todos los

roles se haría demasiado extenso el capítulo:

En la Figura 64 puede visualizarse la información que verá el rol Gestor de

proyecto que gestione varios proyectos cuando haga login.

Figura 64: Interfaz mostrada al rol Gestor de proyecto cuando haga login y

gestione más de un proyecto.

En la Figura 65 se presenta la vista que el rol Alta Dirección o Gestor de cartera

de proyectos visualizará cuando éste seleccione una cartera de proyectos.

Page 107: TRABAJO FIN DE GRADO - RUIdeRA Principal

83

Figura 65: Interfaz mostrada al rol Alta Dirección/Gestor de cartera de proyectos

cuando seleccione una de sus carteras.

En la Figura 66 se muestra la información que verá el rol Alta dirección cuando

su empresa tenga una o más carteras de proyectos.

Figura 66: Vista mostrada al rol Alta Dirección cuando su empresa tenga una o

más carteras de proyectos.

Page 108: TRABAJO FIN DE GRADO - RUIdeRA Principal

84

En la Figura 67 se presenta la vista que el rol Gestor de proyecto visualizará

cuando seleccione alguno de los proyectos siguiendo metodología tradicional

que dirige (en concreto, la pestaña de Información general).

Figura 67: Interfaz mostrada al rol Gestor de proyecto (pestaña Información

general) cuando seleccione uno de sus proyectos siguiendo metodología tradicional.

Como hemos podido apreciar en la Figura 64, Figura 65 y Figura 66, se ha hecho

uso de la metáfora del semáforo (Gimeno, 2016) a la hora de indicar los estados

individuales de la cartera de proyectos y de los proyectos. Este aporte da un gran valor

visual a la herramienta.

A continuación, en la Figura 68 se muestra el diagrama de clases que interactúa

en la visualización de las vistas de la herramienta para el seguimiento de carteras.

Page 109: TRABAJO FIN DE GRADO - RUIdeRA Principal

85

Figura 68: Diagrama de clases para la visualización de las vistas de la herramienta

para el seguimiento de carteras.

A continuación, en la Figura 69 se presenta parte del código del jsp para mostrar

cada celda de la tabla de proyectos.

Figura 69: Parte del código del jsp que muestra cada celda de la tabla de

proyectos.

Como puede observarse en la Figura 69, esta visualización de las tablas es

gracias a una combinación de html y lenguaje de marcas JSTL.

5.3.5. Iteración 6. Representación gráfica de la información

de seguimiento de carteras.

En esta iteración se ha llevado a cabo el desarrollo de mecanismos de

visualización con la finalidad de dotar a la herramienta de mayor valor visual y facilitar

de esta manera la interpretación de la información mostrada por la misma. En concreto

se han introducido distintos tipos de gráficos en función de la información que se

deseaba mostrar. Para ello, se ha utilizado la librería Amcharts.

Page 110: TRABAJO FIN DE GRADO - RUIdeRA Principal

86

En nuestro caso se han utilizado diversos gráficos según el nivel en el que se

encuentre el usuario. Estos niveles, como ya comentamos en el capítulo 2, junto con los

gráficos que se utilizan en ellos, son los siguientes:

Nivel de alta dirección. Se han desarrollado tres gráficos, los cuales indican lo

siguiente: resumen del estado general de las carteras de proyectos, resumen del

presupuesto de las carteras y resumen del número de proyectos que contiene

cada cartera.

Nivel de gestión de carteras de proyectos. Al igual que en el caso anterior, se

han implementado tres gráficos, los cuales son: resumen del estado general de

los proyectos pertenecientes a la cartera, resumen del presupuesto de los

proyectos pertenecientes a la cartera y resumen del porcentaje completado de

cada proyecto de la cartera.

Nivel de gestión de proyectos. En este nivel se ha desarrollado un gráfico, el

cual indica el porcentaje completado de cada proyecto.

A continuación, en la Figura 70 y en la Figura 71 se presenta cómo queda la

interfaz del rol Alta dirección. Como podemos observar, éste ya puede visualizar

toda la información de sus carteras de proyectos, al igual que puede crear nuevas

carteras de proyectos, dar de alta y de baja a usuarios y también puede ver su perfil.

La herramienta, tras varias iteraciones completadas, va adquiriendo cada vez más

funcionalidad.

Page 111: TRABAJO FIN DE GRADO - RUIdeRA Principal

87

Figura 70: Interfaz nivel Alta Dirección tras introducir gráficos Amcharts.

Figura 71: Interfaz nivel Alta Dirección tras introducir gráficos Amcharts.

Del mismo modo, en la figura 72 puede apreciarse cómo ve el usuario con el rol

Gestor de cartera de proyectos la herramienta, tras hacer login. En el ejemplo de la

captura, la cartera de proyectos del usuario solamente contiene un proyecto.

Page 112: TRABAJO FIN DE GRADO - RUIdeRA Principal

88

Figura 72: Interfaz nivel Gestión de carteras de proyectos tras introducir gráficos

Amcharts.

Por su parte, la vista para el rol Gestor de proyecto para el proyecto que gestiona

es como la indicada en la Figura 73.

Page 113: TRABAJO FIN DE GRADO - RUIdeRA Principal

89

Figura 73: Interfaz nivel Gestión de proyectos tras introducir gráficos Amcharts.

La construcción de estos gráficos se realiza de la siguiente forma: en el

controlador creamos el objeto JSON para enviarlo al chart, cuya construcción se

realiza en el jsp correspondiente en un script de tipo JavaScript. La recogida del

JSON en el script y la posterior construcción del chart se muestran en la Figura 74,

poniendo como ejemplo el gráfico que representa un resumen del estado de los

proyectos en el nivel de gestión de carteras de proyectos.

Page 114: TRABAJO FIN DE GRADO - RUIdeRA Principal

90

Figura 74: Construcción del chart en el jsp correspondiente.

5.3.6. Iteración 7. Cambios de estado tanto de las carteras de

proyectos, como de los proyectos.

Esta iteración comprende el desarrollo referente a la gestión de cambios de

estado de las carteras y de los proyectos por parte del usuario. Tal y como se comentó

en el capítulo 2, esta gestión de cambios de estado corresponde al rol Alta dirección, al

rol Gestor de cartera de proyectos y al rol Gestor de proyecto. Los casos de uso para

cada uno de estos roles en referencia a esta iteración, pueden observarse en la Figura 75,

Figura 76 y Figura 77.

Figura 75: Casos de uso para cambios de estado del rol Alta dirección.

Page 115: TRABAJO FIN DE GRADO - RUIdeRA Principal

91

Tal y como puede observarse en la Figura 75, la Alta dirección puede tanto

cambiar el estado general de las carteras de proyectos como de los proyectos que estén

contenidos en éstas.

Figura 76: Casos de uso para cambios de estado del rol Gestor de cartera de

proyectos.

Como puede observarse en la Figura 76, el usuario con el rol Gestor de cartera

de proyectos puede cambiar el estado general de los proyectos que estén contenidos en

su cartera, así como también puede cambiar los estados individuales (financiero, de

calendario, de alineamiento y de riesgos) de sus carteras.

Figura 77: Casos de uso para cambios de estado del rol Gestor de proyecto.

Como se presenta en la Figura 77, el Gestor de proyecto únicamente puede

cambiar los estados individuales (financiero, de calendario, de alineamiento y de

riesgos) de los proyectos que gestione.

Page 116: TRABAJO FIN DE GRADO - RUIdeRA Principal

92

Para abordar de mejor manera esta iteración, la separaremos en dos módulos:

cambio de estado general de la cartera/proyecto y cambio de estados individuales de la

cartera/proyecto.

Cambio de estado general de la cartera/proyecto

Este módulo consiste en el desarrollo de actualizar el estado general de las

carteras y/o proyectos que gestione el usuario. El estado general tanto de las carteras

como de los proyectos puede tener uno de los siguientes valores: en progreso,

terminado/a, cancelado/a. El cambio de este estado general consiste en lo siguiente:

El rol alta dirección podrá actualizar el estado general tanto de sus carteras de

proyectos, como de los proyectos contenidos en éstas; siempre y cuando la

cartera o el proyecto que desee actualizar, se encuentre en progreso.

El rol gestor de cartera de proyectos podrá actualizar el estado general de

cualquier proyecto de cualquier cartera que éste gestione, siempre y cuando el

proyecto en cuestión se encuentre en progreso.

La interfaz desarrollada que verá el usuario cuando tenga la posibilidad de cambiar

el estado general de su cartera será la que se presenta en la Figura 78.

Figura 78: Interfaz para posibilitar el cambio del estado general de la cartera de

proyectos.

Page 117: TRABAJO FIN DE GRADO - RUIdeRA Principal

93

Por su parte, la interfaz desarrollada que visualizará el usuario cuando tenga la

posibilidad de actualizar el estado general del proyecto será la mostrada en la Figura 79.

Figura 79: Interfaz para posibilitar el cambio del estado general del proyecto.

Cambio de estados individuales de la cartera/proyecto

El desarrollo de este módulo permitirá al usuario actualizar los estados

individuales de su cartera/proyecto. Los estados individuales que poseen tanto las

carteras como los proyectos son los siguientes:

Estado financiero: situación económica en la que se encuentra la cartera o

proyecto en cuestión.

Estado de calendario: situación en la que se encuentra la cartera o el proyecto

con respecto a los períodos previstos de finalización.

Estado de alineamiento: situación de la cartera o del proyecto con respecto a la

planificación estratégica empresarial.

Estado de riesgos: situación en la que se encuentra la cartera o el proyecto con

respecto a riesgos.

Los valores que pueden tomar todos estos estados pueden ser Bueno, Regular o

Malo. Por ejemplo, que el estado de alineamiento tenga valor Bueno quiere decir que

está muy bien alineado con respecto a la planificación estratégica empresarial.

Cabe destacar que para la representación de todos estos estados se hace uso de la

metáfora del semáforo del siguiente modo:

Page 118: TRABAJO FIN DE GRADO - RUIdeRA Principal

94

Valor Bueno:

Valor Regular:

Valor Malo:

El cambio de estos estados individuales consiste en lo siguiente:

El usuario con el rol Gestor de cartera de proyectos puede actualizar los estados

individuales de las carteras de proyectos que dirija, siempre y cuando éstas se

encuentren en progreso.

El usuario con el rol Gestor de proyecto puede cambiar los estados individuales

de los proyectos en los que sea el gestor, siempre que éstos se encuentren en

progreso.

La interfaz que visualiza el Gestor de cartera de proyectos cuando le sea posible

actualizar los estados individuales de sus carteras es como la mostrada en la Figura 80.

Figura 80: Interfaz para posibilitar el cambio de los estados individuales de la

cartera de proyectos.

Page 119: TRABAJO FIN DE GRADO - RUIdeRA Principal

95

Cuando el usuario seleccione Actualizar estados, se abrirá una modal, en la que

podrá cambiar todos los estados, uno, o varios. Esto aparece representado con una

captura en la Figura 81.

Figura 81: Modal para indicar los nuevos estados individuales deseados de la

cartera de proyectos.

Por su parte, la interfaz que visualiza el Gestor de proyecto cuando tenga la

posibilidad de cambiar los estados individuales de sus proyectos, es como la mostrada

en la Figura 82.

Figura 82: Interfaz para posibilitar el cambio de los estados individuales del

proyecto.

Page 120: TRABAJO FIN DE GRADO - RUIdeRA Principal

96

Del mismo modo que anteriormente, si el usuario selecciona Actualizar estados,

se abrirá una modal muy similar a la anterior en la que se podrán indicar los nuevos

estados individuales deseados para el proyecto, según se requiera.

A continuación se muestra el diagrama de secuencia que representa los pasos

que debe realizar el Gestor de proyecto para actualizar los estados individuales de su

proyecto (Figura 83). Por simplicidad, se ha omitido la acción de autenticación por

parte del usuario.

Figura 83: Diagrama de secuencia actualizar estados individuales proyecto.

A continuación, en la Figura 84 se muestra el diagrama de clases que interactúa

en la implementación de los cambios de estado tanto general como individuales para las

carteras de proyectos y para los proyectos.

Figura 84: Diagrama de clases para los cambios de estado general/individuales de

la cartera/proyecto.

En la Figura 85 se presenta el código implementado en la capa Modelo para

actualizar los estados individuales de la cartera de proyectos.

Page 121: TRABAJO FIN DE GRADO - RUIdeRA Principal

97

Figura 85: Código en la capa Modelo para el cambio de los estados individuales en

la cartera de proyectos.

5.3.7. Iteración 8. Actualización de valores de la Gestión del

Valor Ganado del proyecto.

En esta iteración se ha desarrollado la funcionalidad de poder ofrecer al usuario

con el rol Gestor de proyecto la actualización de la fecha de estado de los proyectos que

gestione, así como de los valores de la Gestión del Valor Ganado en dicha fecha de

estado.

Como hemos comentado, esta funcionalidad es propia únicamente del rol Gestor

de proyecto, como se indica en la Figura 86.

Figura 86: Casos de uso actualizar valores Gestión del Valor Ganado del proyecto.

Para que este usuario pueda llevar a cabo esta funcionalidad, se ha creado un

botón en la vista del proyecto en el apartado Gestión del Valor Ganado Tradicional

(Figura 87) o Gestión del Valor Ganado Ágil (Figura 88) (según método de gestión del

proyecto en cuestión), el cual si se selecciona, la herramienta abre una modal (Figura

89).

Page 122: TRABAJO FIN DE GRADO - RUIdeRA Principal

98

Figura 87: Botón creado para la actualización de valores para la Gestión del Valor

Ganado en proyecto siguiendo metodología tradicional.

Figura 88: Botón creado para la actualización de valores para la Gestión del Valor

Ganado en proyecto siguiendo metodología ágil.

Page 123: TRABAJO FIN DE GRADO - RUIdeRA Principal

99

Figura 89: Modal que permite la actualización de valores para la Gestión del Valor

Ganado en proyectos siguiendo metodología tradicional.

Como podemos observar en la Figura 89, la aplicación permite al usuario

actualizar estos valores mediante dos formas: Forma manual y Forma automática. Cabe

mencionar que la herramienta ofrecerá estas dos opciones de actualización de los

valores de la Gestión del Valor Ganado tanto si el proyecto sigue metodología

tradicional, como si sigue metodología ágil.

Si seleccionamos Forma manual, se desplegará un pequeño formulario en el que

el usuario tendrá que introducir los siguientes datos, todos ellos de forma obligatoria:

nueva fecha de estado deseada, Valor planificado en esta nueva fecha (PV), Valor

ganado (EV) y Coste actual (AC). Este formulario se presenta en la Figura 90.

Figura 90: Formulario que permite la actualización de valores para la Gestión del

Valor Ganado de Forma manual en proyectos que siguen metodología tradicional.

Page 124: TRABAJO FIN DE GRADO - RUIdeRA Principal

100

En cambio, si seleccionamos actualizar estos valores de Forma automática,

tendremos que seleccionar el archivo .xml del cual deseamos obtener la nueva fecha de

estado para nuestro proyecto (Figura 91).

Figura 91: Selección de actualización de valores para la Gestión del Valor Ganado

de Forma automática para proyectos siguiendo metodología tradicional.

Tras indicar el usuario el archivo deseado, se desplegará un pequeño formulario

para la introducción del nuevo Valor planificado (PV) y la nueva Variación del

cronograma (SV) en la nueva fecha de estado que se recuperará del archivo

seleccionado, ya que estos dos valores la librería MPXJ que realiza la lectura de

archivos exportados de MS-Project no es capaz de recuperar (ver apartado 5.3.3 del

presente documento, sección Creación de proyectos). Este formulario se presenta en la

Figura 92.

Page 125: TRABAJO FIN DE GRADO - RUIdeRA Principal

101

Figura 92: Formulario en selección de actualización de valores para la Gestión del

Valor Ganado de Forma automática para proyectos siguiendo metodología

tradicional.

En el caso de proyectos que siguen metodología ágil, los datos que tendrá que

introducir el usuario en el formulario si selecciona actualizar los valores de la Gestión

del Valor Ganado de forma manual son, todos ellos de forma obligatoria: nueva fecha

de estado deseada, Puntos historia planificados, Puntos historia completados, Valor

Ganado (EV) y Coste actual (AC).Este formulario se presenta en la Figura 93.

Figura 93: Formulario que permite la actualización de valores para la Gestión del

Valor Ganado de Forma manual en proyectos que siguen metodología ágil.

Page 126: TRABAJO FIN DE GRADO - RUIdeRA Principal

102

En el caso de que el usuario desee actualizar los valores de forma automática,

tras haber seleccionado el archivo deseado, se desplegará un pequeño formulario para la

introducción, de forma obligatoria, de los nuevos valores de Puntos historia planificados

y Puntos historia completados. Este formulario se presenta en la Figura 94.

Figura 94: Formulario en selección de actualización de valores para la Gestión del

Valor Ganado de Forma automática para proyectos siguiendo metodología ágil.

Tras haber actualizado los valores de la Gestión del Valor Ganado con éxito, la

herramienta nos muestra una gráfica con todas las fechas de estado registradas en el

proyecto, indicando, en el caso de que el proyecto siga metodología tradicional, el Valor

planificado (PV), Valor ganado (EV) y Costo actual (AC) en las fechas de estado en

cuestión (Figura 95). Para el caso de que el proyecto siga metodología ágil, esta gráfica

mostrará los valores de los Puntos historia planificados y los Puntos historia

completados. Esta gráfica se ha implementado gracias a la librería Amcharts comentada

en el apartado 5.3.5 del presente documento.

Page 127: TRABAJO FIN DE GRADO - RUIdeRA Principal

103

Figura 95: Gráfica de la Gestión del Valor Ganado.

5.3.8. Iteración 9. Descarga del informe con la información

del proyecto deseado.

En esta iteración se ha desarrollado poder ofrecer al usuario la descarga de un

archivo con toda la información relativa al proyecto deseado. Este archivo será un PDF,

cuyo nombre tendrá el siguiente formato:

Proyecto_nombre del proyecto a descargar.pdf

Esta funcionalidad es común a los roles Alta dirección, Gestor de cartera de

proyectos y Gestor de proyecto, como se indica en la Figura 96.

Figura 96: Casos de uso descarga de la información del proyecto.

Page 128: TRABAJO FIN DE GRADO - RUIdeRA Principal

104

Para hacer posible esta funcionalidad se ha creado un botón en la vista de

proyecto, iniciándose automáticamente la descarga de este archivo PDF si el usuario lo

selecciona. Esta vista, con la inclusión de este nuevo botón, se presenta en la Figura 97.

Figura 97: Nuevo botón para descargar la información del proyecto deseado en

formato PDF.

Del mismo modo que en las iteraciones anteriores, a continuación, en la Figura

98 se muestra el diagrama de clases que interactúa en la implementación de la descarga

de información del proyecto deseado.

Page 129: TRABAJO FIN DE GRADO - RUIdeRA Principal

105

Figura 98: Diagrama de clases de la descarga de información del proyecto deseado.

Como puede observarse en la Figura 98, en esta iteración no interactúa la capa

Modelo ya que no hace falta la utilización de la base de datos.

Para la implementación en el controlador de la descarga de la información se ha

hecho uso de la librería iText (iText, 2017). Ésta es una librería Open Source para crear

y manipular archivos PDF, RTF y HTML en JAVA.

En la Figura 99 se muestra la parte de código más relevante del controlador para

la descarga del archivo PDF.

Figura 99: Parte de código más relevante del controlador para la descarga del

archivo PDF.

Page 130: TRABAJO FIN DE GRADO - RUIdeRA Principal

106

5.3.9. Iteración 10. Envío de correo electrónico al usuario.

En esta décima iteración se ha desarrollado la funcionalidad del envío de correo

electrónico a los usuarios. Este envío de correo lo realizará la herramienta de manera

automática, lo que facilitará la comunicación y la colaboración entre los distintos roles

de la misma. Los correos electrónicos los enviará la aplicación a los usuarios cuando

ocurran hechos relevantes que deberían conocer. Como ya se presentó en el capítulo 2,

los hechos por los que la aplicación realizará estos envíos son los siguientes:

Creación y eliminación de un usuario del sistema.

Cambio de contraseña.

Creación de nueva cartera de proyectos.

Creación de nuevo proyecto.

Cambio del estado global de la cartera de proyectos.

Cambio del estado global del proyecto.

A continuación van a presentarse algunos ejemplos de correos electrónicos enviados

a usuarios.

El email que se enviará al usuario en el momento en el que se le dé de alta en la

herramienta será como el mostrado en la Figura 100.

Figura 100: Correo electrónico enviado al usuario cuando ha sido dado de alta en

la herramienta.

Por su parte, el email enviado al usuario con el rol Gestor de cartera de proyectos

en el momento en el que se cambie el estado general de alguna de las carteras de

proyectos de su empresa, será como el que se presenta en la Figura 101.

Figura 101: Correo electrónico enviado al Gestor de cartera de proyectos cuando

cambia el estado general de alguna de sus carteras.

Page 131: TRABAJO FIN DE GRADO - RUIdeRA Principal

107

El correo electrónico enviado al usuario con el rol Gestor de proyecto cuando un

gestor de cartera de proyectos le asigne un nuevo proyecto, será como el mostrado en la

Figura 102.

Figura 102: Correo electrónico enviado al Gestor de proyecto cuando se le asigne

un nuevo proyecto.

La implementación del envío de estos correos electrónicos se ha conseguido gracias

a la librería JavaMail (JavaMail, 2017). Esta librería permite el envío de correos

electrónicos directamente desde la aplicación JAVA.

En la Figura 103 se presenta el código implementado para el envío del correo

electrónico en el caso de que un usuario cambie su contraseña.

Figura 103: Código implementado para el envío del correo electrónico cuando

un usuario cambie su contraseña.

5.4. Fase de transición.

En esta última fase del ciclo de vida de OpenUP, el objetivo principal es el

entregable de una herramienta totalmente operativa, cuyas funcionalidades satisfagan

todos los requisitos extraídos en la fase de inicio junto a la documentación pertinente.

Así mismo, también se entregará un manual de usuario de la aplicación, el cual estará

disponible en el anexo del presente TFG. De este modo, se dan los primeros pasos para

la transición de la herramienta a la hora de desplegarla en un entorno real.

Page 132: TRABAJO FIN DE GRADO - RUIdeRA Principal

108

5.4.1. Iteración 11. Pruebas de integración y documentación.

En esta última iteración se han realizado pruebas de integración de toda la

aplicación y se han corregido errores detectados. Se ha creado una serie de casos

prácticos para realizar estas pruebas. En el apartado 5.4.2 de este mismo capítulo se

muestra uno de los casos prácticos completos que se ha usado para comprobar el

correcto funcionamiento de la herramienta desarrollada en el presente TFG.

Así mismo, como parte final de la iteración y del desarrollo de la aplicación, se

ha elaborado un manual de usuario, donde se describe el uso de las funcionalidades de

la herramienta desarrollada. Este documento está incluido en el presente trabajo en los

anexos.

5.4.2. Caso práctico con SPT2.

En este apartado se describe un caso práctico que se ha utilizado como prueba de

la aplicación SPT2. Para el caso práctico se ha simulado lo que podría ser un caso real,

desde la creación de un nuevo usuario por parte del administrador, hasta el seguimiento

de un proyecto por parte del Gestor de proyecto.

Para comenzar el caso práctico, supongamos una empresa llamada ESI cuya

planificación estratégica es ser en el año 2020 una de las cinco empresas líderes a nivel

nacional en el desarrollo de software. Para ello, los gerentes de la misma, tras varias

reuniones, han acordado la creación de una cartera de proyectos. Los datos para la

misma son los siguientes:

Nombre: Cartera_Proyectos_Líderes2020

Prioridad: Alta.

Presupuesto: 183.000 €.

Gestor de cartera: Manuel Ruiz.

Objetivo estratégico de la cartera: Conseguir en 2020 entrar en el top 3 del

ránking de empresas líderes a nivel nacional de desarrollo de software.

Tras ello, Pablo Ramírez, el cual pertenece a la alta dirección de la empresa y aún no

tiene acceso a la herramienta, le indica al administrador de la misma que le dé de alta en

la aplicación, proporcionándole sus datos.

A continuación, el administrador de la herramienta en la empresa ESI se dispone a

dar de alta a Pablo Ramírez (Figura 104) como usuario con el rol Alta Dirección,

indicando mediante un correo electrónico la herramienta la creación de este usuario

tanto al administrador de la misma (Figura 105) como a Pablo Ramírez (Figura 106).

Page 133: TRABAJO FIN DE GRADO - RUIdeRA Principal

109

Figura 104: Formulario para dar de alta a Pablo Ramírez.

Figura 105: Correo electrónico enviado al administrador de SPT2 informando del

nuevo alta.

Figura 106: Correo electrónico enviado a Pablo Ramírez informando que ha sido

dado de alta en la herramienta.

A continuación, Pablo Ramírez hace login en la aplicación para cerciorarse que

ha sido de alta con éxito. Lo primero que hará será cambiar su contraseña, puesto que la

que le asignó el administrador es muy poco segura. Para ello, se dirige a la sección mi

cuenta de la herramienta e indica la nueva contraseña deseada (Figura 107).

Page 134: TRABAJO FIN DE GRADO - RUIdeRA Principal

110

Figura 107: Formulario para cambiar la contraseña de Pablo Ramírez.

Tras ver en la aplicación un mensaje de éxito en el cambio de su contraseña

(Figura 108), Pablo Ramírez da de alta al que será el gestor de la nueva cartera de

proyectos que se creará en la empresa. Tras ello, se dispone a crear la nueva cartera de

proyectos, con toda la información que se acordó en la anterior reunión con los demás

gerentes de la empresa (Figura 109).

Figura 108: Mensaje informando del éxito durante el cambio de contraseña.

Page 135: TRABAJO FIN DE GRADO - RUIdeRA Principal

111

Figura 109: Formulario para la creación de la nueva cartera de proyectos.

Tras la creación de esta nueva cartera de proyectos, la herramienta envía un

correo electrónico informando de lo sucedido tanto a todos los usuarios con el rol Alta

Dirección de la empresa (Figura 110), como al propio gestor de la nueva cartera de

proyectos, Manuel Ruiz (Figura 111).

Figura 110: Correo electrónico enviado a la alta dirección tras crear una nueva

cartera de proyectos.

Page 136: TRABAJO FIN DE GRADO - RUIdeRA Principal

112

Figura 111: Correo electrónico enviado al gestor de cartera tras asignarle una

nueva cartera de proyectos.

Gracias al correo electrónico que ha recibido Manuel Ruiz, éste ha sido

informado de la nueva responsabilidad que tiene en la empresa. Para ver todos los datos

sobre la nueva cartera, Manuel hace login en la aplicación (Figura 112).

Figura 112: Vista de la cartera de proyectos que dirige el usuario Manuel Ruiz.

Después de esto y tras haber visualizado el presupuesto con el que cuenta la

cartera de proyectos y la planificación estratégica que pretende alcanzarse, Manuel Ruiz

comienza la planificación que llevará la cartera de proyectos. Tras este análisis, decide

que creará dos proyectos en su nueva cartera, siguiendo uno de ellos metodología

tradicional y otro metodología ágil (Figura 113, Figura 114 y Figura 115), de los cuales

ya tiene información en su ordenador portátil en archivos con formato .xml exportados

de MS-Project. Estos proyectos los asignará a dos compañeros con los que ya ha

trabajado y conoce, teniendo ambos el rol Gestor de proyecto: Samuel Pérez y Raquel

Santos.

Page 137: TRABAJO FIN DE GRADO - RUIdeRA Principal

113

Figura 113: Formulario para la creación de un nuevo proyecto, asignándoselo a

Samuel Pérez.

Page 138: TRABAJO FIN DE GRADO - RUIdeRA Principal

114

Figura 114: Vista de la cartera de proyectos tras la creación de los 2 nuevos

proyectos en la misma.

Figura 115: Vista de la cartera de proyectos tras la creación de los 2 nuevos

proyectos en la misma.

Page 139: TRABAJO FIN DE GRADO - RUIdeRA Principal

115

Estos dos compañeros se percatan de la asignación de estos nuevos proyectos

gracias al correo electrónico que les llega de manera automática de la herramienta. Tras

ello, ambos hacen login en la misma para ver todos los datos sobre el nuevo proyecto

que les han encomendado (Figura 116 y Figura 117).

Figura 116: Vista del proyecto asignado a Samuel Pérez (pestaña “Información

general”).

Page 140: TRABAJO FIN DE GRADO - RUIdeRA Principal

116

Figura 117: Vista del proyecto asignado a Raquel Santos (pestaña “Gestión del

valor ganado”).

Tras ver toda la información sobre el mismo, Raquel Santos decide cambiar el

estado de calendario que tiene su proyecto. Actualmente, éste tiene el estado Bueno,

pero Raquel no considera que esto sea así y lo actualiza a Regular (Figura 118).

Figura 118: Vista del proyecto asignado a Raquel Santos (pestaña “Estado del

proyecto”) tras actualizar el estado de calendario.

Tras el paso de unos días, Samuel Pérez decide actualizar la fecha de estado de

su proyecto, haciéndolo de forma automática. Tras ello, la gráfica de la Gestión del

Valor Ganado que visualiza se presenta en la Figura 119.

Page 141: TRABAJO FIN DE GRADO - RUIdeRA Principal

117

Figura 119: Gráfica de la Gestión del Valor Ganado del proyecto de Samuel Pérez.

Después de dos semanas, el gestor de la cartera de proyectos Manuel Ruiz se

percata de que el estudio de la planificación que realizó de la cartera fue errónea, y que

el presupuesto destinado al proyecto dirigido por Samuel Pérez no es correcto, lo que le

obliga a tener que cancelar el mismo (Figura 120 y Figura 121).

Figura 120: Vista de la cartera de proyectos tras cancelar el proyecto de Samuel

Pérez.

Page 142: TRABAJO FIN DE GRADO - RUIdeRA Principal

118

Figura 121: Vista de la cartera de proyectos tras cancelar el proyecto de Samuel

Pérez.

De manera automática se informa a Samuel Pérez de este hecho mediante un

correo electrónico (Figura 117).

Figura 122: Correo electrónico enviado al gestor de proyecto tras la cancelación de

su proyecto.

Durante semanas los usuarios con el rol Alta Dirección de la empresa realizan el

seguimiento de esta cartera de proyectos, estando muy satisfechos con el trabajo que

está realizando Manuel Ruiz. Tras el paso de un año, se les informa a los gerentes de la

empresa que han alcanzado de manera exitosa la planificación estratégica por la que se

creó la cartera de proyectos, y lo han hecho con anterioridad al tiempo planificado: la

empresa se encuentra entre las cinco empresas líderes a nivel nacional en el desarrollo

de software. Por ello, Pablo Ramírez actualiza el estado de la cartera de proyectos en la

herramienta a Terminada (Figura 123 y Figura 124), actualizándose por ende el estado

del único proyecto que quedaba en la cartera a este mismo nuevo estado (Figura 124).

De la actualización del estado de la cartera es informado el gestor de la misma, Manuel

Page 143: TRABAJO FIN DE GRADO - RUIdeRA Principal

119

Ruiz, mediante un correo electrónico automático enviado desde la aplicación (Figura

125).

Figura 123: Vista de la cartera de proyectos tras actualizar su estado a Terminada.

Figura 124: Vista de la cartera de proyectos tras actualizar su estado a Terminada.

Page 144: TRABAJO FIN DE GRADO - RUIdeRA Principal

120

Figura 125: Correo electrónico enviado al gestor de cartera proyecto informando

de la actualización de la misma a Terminada.

Page 145: TRABAJO FIN DE GRADO - RUIdeRA Principal

121

CAPÍTULO 6

CONCLUSIONES Y PROPUESTAS

En este capítulo se analiza la consecución o no de los objetivos principales

marcados al inicio del proyecto, tal y como se especificaron en el capítulo 2. Además, se

incluyen propuestas de trabajo futuro para mejorar la herramienta SPT2 y se proporciona

la opinión personal del autor tras la realización del presente TFG.

6.1. Análisis de los objetivos cumplidos.

El objetivo principal del presente TFG era desarrollar una herramienta para dar

soporte a una parte muy importante de la gestión de carteras de proyectos como es el

seguimiento de las mismas, así como de los proyectos contenidos en éstas. Como ya se

comentó en el capítulo 2, esta herramienta debía estar enfocada a proyectos software, ya

que nos proporcionaría información específica de la gestión de proyectos software como

es la relativa a la Gestión del Valor Ganado tanto para proyectos siguiendo metodología

tradicional como para proyectos siguiendo metodología ágil. Así mismo, esta

herramienta facilitaría el acceso y la interoperabilidad entre distintos roles.

Podemos decir que este objetivo ha sido totalmente satisfecho con el diseño e

implementación de la herramienta SPT2 que ha sido desarrollada durante el presente

TFG, tras la consecución de los objetivos parciales presentados en la Tabla 5.

Page 146: TRABAJO FIN DE GRADO - RUIdeRA Principal

122

ID Objetivo Objetivo ¿Conseguido?

Obj1 Captura de información de proyectos exportados

de MS-Project

Obj2 Representación de indicadores relevantes de las

carteras de proyectos

Obj3 Completa gestión de usuarios

Obj4 Jerarquizar la visibilidad de información mediante

niveles

Obj5 Descarga de informes de proyectos

Obj6 Correcto seguimiento de la Gestión del Valor

Ganado

Obj7 Facilitar la comunicación y colaboración de los

distintos roles

Tabla 5: Consecución de objetivos parciales propuestos para el presente TFG.

A su vez, también podemos decir que se han conseguido alcanzar con éxito

todos los objetivos docentes propuestos para el desarrollo de la herramienta (capítulo 2)

tal y como se presenta en la Tabla 6.

Page 147: TRABAJO FIN DE GRADO - RUIdeRA Principal

123

ID Objetivo Objetivo ¿Conseguido?

ObjD1

Conocer los fundamentos de la gestión de carteras

de proyectos, así como la importancia de una

correcta gestión de éstas en una organización.

ObjD2

Alcanzar un grado de conocimiento esencial sobre

la gestión de proyectos y las herramientas que dan

soporte a ello.

ObjD3 Adquirir aptitudes para el desarrollo web y

tecnologías que faciliten el mismo.

ObjD4 Aplicar conocimientos de Sistemas Gestores de

Bases de Datos.

ObjD5

Implementar y mantener herramientas, de acuerdo

a las actividades de análisis y diseño realizadas

con anterioridad.

ObjD6

Aprender a usar librerías que faciliten la

visualización de datos en desarrollo web, como

por ejemplo Amcharts.

ObjD7

Aprender a usar librerías que permitan realizar

importaciones de proyectos exportados de MS-

Project, como por ejemplo mediante la librería

MPXJ.

Tabla 6: Consecución de objetivos docentes propuestos para el presente TFG.

6.2. Propuestas futuras.

En esta sección se proponen distintas mejoras y ampliaciones de la herramienta

SPT2 a abordar en el futuro:

Ampliación y mejora del seguimiento de carteras de proyectos según la

metodología de desarrollo utilizada. Puesto que la aplicación desarrollada

muestra vistas diferentes para los proyectos según la metodología utilizada

durante el desarrollo de éstos, esta funcionalidad deberá mejorarse con la

introducción de nuevos gráficos y nuevos valores que permitan un mejor

seguimiento de las carteras de proyectos y de los proyectos contenidos en éstas.

Esto implicará introducir nuevos atributos en las colecciones de la base de datos,

motivo por el cual se ha utilizado base de datos no relacional durante el

desarrollo de la herramienta.

Mejora de la gestión de estados individuales tanto de las carteras como de

los proyectos. Actualmente, la herramienta da soporte a una serie de indicadores

de estados individuales tanto en las carteras como en los proyectos, los cuales

son: estado financiero, estado de calendario, estado de alineamiento y estado de

riegos. Éstos solo pueden tomar tres valores: bien, regular o mal. En el futuro

Page 148: TRABAJO FIN DE GRADO - RUIdeRA Principal

124

podría ampliarse esta funcionalidad desarrollando más valores para estos estados

y mejorando la gestión de los mismos, como por ejemplo indicando el por qué

un estado tiene el valor indicado, puesto que ahora mismo éstos los actualiza el

gestor basándose en sus conocimientos, sin indicar el porqué de la actualización

a la herramienta.

Internacionalización de la herramienta. La aplicación deberá dar la

posibilidad al usuario de elegir el idioma en el cual visualizará la herramienta

SPT2.

6.3. Opinión del autor.

El desarrollo de este TFG me ha permitido comprender y profundizar en algunos

conceptos estudiados durante la carrera, como son los conceptos de gestión de proyectos

o las herramientas utilizadas para ello. Además de entender la importancia que tiene

para las organizaciones una correcta gestión de carteras, pudiendo suponer si esto no es

así el fracaso en el objetivo de algo tan importante como es alcanzar la planificación

estratégica.

Por otro lado, este desarrollo me ha permitido obtener una serie de competencias

técnicas que durante la carrera no se ven en profundidad, como es el desarrollo web y el

uso de nuevas tecnologías que hasta este momento desconocía. Todo esto me ha

ayudado a comprender que, a pesar de todos los conceptos y todos los conocimientos

que nos son enseñados durante la carrera, todo lo aprendido hasta ahora solamente ha

sido la base de cara al futuro, ya que todavía me queda mucho por aprender y descubrir,

siendo éste un motivo suficiente de motivación para continuar con mi aprendizaje en el

mundo de la Informática.

Para finalizar, quiero destacar lo importante a nivel personal que es para mí la

finalización de este TFG, ya que supone poner fin a una de las etapas más importantes y

bonitas de mi vida, significando esto un punto y seguido en mi formación académica.

Mi objetivo en este momento es esforzarme día a día para seguir creciendo tanto

personal como profesionalmente.

Ciudad Real, a 21 de Noviembre de 2017

Fdo.: Roberto Jesús González-Carrato Pozo

Page 149: TRABAJO FIN DE GRADO - RUIdeRA Principal

125

CAPÍTULO 7

BIBLIOGRAFÍA

AJAX. (2017). AJAX. Available: https://www.w3schools.com/xml/ajax_intro.asp

Álvarez, M. (2014). Qué es MVC. Available: https://desarrolloweb.com/articulos/que-

es-mvc.html

Amcharts. (2017). Sitio Web Oficial de Amcharts. Available:

https://www.amcharts.com/

Antura Projects. (2017). Sitio Web Oficial de Antura Projects. Available:

http://www.antura.com/

Apache Tomcat. (2017). Sitio Web Oficial Apache Tomcat. Available:

http://tomcat.apache.org/

Balsamiq-Mockups. (2017). Sitio Web Oficial Balsamiq Mockups. Available:

https://balsamiq.com/products/mockups/

Bases de datos NoSQL. (2017). Bases de datos NoSQL: Guía definitiva. Available:

https://blog.pandorafms.org/es/bases-de-datos-nosql/

Bitbucket. (2017). Sitio Web Oficial de Bitbucket. Available: https://bitbucket.org

Blog de Gestión de Proyectos (2017). ¿Qué es el Valor Ganado o EVM? Available:

https://www.sinnaps.com/blog-gestion-proyectos/valor-ganado-evm-2

Booch, G., Rumbaugh, J., y Jacobson I. (2012). El Lenguaje Unificado de Modelado.

Guía del usuario (2ª Edición). Pearson. ISBN: 9788483222706

Bootstrap. (2017). Sitio Web Oficial de Bootstrap. Available: http://getbootstrap.com

CSS3. (2017). Sitio Web Oficial de CSS. Available:

http://www.w3schools.com/css/css3_intro.asp

Eclipse. (2017). Sitio Web Oficial Eclipse. Available: https://www.eclipse.org/ide/

F. Eclipse. Metodología OpenUP. Available: http://epf.eclipse.org/wikis/openup/

Gemio, Nicolás. (2017). Patrón MVC: Available:

https://nicolasgemio.files.wordpress.com/2016/02/mvc-introduction2.jpg?w=800

Gimeno A., S., (2016). El uso de colores en las interfaces. Available:

http://www.torresburriel.com/weblog/2016/12/02/el-uso-de-colores-en-las-interfaces/

Page 150: TRABAJO FIN DE GRADO - RUIdeRA Principal

126

HTML5. (2017). Sitio Web Oficial de HTML. Available: http://www.w3.org/TR/html5/

Importing EV fields with MPXJ return null values. (2017). Sitio Web Stack Overflow.

Available: https://stackoverflow.com/questions/24204459/importing-ev-fields-with-

mpxj-returns-null-values

iText. (2017). Sitio Web Oficial iText PDF library. Available: https://itextpdf.com/

Java. (2017). Sitio Web Oficial de Java. Available: https://http://www.java.com/es/

JavaMail. (2017). Sitio Web Oficial JavaMail. Available:

http://www.oracle.com/technetwork/java/javamail/javamail145-1904579.html

Jordan, A., (2017). The Role of the Portfolio Manager. Available:

https://www.projectmanagement.com/articles/410219/The-Role-of-the-Portfolio-

Manager

JQuery. (2017). Sitio Web Oficial de JQuery. Available: https://jquery.com

JSON. (2017). Sitio Web Oficial de JSON. Available: https://www.json.org/json-es.html

JSTL. (2017). JSP – Standard Tag Library (JSTL). Available:

https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

Larman, C., (1998). Applying UML and Patterns. Second Edition.

Lee Merkhofer Consulting (2017). Project Portfolio Management Tools.

Maven. (2017). Sitio Web Oficial Maven. Available: https://maven.apache.org/

Medellín Cabrera, E., (2016). Gestión de cartera de proyectos tecnológicos, México:

Premio Nacional de Tecnología.

Micro Focus Project and Portfolio Management. (2017). Sitio Web Oficial de Micro

Focus Project and Portfolio Management. Available:

https://software.microfocus.com/en-us/home

Microsoft Project & Portfolio Management. (2017). Sitio Web Oficial de Microsoft

Project & Portfolio Management. Available: https://www.microsoft.com/en-

us/download/details.aspx?id=41549

Microsoft Word. (2017). Sitio Web Oficial de Microsoft Word. Available:

https://products.office.com/es-es/word

MongoDB. (2017). Sitio Web Oficial MongoDB. Available:

https://www.mongodb.com/es

MPXJ. (2017). Sitio Web Oficial MPXJ library. Available: http://www.mpxj.org/

Page 151: TRABAJO FIN DE GRADO - RUIdeRA Principal

127

Neil, T., (2010). 12 Standard Screen Patterns. Available:

http://designingwebinterfaces.com/designing-web-interfaces-12-screen-patterns

Oracle’s Primavera P6 Enterprise Project Portolio Management. (2017). Sitio Web

Oficial de Oracle’s Primavera P6 Enterprise Project Portfolio Management. Available:

https://www.oracle.com/applications/primavera/index.html

PMI (2013). A Guide to the Project Management Body of Knowledge (PMBOK®

Guide). Fifth Edition. Project Management Institute (PMI).

PMI (2014). Challenges & Best Practices of Managing Government Projects &

Programs. Project Management Institute (PMI).

PMI (2015). Collaborative Project Procurement Arrangements. Project Management

Institute (PMI).

PMI (2016). Governance of Portfolios, Programs, and Projects: A Practice Guide.

Project Management Institute (PMI).

PMI (2017). A Guide to the Project Management Body of Knowledge (PMBOK®

Guide). Sixth Edition. Project Management Institute (PMI).

Project Management Institute. (2017). Agile Practice Guide. Project Management

Institute (PMI). ISBN: 978-1-62825-199-9

Reifer, D.J. (1997). The Planning Hierarchy. En software Management, 5th edition.

IEEE Computer Society, 1997, pp. 168-170.

S. A. M. González and D. A. S. Espinosa, "Definición de un Modelo de Gestión de

Proyectos Basado en PMBOK Y OpenUP para Desarrollo de Software," Grado

Maestría en Gerencia de Sistemas, ESPE, 2014.

SAP Portfolio and Project Management. (2017). Sitio Web Oficial de SAP Portfolio and

Project Management. Available: https://www.sap.com/products/project-portfolio-

management.html

Spring. (2017). Sitio Web Oficial Spring. Available: https://spring.io/

Spring Framework. (2017). Wikedia, La enciclopedia libre. Available:

https://es.wikipedia.org/wiki/Spring_Framework

Trello. (2017). Sitio Web Oficial Trello. Available: http://www.trello.com

Unanet Project ERP Software. (2017). Sitio Web Oficial de Unanet Project ERP

Software. Available: http://www.unanet.com/

UNICOM Focal Point. (2017). Sitio Web Oficial de UNICOM Focal Point. Available:

https://teamblue.unicomsi.com/products/focal-point/

Vizcaíno, A., García, F., & Piattini, M. (2014). Desarrollo Global de Software. RA-MA.

Page 152: TRABAJO FIN DE GRADO - RUIdeRA Principal

128

VP-UML. (2017). Sitio Web Oficial Visual Paradigm for UML. Available:

http://www.visual-paradigm.com

Page 153: TRABAJO FIN DE GRADO - RUIdeRA Principal

129

ANEXO A

MANUAL DE USUARIO

Durante este anexo, se presenta el manual de usuario para el manejo de la

herramienta SPT2. El manual estará dividido para los diferentes roles existentes en la

herramienta: Administrador, Alta dirección, Gestor de cartera de proyectos y Gestor de

proyecto.

1. Manual para el rol Administrador.

En primer lugar, para poder acceder a la aplicación es necesario autenticarse,

para ello basta con introducir su email y contraseña (Figura 126).

Puesto que la herramienta es de uso interno para las organizaciones, no existe la

funcionalidad de registrarse en la misma. Si alguien que no está dado de alta en ésta

desea estarlo, el usuario con el rol Administrador o Alta dirección de la organización a

la que pertenezca el usuario en cuestión deberá darlo de alta.

Figura 126: Interfaz login.

Page 154: TRABAJO FIN DE GRADO - RUIdeRA Principal

130

Una vez el administrador haya hecho login correctamente, la aplicación mostrará

la pantalla principal (Figura 127), donde pueden observarse las siguientes partes:

En la Zona A aparece una barra de navegación con el nombre de la herramienta

y con dos botones: Mi cuenta y Cerrar sesión.

En la Zona B se presenta información del usuario logueado.

La Zona C está destinada a la gestión de carteras y de proyectos.

En la Zona D se muestran dos botones para la gestión de usuarios.

Figura 127: Pantalla principal Administrador.

A continuación, van a detallarse las acciones que el Administrador puede

realizar, divididas por funcionalidad.

Visualización del perfil del usuario, cambio de contraseña y

cerrar sesión.

Estas funcionalidades son comunes a todos los roles, pudiendo todos ellos

realizarlas.

En la barra de navegación que aparece en la Zona A de la Figura 127 se presentan

tres elementos: nombre de la herramienta a modo informativo, Mi cuenta (con el fin de

que el usuario visualice su perfil, pudiendo cambiar la contraseña si así lo desea) y

Cerrar sesión. A continuación se analiza cada una de estas funcionalidades.

Page 155: TRABAJO FIN DE GRADO - RUIdeRA Principal

131

o Visualización del perfil del usuario y cambio de contraseña.

Si el usuario selecciona Mi cuenta, aparecerá una vista con todos sus datos

(Figura 128): Nombre, Apellidos, Email, Empresa y Rol del mismo. Justo debajo,

aparecerá un pequeño formulario para que el usuario, en caso de que así lo desee, pueda

modificar su contraseña. En este formulario tendrá que introducir, de forma obligatoria,

su contraseña actual y la nueva contraseña deseada por partida doble.

Figura 128: Apartado Mi cuenta.

Como puede observarse en la Figura 128, los campos Nombre, Apellidos, Email,

Empresa y Rol ya vienen rellenados por defecto con la información del usuario, estando

deshabilitados para que éste no pueda interactuar con ellos.

Cabe destacar que en el formulario para la modificación de la contraseña, si el

usuario introduce de manera errónea su contraseña actual, se mostrará un mensaje de

error por pantalla. También se mostrará este mensaje si el usuario introduce contraseñas

diferentes en el campo Nueva contraseña y en el campo Repita la nueva contraseña.

Es importante destacar que, cuando el usuario modifique su contraseña de

manera exitosa, la herramienta le enviará un correo electrónico informando de ello.

o Cerrar sesión.

Por otro lado, si el usuario selecciona Cerrar sesión, la aplicación mostrará la

pantalla para hacer login (Figura 126).

Page 156: TRABAJO FIN DE GRADO - RUIdeRA Principal

132

Gestión de carteras de proyectos y de proyectos.

El Administrador puede acceder a estas funcionalidades a través de los botones

situados en la Zona C de la Figura 127: Crear nueva cartera de proyectos y Añadir

nuevo proyecto. A continuación éstas se presentan por separado.

o Creación de carteras de proyectos.

Esta es una funcionalidad que comparten el Administrador y el usuario con el rol

Alta dirección.

Si el usuario selecciona el botón Crear nueva cartera de proyectos, aparecerá

una vista para la introducción de toda la información relacionada con esta

funcionalidad. En concreto, el usuario deberá indicar la siguiente información, de forma

obligatoria: Nombre de la cartera de proyectos, Prioridad, Presupuesto, Gestor de

cartera, Estado financiero, Estado de calendario, Estado de alineamiento, Estado de

riesgos y Objetivo estratégico de la cartera.

Los estados anteriormente mencionados estarán divididos en bueno, regular o

malo, debiendo el usuario seleccionar el valor que él considere para la cartera de cada

uno de ellos. En el campo prioridad, deberá seleccionar alta, normal o baja, según la

prioridad que tenga la nueva cartera.

Cabe destacar que no podrán crearse dos carteras de proyectos que tengan el

mismo nombre en la misma empresa. Si el usuario introduce un nombre para la cartera

de proyectos que ya exista, la herramienta mostrará un mensaje de error por pantalla.

En la Figura 129 se muestra la interfaz para la creación de nuevas carteras de

proyectos.

Page 157: TRABAJO FIN DE GRADO - RUIdeRA Principal

133

Figura 129: Interfaz para la creación de nuevas carteras de proyectos.

Como puede observarse en la Figura 129, el campo fecha de creación está

rellenado por defecto y deshabilitado. Esto se debe a que la aplicación muestra el día

actual en el que estamos cuando se crea la cartera, facilitando de este modo dicha

creación al usuario.

Cuando el usuario seleccione el botón Crear nueva cartera de proyectos tras

haber introducido toda la información del formulario de la Figura 129, se mostrará un

mensaje de éxito si se creó la nueva cartera o un mensaje de error, en caso contrario.

Cabe mencionar que, cuando se cree una cartera de proyectos de manera exitosa,

la aplicación enviará un correo electrónico de manera automática informando a todos

los usuarios involucrados en la misma sobre este hecho.

o Creación de proyectos.

Esta funcionalidad es compartida por el rol Administrador y por el rol Gestor de

cartera de proyectos.

Si el usuario selecciona el botón Añadir nuevo proyecto, la aplicación mostrará

la interfaz que se presenta en la Figura 130.

Page 158: TRABAJO FIN DE GRADO - RUIdeRA Principal

134

Figura 130: Interfaz para la creación de nuevos proyectos.

Como puede observarse en la Figura 130, el usuario debe seleccionar el archivo

del que desea importar toda su información. Cabe destacar que este archivo debe tener

extensión .xml. Tras haber seleccionado el archivo deseado, debe seleccionarse el botón

Seleccionar proyecto. Seguidamente, se mostrará un formulario para la introducción de

forma obligatoria de información adicional para el nuevo proyecto (Figura 131), la cual

es: Nombre del proyecto, Tipo de proyecto, Método de gestión utilizado, Cartera a la

que se desea que pertenezca, Gestor de proyecto, Presupuesto, Estado financiero, Estado

de calendario, Estado de alineamiento, Estado de riesgos y Objetivo estratégico del

proyecto. Si el usuario elige Método de gestión tradicional, como se presenta en la

Figura 131, se mostrarán nuevos campos relacionados con este tipo de gestión: Valor

planificado (PV) y Variación del cronograma (SV). En cambio, si el usuario selecciona

Método de gestión ágil, tendrán que introducirse los valores referentes a dos nuevos

campos: Puntos historia planificados y Puntos historia completados.

Page 159: TRABAJO FIN DE GRADO - RUIdeRA Principal

135

Figura 131: Formulario para la introducción de información adicional para el

nuevo proyecto.

Es importante destacar que la única diferencia con respecto al formulario que

debe rellenar el usuario con el rol Gestor de cartera de proyectos cuando desee crear un

nuevo proyecto en su cartera, es que éste no visualizará el campo Cartera a la que

pertenecerá el proyecto, ya que automáticamente se creará en la cartera en la que se

encuentre el usuario.

Cabe mencionar que no podrán crearse en la misma cartera de proyectos dos

proyectos con el mismo nombre. Si el usuario intenta crear un nuevo proyecto con un

nombre que ya existe en la cartera de proyectos que contendrá a éste, la aplicación

mostrará un mensaje de error. En caso contrario, mostrará un mensaje de éxito.

En el momento en que se cree un proyecto de forma exitosa en cualquier cartera

de proyectos, la aplicación enviará un correo electrónico de manera automática

informando de lo sucedido a todos los usuarios involucrados.

Page 160: TRABAJO FIN DE GRADO - RUIdeRA Principal

136

Gestión de usuarios.

Los botones para que el Administrador pueda acceder a esta funcionalidad se

presentan en la Zona D de la Figura 127: Dar de alta a un usuario y Dar de baja a un

usuario. A continuación se presentan por separado.

o Crear usuario.

Cuando el usuario seleccione el botón Dar de alta a un usuario (Figura 127), la

herramienta mostrará una vista en la que se deberá introducir, de forma obligatoria, la

siguiente información sobre el mismo: Nombre, Apellidos, Email, Contraseña y Rol del

usuario.

En el caso del campo Email debe ser un valor que no exista ya en la base de

datos, ya que éste se usa para el acceso a la herramienta. Por lo tanto, no pueden existir

en la aplicación dos usuarios con el mismo email. En caso de intentarlo, la aplicación

mostrará un mensaje de error.

Con el fin de evitar la equivocación al introducir la nueva contraseña para el

nuevo usuario, ésta se pide dos veces. Si se introduce en ambos campos la misma

contraseña, se creará el nuevo usuario; en caso contrario, se mostrará un mensaje de

error.

Figura 132: Formulario para la creación de un nuevo usuario.

Page 161: TRABAJO FIN DE GRADO - RUIdeRA Principal

137

Como puede observarse en la Figura 132, el campo Empresa ya viene rellenado

por defecto y está deshabilitado, ya que el administrador solamente podrá crear nuevos

usuarios en su empresa y no en otra.

Es importante destacar que, cuando se cree un nuevo usuario, la aplicación

enviará un correo electrónico automáticamente tanto al usuario dado de alta como al

usuario que ha llevado a cabo la acción, informando de lo sucedido.

o Eliminar usuario.

Una vez ya exista un usuario, es posible eliminarlo de la base de datos. Si el

usuario selecciona el botón Dar de baja a un usuario, la herramienta mostrará la interfaz

que se presenta en la Figura 133. En ella, el administrador solamente tendrá que buscar

al usuario que desee borrar y seleccionar el botón Eliminar usuario.

Figura 133: Interfaz para la eliminación de usuarios de la aplicación.

En caso de que la eliminación del usuario sea exitosa, la aplicación mostrará un

mensaje de éxito; en caso contrario, mostrará un mensaje de error.

Cuando se elimine un usuario de la base de datos de manera exitosa, la

herramienta enviará un correo electrónico al usuario que ha llevado a cabo la acción

informando de lo sucedido.

Page 162: TRABAJO FIN DE GRADO - RUIdeRA Principal

138

2. Manual para el rol Alta dirección.

En primer lugar, para acceder a la herramienta SPT2 es necesario que el usuario se

haya autenticado antes. Tras ello, se mostrará la pantalla principal para la vista del rol

Alta dirección (Figura 134 Y Figura 135), donde pueden observarse las siguientes

partes:

En la Zona A aparece una barra de navegación con el nombre de la herramienta

y con dos botones: Mi cuenta y Cerrar sesión.

La Zona B está dedicada a diferentes gráficos representativos de información

relevante de las carteras de proyectos que posee la empresa para la que trabaja el

usuario. La información que proporcionan estos gráficos es la siguiente: estado

de las carteras de proyectos, presupuesto de las carteras y número de proyectos

por cartera.

En la Zona C se muestran las carteras de proyectos que tiene la organización,

divididas por su estado general: en progreso, terminada o cancelada.

En la Zona D puede visualizarse un botón destinado a la creación de nuevas

carteras de proyectos en la organización.

La Zona E está dedicada para la gestión de usuarios. Si se selecciona el botón

Administrar usuarios, aparecen justo debajo dos botones para dicha gestión: Dar

de alta a un usuario y Dar de baja a un usuario.

Figura 134: Vista del rol Alta dirección tras hacer login.

Page 163: TRABAJO FIN DE GRADO - RUIdeRA Principal

139

Figura 135: Vista del rol Alta dirección tras hacer login.

A continuación, se presentan las acciones que el usuario con el rol Alta dirección

puede realizar, divididas por funcionalidad.

Visualización del perfil del usuario, cambio de contraseña y

cerrar sesión.

Esta funcionalidad está ubicada en la Zona A de la Figura 134.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Administrador

-> Visualización del perfil del usuario, cambio de contraseña y cerrar sesión).

Crear nueva cartera de proyectos.

Esta funcionalidad está situada en la Zona D de la Figura 135.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Administrador

-> Gestión de carteras de proyectos y de proyectos -> Creación de carteras de

proyectos).

Page 164: TRABAJO FIN DE GRADO - RUIdeRA Principal

140

Administrar usuarios.

Esta funcionalidad está localizada en la Zona E de la Figura 135.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Administrador

-> Gestión de carteras de proyectos y de proyectos -> Gestión de usuarios).

Visualización de carteras de proyectos y de proyectos.

A esta funcionalidad se accede desde la Zona C de la Figura 135. En esta zona se

encuentran las tablas con el listado de todas las carteras de proyectos que tiene la

empresa, divididas por su estado general, el cual puede ser en progreso, terminada o

cancelada. La información de las carteras de proyectos que presentan estas tablas es la

siguiente: Nombre de la cartera, Estado general de la cartera, Gestor de la cartera,

Prioridad, Presupuesto, Fecha de creación, Número de proyectos que contiene la cartera,

Estado financiero, Estado de calendario, Estado de alineamiento y Estado de riesgos.

Como puede apreciarse en la Figura 135, cada cartera tiene cinco estados: un

estado general y cuatro estados individuales. Estos estados individuales pueden tomar

los valores bien, mal o regular, y son los siguientes:

Estado financiero: situación económica en la que se encuentra la cartera de

proyectos.

Estado de calendario: situación en la que se encuentra la cartera con respecto a

los períodos previstos de finalización.

Estado de alineamiento: situación de la cartera de proyectos con respecto a la

planificación estratégica empresarial.

Estado de riesgos: situación en la que se encuentra la cartera o el proyecto con

respecto a riesgos.

Para acceder a visualizar toda la información de la cartera de proyectos, el usuario

debe seleccionar el botón Ver cartera de la cartera deseada, ubicado a la derecha de la

fila de cada cartera en la Zona C de la Figura 135. Tras seleccionar este botón, el

usuario visualiza la vista de la cartera de proyectos, con toda su información (Figura

136 y Figura 137).

Page 165: TRABAJO FIN DE GRADO - RUIdeRA Principal

141

Figura 136: Vista de cartera de proyectos para el usuario Alta dirección.

Figura 137: Vista de cartera de proyectos para el usuario Alta dirección.

Page 166: TRABAJO FIN DE GRADO - RUIdeRA Principal

142

Al igual que ocurre con las carteras de proyectos, los proyectos se muestran

divididos por su estado general en tablas (Figura 137). Para que el usuario Alta

dirección visualice la información de los proyectos contenidos en las carteras que la

empresa en la que trabaja tiene, solamente tiene que seleccionar el botón Ver proyecto

(Figura 137). Tras seleccionar este botón, se muestra la vista de proyecto, la cual está

dividida pestañas con el fin de organizar de forma óptima la información. Estas pestañas

son: Información general (Figura 138), Estado del proyecto (Figura 139) y Gestión del

valor ganado (Figura 140).

Figura 138: Pestaña Información general de la vista de proyecto para el usuario

Alta dirección.

Page 167: TRABAJO FIN DE GRADO - RUIdeRA Principal

143

Figura 139: Pestaña Estado del proyecto de la vista de proyecto para el usuario

Alta dirección.

Figura 140: Pestaña Gestión del valor ganado de la vista de proyecto para el

usuario Alta dirección.

Cambio del estado general de la cartera/proyecto.

Esta funcionalidad consiste en la actualización del estado general de las carteras de

proyectos y/o de los proyectos. El usuario con el rol Alta dirección podrá actualizar el

estado general tanto de sus carteras de proyectos, como de los proyectos contenidos en

éstas; siempre y cuando la cartera o el proyecto que desee actualizar, se encuentre en

progreso.

Page 168: TRABAJO FIN DE GRADO - RUIdeRA Principal

144

La interfaz que visualiza el usuario cuando tenga la posibilidad de cambiar el

estado general de su cartera de proyectos es como la mostrada en la Figura 136. Cuando

este usuario tenga la posibilidad de cambiar el estado general de un proyecto contenido

en una de sus carteras de proyectos, la interfaz que se mostrará será como la de la Figura

139.

Tras la actualización del estado general de la cartera de proyectos y/ o de los

proyectos, la aplicación enviará un correo electrónico a todos los usuarios involucrados

en la cartera o en el proyecto informando de lo sucedido. Cabe destacar que si una

cartera se actualiza al estado terminada o cancelada y ésta aún contiene proyectos que

cuyo estado general es en progreso, el estado general de estos proyectos se actualizará

automáticamente al mismo estado general al que se actualizó la cartera de proyectos a la

que pertenece.

Descargar informe del proyecto deseado.

Esta funcionalidad es común a los usuarios Alta dirección, Gestor de cartera de

proyectos y Gestor de proyecto.

Consiste en lo siguiente: el usuario tiene la posibilidad de descargar un informe

con toda la información del proyecto deseado. Este informe será un archivo PDF, cuyo

nombre tiene el siguiente formato:

Proyecto_nombre del proyecto a descargar.pdf

La vista que hace posible ofrecer al usuario la posibilidad de esta descarga es la

de proyecto, es decir, la mostrada en la Figura 138, 139 y 140. Si el usuario selecciona

el botón Descargar información del proyecto, la descarga se iniciará automáticamente.

3. Manual para el rol Gestor de cartera de proyectos.

En primer lugar, para acceder a la aplicación es necesario que el usuario se haya

autenticado con anterioridad. Tras ello, se mostrará la pantalla principal para la vista del

rol Gestor de cartera de proyectos. Esta vista puede variar, dependiendo de si el usuario

en cuestión gestiona una cartera de proyectos o más de una.

En la Figura 141 se presenta la vista para el rol Gestor de cartera de proyectos

cuando el usuario gestiona varias carteras de proyectos.

Page 169: TRABAJO FIN DE GRADO - RUIdeRA Principal

145

Figura 141: Vista rol Gestor de cartera de proyectos tras hacer login gestionando

varias carteras.

Por su parte, en la Figura 142 y en la Figura 143 se muestra la vista para este rol

cuando gestiona únicamente una cartera de proyectos.

Figura 142: Vista cartera del rol Gestor de cartera de proyectos

Page 170: TRABAJO FIN DE GRADO - RUIdeRA Principal

146

Figura 143: Vista cartera del rol Gestor de cartera de proyectos.

Tal y como se observa en las Figuras 141, 142 y 143, en la vista del Gestor de

cartera de proyectos se observan diferentes partes:

En la Zona A aparece una barra de navegación con el nombre de la herramienta

y con dos botones: Mi cuenta y Cerrar Sesión.

La Zona B está dedicada a representación de la información, tanto visualmente

mediante gráficos como mediante texto. La información que se proporciona

mediante texto es la siguiente: nombre de la cartera de proyectos, gestor de la

misma y estado general de ésta. La información que se proporciona mediante

gráficos es la siguiente: estado de los proyectos, presupuesto de los proyectos y

porcentaje completado de cada proyecto.

En la Zona C se muestra, al igual que anteriormente, información sobre la

cartera de proyectos mediante texto, la cual es: objetivo estratégico de la cartera

de proyectos, presupuesto de la misma y fecha de creación.

La Zona D está dedicada a la visualización de los estados individuales de la

cartera de proyectos, siendo éstos: estado financiero, estado de calendario,

estado de alineamiento y estado de riesgos. Así mismo, se observa un botón, el

cual se utiliza para actualizar los estados individuales de la cartera de proyectos.

En la Zona E se muestra el botón reservado para la creación de nuevos proyectos

en la cartera de proyectos.

La Zona F está destinada a la visualización de los proyectos que contiene la

cartera, divididos éstos por el estado general en el que se encuentren, pudiendo

ser en progreso, terminado o cancelado.

En la Zona G puede observarse el listado de carteras de proyectos que gestiona

el usuario, pudiendo seleccionar éste la que desee en el botón Ver cartera. Tras

Page 171: TRABAJO FIN DE GRADO - RUIdeRA Principal

147

la selección de este botón, la aplicación mostrará toda la información de la

cartera en cuestión, siendo esta vista como la de la Figura 142 y la Figura 143.

A continuación, se presentan las acciones que el usuario con el rol Gestor de cartera

de proyectos puede realizar, divididas por funcionalidad.

Visualización del perfil del usuario, cambio de contraseña y

cerrar sesión.

Esta funcionalidad está ubicada en la Zona A tanto de la Figura 141 como de la

Figura 142.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Administrador

-> Visualización del perfil del usuario, cambio de contraseña y cerrar sesión).

Crear nuevo proyecto.

Esta funcionalidad está situada en la Zona E de la Figura 143.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Administrador

-> Gestión de carteras de proyectos y de proyectos -> Creación de proyectos).

Visualización de los proyectos.

Esta funcionalidad consiste en la visualización de los proyectos contenidos en las

carteras de proyectos que gestiona el usuario. Como podemos observar en la Zona F de

la Figura 143, los proyectos contenidos en la cartera se muestran organizados según el

estado general en el que se encuentran. Para que el usuario con el rol Gestor de cartera

de proyectos visualice la información del proyecto que desee, solamente tiene que

seleccionar el botón Ver proyecto (Figura 143). Tras seleccionar este botón, se muestra

la vista de proyecto, la cual está dividida en pestañas con el fin de organizar de forma

óptima la información. Estas pestañas son: Información general (Figura 138), Estado

del proyecto (Figura 139) y Gestión del valor ganado tradicional (Figura 140) o

Gestión del valor ganado ágil (según metodología de gestión del proyecto en cuestión).

Page 172: TRABAJO FIN DE GRADO - RUIdeRA Principal

148

Cambio del estado general de los proyectos contenidos en la

cartera.

Esta funcionalidad es compartida con el usuario con el rol Alta dirección.

Consiste en la actualización del estado general de los proyectos contenidos en las

carteras que gestione el usuario. Esta actualización puede llevarse a cabo siempre y

cuando el proyecto en cuestión se encuentre en progreso.

La interfaz que visualiza el usuario cuando tenga la posibilidad de cambiar el estado

general de cualquier proyecto contenido en una de sus carteras será como la mostrada en

la Figura 139.

Tras la actualización del estado general del proyecto, la aplicación enviará un correo

electrónico a todos los usuarios involucrados en el mismo informando de este hecho.

Cambio de los estados individuales de la cartera de

proyectos.

Esta funcionalidad consiste en ofrecer al usuario la posibilidad de actualizar los

estados individuales de la cartera de proyectos que gestione. Estos estados individuales

son los siguientes:

Estado financiero: situación económica en la que se encuentra la cartera o

proyecto en cuestión.

Estado de calendario: situación en la que se encuentra la cartera o el proyecto

con respecto a los períodos previstos de finalización.

Estado de alineamiento: situación de la cartera o del proyecto con respecto a la

planificación estratégica empresarial.

Estado de riesgos: situación en la que se encuentra la cartera o el proyecto con

respecto a riesgos.

Los valores que pueden tomar todos estos estados pueden ser Bueno, Regular o

Malo. Por ejemplo, que el estado de alineamiento tenga valor Bueno quiere decir que

está muy bien alineado con respecto a la planificación estratégica empresarial.

Page 173: TRABAJO FIN DE GRADO - RUIdeRA Principal

149

Cabe destacar que para la representación de todos estos estados se hace uso de la

metáfora del semáforo del siguiente modo:

Valor Bueno:

Valor Regular:

Valor Malo:

El cambio de estos estados individuales consiste en lo siguiente: el usuario con el rol

Gestor de cartera de proyectos tiene la posibilidad de actualizar estos estados de las

carteras que dirija, siempre y cuando éstas se encuentren en progreso.

La interfaz que visualiza el Gestor de cartera de proyectos cuando le sea posible

actualizar los estados individuales de sus carteras es como la mostrada en la Figura 143.

Cuando el usuario seleccione Actualizar estados, se abrirá una vista, en la que podrá

cambiar todos los estados, uno, o varios. Esto aparece representado con una captura en

la Figura 144.

Figura 144: Vista para actualizar estados individuales de la cartera de proyectos.

Si la actualización de los estados se lleva a cabo de manera exitosa, la herramienta

mostrará un mensaje de éxito; en caso contrario, mostrará un mensaje de error.

Page 174: TRABAJO FIN DE GRADO - RUIdeRA Principal

150

Descargar informe del proyecto deseado.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Alta Dirección

-> Descargar informe del proyecto deseado).

4. Manual para el rol Gestor de proyecto.

En primer lugar, para acceder a la herramienta es necesario que el usuario se haya

autenticado con anterioridad. Tras ello, se mostrará la pantalla principal para la vista del

rol Gestor de proyecto. Esta vista puede variar, dependiendo de si el usuario en cuestión

gestiona un proyecto o más de uno.

En la Figura 145 se presenta la vista para el rol Gestor de proyecto cuando el

usuario gestiona varios proyectos.

Figura 145: Vista rol Gestor de proyecto tras hacer login gestionando varios

proyectos.

Page 175: TRABAJO FIN DE GRADO - RUIdeRA Principal

151

En las Figuras 146, 147 y 148 se presenta la vista para este rol cuando el usuario

gestiona únicamente un proyecto. Es importante destacar que esta vista está dividida en

pestañas con el fin de organizar de forma óptima la información. Estas pestañas son:

Información general (Figura 146), Estado del proyecto (Figura 147) y Gestión del valor

ganado tradicional (Figura 148) o Gestión del valor ganado ágil (según metodología de

gestión del proyecto en cuestión).

Figura 146: Vista proyecto para el rol Gestor de proyecto.

Page 176: TRABAJO FIN DE GRADO - RUIdeRA Principal

152

Figura 147: Vista proyecto para el rol Gestor de proyecto.

Figura 148: Vista proyecto para el rol Gestor de proyecto.

Page 177: TRABAJO FIN DE GRADO - RUIdeRA Principal

153

Tal y como se observa en las Figuras 145, 146, 147 Y 148, en la vista del

Gestor de proyecto se observan diferentes partes:

En la Zona A aparece una barra de navegación con el nombre de la herramienta

y con dos botones: Mi cuenta y Cerrar Sesión.

La Zona B está reservada para la representación de la información general del

proyecto, tanto textualmente como en forma de gráfico. La información

representada en forma de texto es la siguiente: nombre del proyecto, gestor del

mismo, cartera de proyectos a la que pertenece, objetivo estratégico del

proyecto, tipo de éste, fecha de inicio, fecha de fin prevista y presupuesto del

proyecto. La información mostrada con un gráfico se refiere al porcentaje

completado del proyecto.

En la Zona C puede visualizarse la información relativa a los estados del

proyecto, tanto al estado general en que se encuentra el mismo como a los

estados individuales (financiero, de calendario, de alineamiento y de riesgos).

En la Zona D se observa un botón, el cual permite al usuario actualizar los

estados individuales del proyecto.

La Zona E está reservada para la representación en forma de texto de la

información de la Gestión del Valor Ganado. Esta información es la siguiente:

Valor planificado (PV), Valor ganado (EV), Costo real (AC), Variación de

costos (CV), Variación del cronograma (SV), CPI, SPI y una recomendación,

basándose la herramienta en todos estos valores comentados anteriormente.

En la Zona F se encuentra un botón, el cual nos permite al usuario actualizar los

valores de la Gestión del Valor Ganado.

La Zona G está dedicada a la representación visual de la Gestión del Valor

Ganado mediante un gráfico.

La Zona H está reservada para visualización del listado de proyectos que

gestiona el usuario, divididos por el estado general en el que se encuentren éstos.

A continuación, se presentan las acciones que el usuario con el rol Gestor de

proyecto puede realizar, divididas por funcionalidad.

Visualización del perfil del usuario, cambio de contraseña y

cerrar sesión.

Esta funcionalidad está ubicada en la Zona A de las Figuras 145, 146, 147 y 148.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Administrador

-> Visualización del perfil del usuario, cambio de contraseña y cerrar sesión).

Page 178: TRABAJO FIN DE GRADO - RUIdeRA Principal

154

Cambio de los estados individuales del proyecto.

Esta funcionalidad consiste en ofrecer al usuario la posibilidad de actualizar los

estados individuales de los proyectos que gestione. Estos estados individuales son los

siguientes:

Estado financiero: situación económica en la que se encuentra la cartera o

proyecto en cuestión.

Estado de calendario: situación en la que se encuentra la cartera o el proyecto

con respecto a los períodos previstos de finalización.

Estado de alineamiento: situación de la cartera o del proyecto con respecto a la

planificación estratégica empresarial.

Estado de riesgos: situación en la que se encuentra la cartera o el proyecto con

respecto a riesgos.

Los valores que pueden tomar todos estos estados pueden ser Bueno, Regular o

Malo. Por ejemplo, que el estado de alineamiento tenga valor Bueno quiere decir que

está muy bien alineado con respecto a la planificación estratégica empresarial.

Cabe destacar que para la representación de todos estos estados se hace uso de la

metáfora del semáforo del siguiente modo:

Valor Bueno:

Valor Regular:

Valor Malo:

El cambio de estos estados individuales consiste en lo siguiente: el usuario con el rol

Gestor de proyecto tiene la posibilidad de actualizar estos estados de los proyectos que

dirija, siempre y cuando éstos se encuentren en progreso.

La interfaz que visualiza el Gestor de proyecto cuando le sea posible actualizar los

estados individuales de sus proyectos es como la mostrada en la Figura 147.

Cuando el usuario seleccione Actualizar estados, se abrirá una interfaz, en la que

podrá cambiar todos los estados, uno, o varios. Esto aparece representado con una

captura en la Figura 149.

Page 179: TRABAJO FIN DE GRADO - RUIdeRA Principal

155

Figura 149: Interfaz para la actualización de los estados individuales del proyecto.

Si la actualización de los estados se lleva a cabo de manera exitosa, la herramienta

mostrará un mensaje de éxito; en caso contrario, mostrará un mensaje de error.

Actualización de valores de la Gestión del Valor Ganado.

Esta funcionalidad consiste en la posibilidad que tiene el usuario de actualizar la

fecha de estado relativa a la Gestión del Valor Ganado de su proyecto, ya sea

gestionado de manera tradicional o ágil, así como los indicadores relativos a esta

Gestión. Para llevar a cabo esta acción, el usuario con el rol Gestor de proyecto

selecciona el botón Actualizar valores que se presenta en la Figura 148. Tras la

selección de éste, nos aparece una vista como la mostrada en la Figura 150.

Page 180: TRABAJO FIN DE GRADO - RUIdeRA Principal

156

Figura 150: Vista para actualizar los valores de Gestión del valor ganado del

proyecto.

Como puede observarse en la Figura 150, la aplicación permite al usuario

actualizar estos valores mediante dos formas: Forma manual y Forma automática. La

herramienta ofrece estas dos opciones de actualización de los valores de la Gestión del

Valor Ganado tanto si el proyecto sigue metodología tradicional, como si sigue

metodología ágil.

Si se selecciona Forma manual, se desplegará un pequeño formulario en el que el

usuario tendrá que introducir los siguientes datos, todos ellos de forma obligatoria:

nueva fecha de estado deseada, Valor planificado en esta nueva fecha (PV), Valor

ganado (EV) y Costo actual (AC). Este formulario se presenta en la Figura 151.

Figura 151: Formulario para actualizar los valores de Gestión del valor ganado del

proyecto tras seleccionar Forma manual.

Page 181: TRABAJO FIN DE GRADO - RUIdeRA Principal

157

En cambio, si el usuario selecciona actualizar estos valores de Forma

automática, éste tendrá que seleccionar el archivo .xml del cual desea obtener la nueva

fecha de estado para el proyecto en cuestión (Figura 152).

Figura 152: Vista para actualizar los valores de Gestión del valor ganado del

proyecto tras seleccionar Forma automática.

Tras indicar el usuario el archivo deseado, se desplegará un pequeño formulario

para la introducción del nuevo Valor planificado (PV) y la nueva Variación del

cronograma (SV) en la nueva fecha de estado que se recuperará del archivo

seleccionado. Este formulario se presenta en la Figura 153.

Figura 153: Formulario para actualizar los valores de Gestión del valor ganado del

proyecto siguiendo metodología tradicional tras haber seleccionado Forma

automática y tras seleccionar el proyecto deseado.

Page 182: TRABAJO FIN DE GRADO - RUIdeRA Principal

158

En el caso de proyectos que siguen metodología ágil, los datos que tendrá que

introducir el usuario en el formulario si selecciona actualizar los valores de la Gestión

del Valor Ganado de forma manual son los que se muestran en la Figura 154.

Figura 154: Vista para actualizar los valores de Gestión del valor ganado del

proyecto siguiendo metodología ágil tras haber seleccionado Forma manual.

En el caso de desear actualizar los valores de forma automática, tras haber

seleccionado el archivo deseado, se desplegará un pequeño formulario para la

introducción de la información mostrada en la Figura 155.

Figura 155: Vista para actualizar los valores de Gestión del valor ganado del

proyecto siguiendo metodología ágil tras haber seleccionado Forma automática y

tras seleccionar el proyecto deseado.

Page 183: TRABAJO FIN DE GRADO - RUIdeRA Principal

159

Tras haber actualizado los valores de la Gestión del Valor Ganado de forma

exitosa, la herramienta muestra una gráfica con todas las fechas de estado registradas en

el proyecto. Para el caso en el que el proyecto siga metodología tradicional, la gráfica

indicará el Valor planificado (PV), Valor ganado (EV) y Costo actual (AC) en las

fechas de estado en cuestión (Figura 156). Para el caso en el que siga metodología ágil,

la gráfica mostrará los valores de los Puntos historia planificados y los Puntos historia

completados.

Figura 156: Gráfica de la Gestión del valor ganado.

Descargar informe del proyecto deseado.

(Véase el apartado ubicado en este mismo anexo Manual para el rol Alta Dirección

-> Descargar informe del proyecto deseado).

Page 184: TRABAJO FIN DE GRADO - RUIdeRA Principal

160

Page 185: TRABAJO FIN DE GRADO - RUIdeRA Principal

161

ANEXO B

ACRÓNIMOS

TFG. Trabajo Fin de Grado.

SPT2. Software Portfolios Tracking Tool.

MS-Project. Microsoft Project.

EVM. Earned Value Management.

ERP. Enterprise Resource Planning.

EPPM. Enterprise Project Portfolio Management.

UML. Unified Modeling Language.

IDE. Integrated Development Environment.

OpenUP. Open Unified Process.

JDT. Java Development Toolkit.

MVC. Modelo – Vista – Controlador.

MVC. Model – View – Controller.

POM. Project Object Model.

HTML. HyperText Markup Language.

EPPM. Enterprise Project Portfolio Management.

XML. eXtensible Markup Language.

CSS. Cascading Style Sheets.

W3C. World Wide Web Consortium.

JSON. JavaScript Object Notation.

J2EE. Java 2 Enterprise Edition.

JSP. JavaServer Pages.

AJAX. Asynchronous JavaScript And XML.

JSTL. JavaServer Pages Standard Tag Library.

Page 186: TRABAJO FIN DE GRADO - RUIdeRA Principal

162

PV. Planned Value.

PV. Valor Planificado.

EV. Earned Value.

EV. Valor Ganado.

AC. Actual Cost.

AC. Costo Actual.

SV. Schedule Variance.

SV. Variación del cronograma.

CV. Cost Variance.

CV. Variación de costos.

CPI. Cost Performance Index.

CPI. Índice del Rendimiento del Coste.

SPI. Schedule Performance Index.

SPI. Índice del Rendimiento del Cronograma.

TCPI. To Complete Performance Index.

TCPI. Índice de Desempeño para Completar.

PDF. Portable Document Format.