PROYECTO ES:E - PARTE II IPMS - VISIÓN DEL SISTEMA Enginyeria del Software : Especificació Llenguatges i Sistemes Informàtics Cuatrimestre Otoño 03/04 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 CONTENIDO 1 2 Introduccción ........................................................................................................................................... 5 1.1 Propósito ............................................................................................................................................................................ 5 1.2 Definiciones, Acrónimos, y Abreviaciones ..................................................................................................................... 5 1.3 Referencias ........................................................................................................................................................................ 5 1.4 Organización del documento ........................................................................................................................................... 5 Posicionamiento ....................................................................................................................................... 6 2.1 Oportunidad de Negocio .................................................................................................................................................. 6 2.2 Definición del Problema ................................................................................................................................................... 7 2.3 Posicionamiento del Producto .......................................................................................................................................... 8 3 Descripción de usuarios ........................................................................................................................... 9 4 Perspectiva del Producto ........................................................................................................................ 11 5 Características del Producto .................................................................................................................. 12 5.1 Autentificación de usuarios ............................................................................................................................................ 12 5.2 Alta de Proyectos a partir de Procesos .......................................................................................................................... 12 5.3 Cierre de un Proyecto .......................................................................................................... Error! Bookmark not defined. 5.4 Definición Visual de Proyectos mediante Diagramas de Gantt ................................................................................... 12 5.5 Acceso a la documentación de Actividades desde las Tareas ........................................... Error! Bookmark not defined. 5.6 Definición de Procesos mediante diagramas UML de actividad ................................................................................. 12 5.7 Repositorio de Guías de trabajo .................................................................................................................................... 12 5.8 Repositorio de Plantillas ................................................................................................................................................. 13 5.9 Propagación automática de cambios en la planificación ............................................................................................. 12 5.10 Gestión asignaciones de recursos humanos disponibles ............................................................................................... 12 5.11 Gestión de múltiples asignaciones ...................................................................................... Error! Bookmark not defined. 5.12 Generación e impresión de informes de seguimiento ................................................................................................... 14 5.13 Notificación automática de asignación .......................................................................................................................... 13 5.14 Aviso de fecha de inicio de tarea ......................................................................................... Error! Bookmark not defined. 5.15 Aviso de fecha fin de tarea para reporte de horas ............................................................. Error! Bookmark not defined. 5.16 Aviso de fecha fin de tarea no completada ......................................................................... Error! Bookmark not defined. 5.17 Aviso de fecha fin de proyecto completado ........................................................................ Error! Bookmark not defined. 5.18 Aviso de fecha fin de proyecto y tareas no completadas .................................................. Error! Bookmark not defined. 5.19 Aviso de tarea completada .................................................................................................. Error! Bookmark not defined. 5.20 Aviso de proyecto completado ............................................................................................ Error! Bookmark not defined. 5.21 Reporte del progreso realizado ...................................................................................................................................... 14 5.22 Consulta del historial de proyectos ................................................................................................................................ 14 5.23 Consulta del estado pasado del proyecto....................................................................................................................... 14 5.24 Gestión de los roles de los recursos ................................................................................................................................ 14 5.25 Generación de la historia de proyectos de un recurso ...................................................... Error! Bookmark not defined. 3 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 6 OTROS REQUISITOS ................................................................................ Error! Bookmark not defined. 6.1 Estandares ....................................................................................................................................................................... 15 6.2 Rendimiento y Fiabilidad ............................................................................................................................................... 15 6.3 Requisitos Sistema .......................................................................................................................................................... 15 4 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 1 INTRODUCCCIÓN 1.1 Propósito El propósito de este documento es recoger, analizar y definir las necesidades y características de IPMS (Integrated Project Management System). El documento se centra en las capacidades del sistema que necesitan los potenciales usuarios y las partes interesadas (stakeholders) del proyecto, y el por qué estas necesidades existen. Los detalles de cómo IPMS cubrirá dichas necesidades se detallarán en el modelo de casos de uso y en las especificaciones suplementarias. 1.2 Definiciones, Acrónimos, y Abreviaciones IPMS : Integrated Project Management System PRJS: Project Management Subsystem PRCS: Process Management Subsystem Para más términos ver IPMS-Glosario.doc 1.3 Referencias 1.4 Modelado Conceptual.doc Organización del documento En primer lugar se describe la oportunidad de negocio y posicionamiento del producto. A continuación se recoge una lista de usuarios característicos del sistema. Para cada usuario se proporciona una descripción que define al usuario y una lista de intereses con respecto al sistema a construir. La siguiente sección muestra y describe las características funcionales del sistema que resumen las capacidades del sistema. Estas características funcionales constituyen los requisitos del sistema. El último apartado describe otros requisitos no funcionales. 5 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 2 POSICIONAMIENTO 2.1 Oportunidad de Negocio Actualmente las compañías cuyo negocio se basa en la realización de proyectos (ingenierías, consultoras, empresas de servicios en general) no disponen de sistemas software para gestionar la planificación de los proyectos y la asignación de recursos de una forma global e integrada. Existen sistemas disjuntos para planificar proyectos, para calcular la facturación, reportar horas o gestionar los recursos y asignaciones, pero no existe ningún sistema en el mercado que agrupe todas esas funciones. Algunas compañías disponen de sistemas para la definición visual de proyectos, pero estos sistemas no permiten la gestión de recursos, con lo que las asignaciones se terminan haciendo manualmente y es difícil controlar que recursos estás disponibles. Las herramientas que sirven para definir proyectos no tienen en cuenta el proceso del que provienen lo cual provoca que, o bien que se creen planes que no siguen ninguna metodología (proceso) específica, o bien, si es que se sigue una metodología especifica, haya quee definir manualmente las tareas que provienen del proceso. En este ultimo caso desde la definición de la tarea es difcil acceder a la descripción de la actividad que la define. El desarrollo de un sistema software que integrase la definición visual del proyecto a partir de las definiciones de proceso y la gestión de los recursos humanos en base a sus roles y disponibilidades permitiría cubrir un nicho de mercado que esta sin explotar y que tendría un alto volumen de ventas, ya que supondría una ventaja competitiva para las empresas de servicios que lo adoptasen. Un sistema de este tipo permitiría optimizar la gestión de los proyectos, procesos y los recursos humanos de una empresa de servicios. 6 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 2.2 Definición del Problema El problema de Gestionar Recursos integradamente Procesos, Proyectos y Afecta A las empresas de servicios que trabajan en base a proyectos. el impacto es Falta de coordinación y control en las asignaciones de recursos a Tareas. No se usan metodologías (procesos) para la realización de proyectos. Los resultados de los proyectos no son siempre repetibles. Los procesos no están documentados de una forma estandard. Los proyectos no tiene documentado como realzar sus tareas, No hay control sobre el estado del proyecto en tiempo real y de forma automática.. No hay control sobre el desarrollo temporal del proyecto vs. el planificado. La planificación no esta al día con lo que ocurre en el desarrollo del proyecto No se pueden analizar resultados y establecer métricas de los proyectos /procesos que ayuden a mejorar su realización Una solución satisfactoria sería La creación de un sistema software que: Permita definir proyectos a partir de procesos Estandarice la definición de proyectos (las tareas del proyecto se derivan del proceso). Permita asignar de recursos a partir de los roles que son capaces de desempeñar y su disponibilidad Mantuviese la historia de realización de los proyectos. Monitorice el desarrollo temporal del proyecto en base a las tareas que se van completando y mantenga sincronizado el desarrollo real del proyecto respecto del planificado. Permita obtener métricas acerca del desarrollo del proyecto y comparativas con otros proyectos. 7 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 2.3 Posicionamiento del Producto Para Empresas de proyectos. servicios que trabajan realizando Que Necesitan automatizar de una forma integrada la gestión de sus proyectos, procesos y recursos. IPMS Es un sistema para la gestión integrada de Procesos, Proyectos y Recursos. Que Permite gestionar de un modo único la planificación, definiciones de procesos, asignación de recursos y control del estado del proyecto a pesar de Que existen herramientas software en el mercado para la definición de planes de trabajo, la gestión de recursos y definición de procesos. nuestro producto Engloba todas ellas y provee toda su funcionalidad en un solo sistema. 8 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 3 DESCRIPCIÓN DE USUARIOS A continuación se describen los usuarios que pueden llegar a usar el sistema. Para cada usuario se proporciona una descripción breve y la lista de intereses con respecto al sistema IPMS Nombre Descripción Intereses Executive Manager Representa a una persona que se encarga de gestionar un conjunto de proyectos de la compañía. Es un manager de Project Managers. Es el responsable de un conjunto de proyectos. Revisar el estado de los proyectos generando informes de seguimiento. Ver planes de trabajo y su historia de progreso Comparar proyectos entre si (recursos asignados, fechas, progresos...). Recibir notificaciones en tiempo real que indiquen el inicio/ fin de proyectos. Recibir notificaciones en tiempo real que indiquen el estado de progreso del proyecto Project Manager Representa una persona que se encarga de gestionar un proyecto. Realiza y controla la planificación de un proyecto. Es el responsable de un proyecto en particular. Dar de alta proyectos en el sistema a partir de las definiciones de procesos. Cerrar proyectos (llega su fecha de fin o bien se cancelan). Planificar las tareas definiendo, su tipo, fecha inicio, duración... (ver Modelado Conceptual). Asignar recursos humanos a las tareas a partir de los roles y disponibilidad de los mismos. Revisar el estado de los proyectos generando informes de seguimiento. Ver planes de trabajo y su historia de progreso Comparar proyectos entre si (recursos asignados, fechas, progresos...). Recibir notificaciones acerca del estado de progreso de las tareas y poder re-planificar en consecuencia. Recibir notificaciones acerca del inicio y fin de un proyecto. 9 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 Resource Representa a cualquier persona que trabaja en la compañía y que asume roles en de los procesos. Un recurso puede estar participando en un proyecto o no. Cuando participa en un proyecto esta asignado a una o varias tareas según sus roles y diponiblidad Un recurso representa tanto a un Executive Manager, como a un Project Manager, como a cualquier otro participante de un proyecto. Process Engineer Representa a la persona que se encarga de definir y mantener las definiciones de procesos Es el responsable de definir plantillas para proyectos. Administrator Representa a la persona que se encarga de administrar el sistema. Mantener la lista de Roles que puede desempeñar Consultar el CV de proyectos y asignaciones realizada Reportar electrónicamente el porcentaje completado de las tareas. Recibir notificaciones de las asignaciones realizadas por un Project Manager. Recibir notificaciones acerca del inicio/fin de las tareas en las que esta asignado. Definir Procesos: Flujos de Actividad Actividades Roles Artefactos Guías de trabajo. Plantillas para artefactos. Gestionar alta, baja y modificación de usuarios, perfiles y permisos. Parametrizar el sistema Monitorizar el estado del sistema. Acceder y Revisar los logs y trazas del sistema. 10 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 4 PERSPECTIVA DEL PRODUCTO En la Figura 1 Perspectiva del Sistema” se muestra el sistema IPMS, sus componentes y usuarios. IPMS es una herramienta software que permite automatizar la colaboración de personas en el desarrollo de proyectos. El sistema esta formado por dos subsistemas: Process Management Subsystem (PRCS): Sistema que permite definir visualmente procesos mediante diagramas de actividad UML. Almacena las definiciones de procesos que sirven de plantilla para la creación de proyectos. Este sistema es el reponsable de guardar las definiciones de actividades (describe los pasos y guías para relaizarlas) y los artefactos relacionados (con guías de uso y plantillas asociadas cuando aplique). Un proceso puede estar organizado en varios flujos de trabajo. PRCS tendrá un flujo de trabajo principal o plantilla de un proyecto que ligará las diferentes actividades del proceso para llevar a cabo un proyecto. Este flujo de trabajo principal es el que permite definir proyectos a partir de procesos. Project Management Subsystem (PRJS): Sistema que permite la definición visual de proyectos a partir de las definiciones de procesos (plantillas de proyecto) almacenadas en PRCS. Controla las asignaciones de recursos humanos en base al currículo y roles que un recurso puede desempeñar y disponibilidad del mismo.. Permite generar e imprimir de informes de seguimiento acerca del estado del proyecto. Permite automatizar la colaboración en tiempo real entre participantes del proyecto a través de notificaciones electrónicas acerca del progreso temporal, porcentajes completado y asignaciones de recursos realizadas en el proyecto. Executive Manager Project Management System Process Management System Process Engineer Project Manager IPMS Resource Printer Administrator Figura 1 Perspectiva del Sistema 11 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 5 5.1 CARACTERÍSTICAS DEL PRODUCTO Autentificación de usuarios Para acceder al sistema cada usuario se identifica mediante username y password 5.2 Estandarización de Proyectos: Creación de proyectos a partir de procesos El sistema permite crear un plan de trabajo a partir de la definición de un proceso. La definición del proceso se utiliza como plantilla para crear las tareas del plan que se visualiza como un Diagrama de Gantt. 5.3 Estandarización de proyectos: Integración documental de proyectos y procesos Las tareas hacen referencia a las actividades de un proceso. Desde una tarea se puede acceder a la documentación de la Actividad que describe como llevarla a cabo Todos los proyectos pueden acceder a la documentación del proceso del que provienen visualmente desde las tareas del Diagrama de Gantt. 5.4 Edición visual de proyectos mediante diagramas de gantt El sistema permite definir tipos de tareas, fecha de inicio y fin, dependencias entre las tareas a través del diagrama de Gantt del proyecto. 5.5 Navegación y consulta de proyectos y tareas a través de diagrama de gantt Cada usuario puede ver los proyectos en los que participa en formato de diagrama de gantt. 5.6 Propagación automática de cambios en la planificación Una vez definido el un plan de trabajo, cualquier cambio posterior, ya sea en la duración de una tarea, fecha de inicio o fin se propaga a través de las dependencias al resto de tareas de las que depende de una forma automática. El sistema notifica a todos las recursos implicados de los cambios que han ocurrido en la planificación 5.7 Gestión y control de asignaciones de recursos disponibles Cuando se definen las asignaciones de recursos a una tarea, el sistema hace una búsqueda de los recursos que están disponibles teniendo en cuenta el rol necesario para poder realizar dicha tarea. El sistema permite conocer la disponibilidad de los recursos en base a las asignaciones existentes y nunca se puede especificar una asignación superior a la disponibilidad que tiene un recurso en un momento dado. (Así, un recurso no puede estar asignado más del 100%.) 5.8 Definición de procesos mediante diagramas UML de actividad El sistema permite crear definiciones de procesos y organizarlas en flujos de trabajo que se definen mediante diagramas de actividad UML. 5.9 Repositorio de procesos El sistema gestiona y almacena procesos que se pueden utilizar luego como plantillas para crear proyectos. 12 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 5.10 Repositorio de guías de trabajo El sistema permite almacenar y asociar tanto actividades como artefactos a guías de trabajo para su realización y uso respectivamente. 5.11 Repositorio de plantillas para artefactos El sistema permite almacenar y asociar a los artefactos plantillas (MS Word, MS Excel, MS PowerPoint) a aquellos artefactos que les correspondan. 5.12 Eventos en tiempo real Cada usuario dispone de una bandeja de eventos a modo de “inbox” donde el sistema deposita eventos en tiempo real que tienen que ver con el desarrollo temporal y/o la gestión del proyecto. Un usuario tiene subscripciones de eventos que son obligatorias según su perfil y ademá,s se puede suscribir a otros eventos que son de su interés. Evento Descripción (subscripciones obligatorias) Nueva Asignacion Se genera al asignar un recurso a una tarea, reciben uno cada recurso asignado. Este evento se genera cuando el Project Manager confirma como definitiva la planificación de un proyecto. Re-planificación Se genera cuando se cambia la planificación de un proyecto que ya esta en curso o se había guardado como definitivo. Inicio de tarea Se genera el día de inicio de una tarea (al principio del día). Lo reciben cada uno de los recursos asignados a la tarea. Se utiliza a modo de recordatorio para que los recursos inicien la ejecución de la tarea. Fin de tarea Se genera el día de fin de una tarea (al principio del día). Lo reciben cada uno de los recursos asignado a la tarea. Se utiliza a modo de recordatorio para que los recursos reporten el progreso realizado, si es que previamente no lo han realizado. Implica la finalización de las asignación de los recursos. El Project manager también recibe esta notificación al final del día , si es que la tarea no se ha completado al 100% para que puede re-planificar en consecuencia Inicio de proyecto Se genera el día de inicio de un proyecto. Lo reciben todos los recursos que participan en el proyecto Fin de proyecto Se genera el día de fin de un proyecto. Lo reciben todos los recursos encargados de revisar el proyecto (Executive Managers, Project Managers) Tarea completada Se genera cuando se completa el 100% de una tarea. Lo recibe el Project Manager del proyecto 13 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 Proyecto completado Se genera cuando se completa al 100% un proyecto. Lo recibe el Project Manager y el Executive Manager que se encargan de la revisión del proyecto 5.13 Reporte del progreso realizado Cualquier recurso asignado puede reportar el porcentaje completado de las tareas. Si un tarea se ha completado al 100% el sistema genera un evento de notificación de Tarea completada y des-asigna el recurso. 5.14 Comparativas y métricas entre proyectos El sistema guarda el historial de proyectos realizados. Sobre los datos de varios proyectos se pueden hacer informes y métricas 5.15 Recuperación de la historia de un proyecto Para un proyecto dado el sistema guarda el historial de progreso del proyecto, de manera que se puede recuperar en cualquier momento el estado pasado (en cuanto a progreso) del proyecto. El usuario proporciona la fecha y el sistema le devuelve el estado de la planificación (diagrama de gantt) para dicha fecha. 5.16 Generación de informes seguimiento El sistema permite generar automáticamente informes acerca del estado del proyecto para reportar el estado del proyecto en las reuniones de seguimiento del proyecto. Los informes se pueden imprimir o exportar a ficheros formato MS Word. 5.17 Impresión de Informes El sistema permite imprimir diferentes tipos de informes: Métricas Informes de estado Comparativas de proyectos 5.18 Gestión de los roles de los recursos Cada usuario puede introducir, y modificar el sistema la lista de roles que puede desempeñar. Esta es la información para llevar a cabo las asignaciones 5.19 Consulta del CV de un recurso El sistema mantiene la historia de participación de proyectos permitiendo la generación automática del currículo de proyectos en los que ha participado un recurso. El currículo de participaciones se puede imprimir. 14 de 14 Lenguatges i Sistemes Informàtics Enginyeria del Software : Especificació Práctica ES:E - Parte II IPMS - Visión del Sistema Cuatrimestre Otoño 03/04 6 6.1 OTROS REQUISITOS Estandares Los diagramas de procesos han de cumplir con el estandard UML 1.4 El sistema cumplirá con el estándar J2EE 1.4 6.2 Rendimiento y Fiabilidad El sistema ha de estar disponible 24x7 6.3 Requisitos Software Sistema Operativo: Sun Solaris 9 Base de Datos: Sybase Adaptative Server 12.5.1 Servidor Web: Apache Tomcat Servidor de Aplicaciones: JBoss 15 de 14