You are on page 1of 15

Prctica 5-A: Caso de Estudio.

Planificacin y control de proyectos mediante MS-Project

Ingeniera del Software de Gestin


Escuela Tcnica Superior de Informtica Aplicada

Curso 2005-2006

Introduccin
En esta prctica vamos a introducirnos en la Planificacin y Control de Proyectos de Software mediante herramientas informticas que nos van a permitir automatizar el proceso. En este caso utilizaremos como herramienta de soporte la aplicacin Microsoft Project 2000. Para conseguir familiarizarnos con el uso de la herramienta y a la vez aprender un poco de planificacin, seguimiento y control de proyectos de software, vamos a construir paso a paso el plan del proyecto del Caso de Estudio correspondiente a este curso: Inmobiliaria.

Enunciado del proyecto de software


La empresa de desarrollo de software ISG S.A. se dedica al desarrollo de aplicaciones a medida. Es una empresa pequea y est constituida por dos analistas-programadores que realizan las tareas de anlisis, diseo, codificacin, prueba, documentacin y mantenimiento de la aplicacin. La empresa no hace mucho que empez y para no arriesgarse en modelos de desarrollo de software muy sofisticados, el proceso de desarrollo que adoptan sigue el modelo del ciclo de vida clsico, aunque no de forma estricta y secuencial, ya que a veces suelen solaparse tareas para obtener un mejor rendimiento1. Utilizan como metodologa de anlisis y diseo orientado a objetos una adaptacin de la metodologa UML2. Adems se utiliza como entorno de desarrollo Visual Studio .NET y como lenguaje de programacin C#. Como se comenta en el Caso de Estudio propuesto, el propietario de la inmobiliaria La Barraca ha encargado a la empresa ISG S.A. el desarrollo de una aplicacin informtica que gestione el funcionamiento de su negocio. El propietario nos exige que les entreguemos el producto en 4 meses (los meses que dura un cuatrimestre), ofrecindonos 6.000 euros por el software. Ahora tendremos que contestarles si nos podemos encargar o no de este proyecto con las restricciones temporales y econmicas anteriormente citadas. Para ello vamos a estudiar el caso, planificarlo, asignar recursos, costes y tiempos a las tareas y construir un modelo que nos permita conocer si somos capaces de hacerlo, y adems es rentable. Para conseguirlo de forma clara y automatizada vamos a planificar el proceso de desarrollo del producto haciendo uso del MS Project 2000.

Proceso de planificacin del Caso de Estudio


En este apartado planificaremos el proyecto de la Inmobiliaria mediante el MS Project siguiendo los pasos que a continuacin vamos a presentar.

Este modelo de proceso se adopta para poder adaptar la planificacin a la forma de trabajo propuesta por la asignatura ISG. 2 Propuesta por los profesores de la asignatura ISG. 2

1. Creacin de una agenda


Abrir un nuevo proyecto Con la opcin Archivo | Nuevo abrimos un nuevo proyecto en blanco y nos saldr la ventana de informacin del proyecto (Figura 1) donde introduciremos la fecha de inicio del proyecto (que en nuestro caso ser la fecha de inicio de las prcticas del segundo cuatrimestre, el 14 o el 17 de febrero de 2006), y conservaremos las dems propiedades como predeterminadas.

Figura 1: Informacin del proyecto La pantalla que nos saldr una vez hayamos creado el nuevo proyecto ser la de la Figura 2, donde podremos ver un Diagrama de Gantt vaco (sin ninguna tarea que planificar).

Figura 2: Pantalla inicial de MS Project


3

Introduccin de tareas en el Diagrama de Gantt A continuacin vamos a introducir las tareas que vamos a realizar durante el proceso de desarrollo para obtener la aplicacin. Para ello es aconsejable la divisin del proyecto en fases, cada una de ellas con tareas que tienen cierta lgica de agrupamiento. As pues, antes de empezar a aadir tareas tendremos que definir las fases que son necesarias para el desarrollo de la aplicacin y que normalmente vendrn determinadas por el modelo (paradigma) de desarrollo que siga nuestra empresa. En nuestro caso, la empresa ISG S.A. normalmente desarrolla los proyectos siguiendo estas fases con las tareas correspondientes:

FASE : Anlisis y Especificacin de los Requisitos


Estudio previo y entrevistas con el cliente Identificacin de los requisitos de usuario Identificacin de los requisitos de rendimiento y de HW/SW Identificacin de los requisitos de la interfaz Preparacin de la documentacin de la especificacin de requisitos

FASE : Modelado Conceptual


Construccin del Modelo de Objetos. Rational Rose y Diagrama de clases. Escenarios y Diagramas de Interaccin.

FASE : Diseo arquitectnico


Diseo arquitectnico de la aplicacin.

FASE : Diseo detallado


Identificacin / seleccin de Estructuras de datos. Diseo de la presentacin y la persistencia. Aplicacin de patrones de diseo.

FASE : Codificacin
Implementacin de los escenarios de la aplicacin.

FASE : Pruebas
Pruebas individuales de clases y sus mtodos. Pruebas de integracin de los componentes. Prueba del Sistema. Pruebas de Aceptacin del cliente. Una vez conocidas las principales fases y tareas asociadas al proyecto vamos a presentar la planificacin bsica de las prcticas de ISG y los objetivos (hitos) que se van a exigir para que el alumno pueda realizar una distribucin correcta de las tareas, y pueda incluir, a su vez, lo hitos correspondientes al proyecto.

Por simplificar la prctica, asumiremos que llevamos a cabo el desarrollo completo del proyecto durante el segundo cuatrimestre del curso. La dedicacin al desarrollo del proyecto sern por tanto las 13 sesiones de prcticas del cuatrimestre, comenzando el da 14 de febrero (da 17 en los grupos del viernes), y finalizando el 23 mayo ( el 30, los grupos del viernes). La planificacin previa de la asignatura de prcticas es la siguiente3: Semana 1: Especificacin del caso de estudio mediante la norma IEEE-830. Suponemos que la especificacin se entrega al principio de la segunda clase del cuatrimestre, comenzndose en esa misma clase con el modelado. Semanas 2 y 3: Modelado del caso de estudio en UML. Se entrega al final de la tercera clase. Semana 4: Diseo arquitectnico. Semanas 5 y 6: Diseo detallado. Semana 7 y 8: Implementacin de la carga del sistema. Semanas 9, 10 y 11: Implementacin de los escenarios. Semana 12: Pruebas. Semana 13: Entrega de la aplicacin.

Los hitos u objetivos a cumplir que se proponen son los siguientes: Hito 1: Entrega de la Especificacin IEEE (Semana 2, tal como se ha comentado anteriormente). Hito 2: Modelo de Objetos en UML (Semana 3). Hito 3: Diseo detallado del Caso de Estudio (Semana 6). Hito 5: Implementacin de la carga (Semana 8). Hito 6: Implementacin de escenarios (Semana 11). Hito 7: Entrega de la aplicacin (Semana 13).

A continuacin, despus de conocer las fases, las tareas y los hitos, debis realizar la planificacin y la asignacin de recursos segn vuestras propias estimaciones. As pues vamos a introducir cada una de las fases, tareas e hitos en la Tabla de tareas del Diagrama de Gantt. Para ello escribiremos en el campo Nombre de la tarea, el nombre de la tarea o la fase que vamos a introducir. En principio introduciremos todas las tareas al mismo nivel (Figura 3). Posteriormente veremos cmo modificar el nivel de cada tarea de manera que queden definidas como fases y como subtareas dentro de una fase. Por defecto MS Project incluye una duracin de 1 da para cada tarea nueva que introducimos. Ms adelante veremos cmo aumentar la duracin de las tareas y cmo ordenarlas en el diagrama.

Esta planificacin no se corresponde exactamente con la llevada a cabo en la asignatura, sino que se han introducido ligeras modificaciones con el fin de que la prctica sea ms ilustrativa. 5

Figura 3: Introduccin de tareas en la Tabla de Gantt

2. Organizacin del proyecto mediante indentacin (fases de un proyecto)


El prximo paso ser reorganizar las tareas mediante indentacin. Como en nuestro proyecto hemos sido capaces de distinguir fases y tareas (normalmente llamadas tareas resumen y subtareas, respectivamente) las tareas que hemos introducido vamos a organizarlas mediante las utilidades de indentacin que nos proporciona el MS Project. As podremos ver fcilmente la estructura de nuestro proyecto, haciendo que la agenda sea ms fcil de manejar. En resumen, mediante la indentacin podemos: Organizar las tareas en una estructura jerrquica para que podamos ver cmo las subtareas constituyen grupos de tareas a las que llamamos tareas resumen (o fases) del proyecto. Identificar las principales fases del proyecto mediante las tareas resumen. Usar estrategias top-down (introducir primero tareas resumen) o bottom-up (primero las subtareas) para construir la agenda del proyecto. Visualizar solamente las tareas resumen del proyecto. Crear informes que incluyan subtareas, tareas resumen o ambas.

Figura 4. Barra de Herramientas. Indentacin. A continuacin vamos a ver cmo crear una tarea resumen y cmo mover una tarea a un nivel superior de indentacin. Para crear una tarea resumen o fase moveremos la tarea que la sigue inmediatamente (en orden de nmero identificador de tareas) hacia un nivel de indentacin inferior (hacia dentro con la flecha hacia la dcha.). Y para mover una tarea hacia un nivel superior la moveremos a un nivel de indentacin superior (si no est en el nivel ms alto). De esta forma, una tarea se indentar seleccionando la tarea de la tabla de tareas y utilizando los botones de la barra de herramientas para aplicar sangra y anular sangra (ver Figura 4). El resultado ser el que se puede observar en la Figura 5.

Figura 5. Creacin de fases y subtareas mediante indentacin

3. Planificacin de tareas
En este punto vamos a tratar cmo darle valor a la duracin de las tareas, cmo reorganizar y distribuir las tareas en el tiempo (mediante el Diagrama de Gantt), y finalmente veremos cmo relacionar o enlazar tareas.
7

Duracin de las tareas Para modificar o darle valor a las tareas de nuestro proyecto (ya que por defecto todas tenan una duracin de un da) tendremos en primer lugar que estimar la duracin que va a tener cada una de ellas. Una vez conocidas las duraciones de las tareas procederemos a introducir su valor. En el MS Project podemos introducir la duracin de diversas maneras, pero aqu estn las tres ms comunes: Situndose sobre el campo (columna) Duracin de la Tabla de Tareas e introduciendo la duracin deseada. Situndose sobre la tarea en el Diagrama de Gantt y desplazando su borde derecho hacia la derecha de forma que se ample la duracin de la tarea en el grfico. Situndose sobre la tarea en la tabla o en el diagrama y pulsando el botn derecho del ratn nos aparecer un men del que seleccionaremos la opcin Informacin de la tarea. Nos aparecer la ventana de la Figura 6, donde podremos cambiar la duracin.

Figura 6. Informacin de la tarea Distribucin temporal de las tareas A continuacin, distribuiremos las tareas en el Diagrama de Gantt, situando cada tarea en el espacio temporal que estimemos y ms tarde especificaremos grficamente las dependencias entre las tareas. La distribucin del comienzo de las tareas la haremos de una de estas dos formas:

Seleccionando la tarea (no la tarea resumen o fase) en el Diagrama de Gantt y desplazndola hacia la derecha hasta situarla en la fecha de inicio que deseemos. Si la tarea se desplaza a un da no laborable, Ms Project avisar de dicha condicin e incluso permitir hacer laborable dicho da. Situndose sobre la tarea en la tabla o en el diagrama y pulsando el botn derecho del ratn nos aparecer un men del que seleccionaremos la opcin Informacin de la tarea. Nos aparecer de nuevo la ventana de la Figura 6, donde podremos cambiar la fecha de inicio y de terminacin. Relacin entre tareas Ahora vamos a enlazar tareas para representar las dependencias o relaciones de precedencia que existen entre las tareas de un proyecto. Normalmente estas dependencias o restricciones temporales se expresan como enlaces que definen relaciones entre las fechas de inicio y finalizacin de las tareas de un proyecto. En Ms Project hay cuatro tipos de relaciones entre tareas: Fin a Comienzo (FC): La tarea B no puede empezar hasta que la tarea A haya terminado
A

Comienzo a Comienzo (CC): La tarea B no puede empezar hasta que no empiece la A


A

Fin a Fin (FF): La tarea B no puede terminar hasta que la tarea A haya terminado
A

Comienzo a Fin (CF): La tarea B no puede terminar hasta que no empiece la tarea A
A

A continuacin vamos a explicar varias formas de enlazar tareas: 1. Seleccionar en la tabla de Gantt dos o ms tareas que queramos enlazar y pulsar el botn Vincular tareas de la barra de herramientas o elegir Vincular tareas de la opcin de men Edicin. El tipo de relacin se podr modificar sin ms que hacer doble click sobre la flecha que representa el vnculo. 2. Seleccionar una tarea en el Diagrama de Gantt y desplazarnos con el ratn hacia otra tarea con la cual queramos enlazarla 3. Situndose sobre la tarea en la tabla o en el diagrama de Gantt y seleccionando la opcin Informacin de la tarea (pulsando el botn derecho del ratn) y a continuacin la pestaa Predecesoras. Mediante las opciones que nos proporciona (ver Figura 7) introduciremos la tarea predecesora de la tarea seleccionada y as crearemos un enlace del tipo que queramos.

Figura 7. Enlace de tareas Solapamiento y retraso de tareas Adems de las relaciones entre tareas que hemos visto antes tambin podemos introducir otro tipo de restricciones o relaciones que pueden sernos tiles en la planificacin de proyectos. Estas relaciones son las de solapamiento y retraso. Solapamiento: En muchas ocasiones es interesante expresar que una tarea puede empezar a la vez o durante el desarrollo de otra.

Retraso : A veces queremos expresar que una tarea empezar X unidades de tiempo despus de que termine otra.
10

A continuacin vamos a ver cmo solapar o retrasar tareas en Ms Project: 1. Seleccionar la tarea que deseemos en el diagrama de Gantt y pulsar el botn de Informacin de la barra de herramientas (May+F2). O seleccionar la tarea y elegir la opcin Informacin de la Tarea del men que aparece al pulsar el botn derecho del ratn. 2. Seleccionar la etiqueta Predecesoras, de la ventana que nos aparecer a continuacin 3. En el campo Pos (ver Figura 7) escribiremos el tiempo que queremos que se retrase o el tiempo que queremos que se solape como un porcentaje del tiempo total del predecesor o como una duracin determinada. (El tiempo de solapamiento ser un nmero negativo o un porcentaje negativo completo; el tiempo de retraso ser un nmero positivo) 4. Elegir el botn OK

4. Introduccin de hitos (objetivos)


En un proyecto podemos introducir hitos para indicar que nos encontramos ante un importante punto de nuestra agenda que debemos cumplir; un punto mediante el cual denotamos que hemos completado una fase de nuestro proyecto y en el que exigiremos una serie de documentacin y de pruebas para garantizar que hemos llegado con xito a dicha fase y que se han cumplido todos los plazos conforme estaba previsto. MS Project nos permite introducir unos smbolos especiales para denotar los hitos. Estos smbolos especiales aparecen cuando introducimos una tarea con una duracin de 0 das (ver Figura 8).

Figura 8. Introduccin de hitos

11

5. Aadir recursos al proyecto


Parece que ya hemos incluido las tareas y las hemos distribuido conforme a las necesidades y a las restricciones del proyecto, pero nos falto algo esencial, algo sin lo cual no conseguiramos llevar adelante el proyecto: los recursos. Un recurso es cualquier elemento (generalmente limitado y que hay que compartir a lo largo del tiempo) necesario para llevar a cabo nuestro proyecto. Un recurso puede representar a una mquina en concreto, una herramienta o incluso al personal necesario para el proyecto. Generalmente, para este tipo de proyectos, los recursos suelen representar a las personas que van a desarrollar la aplicacin, aunque como se ha visto pueden representar a multitud de elementos. Para facilitarnos la tarea, MS Project nos proporciona diversas maneras de incluir los recursos en el proyecto. A continuacin, vamos a presentar cmo se hace normalmente: 1. Elegiremos la opcin Hoja de Recursos del men Ver para visualizar una especie de hoja de clculo o tabla que nos va a servir para introducir los recursos (ver Figura 9) y en la que aparecen las caractersticas configurables del recurso. 2. En el campo en blanco de la columna Nombre del Recurso escribiremos el nombre del recurso 3. Si queremos incluirlo en un grupo de recursos (programador, analista, ingeniero senior,....) escribiremos el nombre del grupo en la columna Grupo. 4. En la columna Capacidad mxima incluiremos la disponibilidad de ese recurso. Por ejemplo, si un programador trabaja medio da introduciremos 50%, y si lo hace a jornada completa (8 horas) introduciremos 100%. 5. As para todos los recursos que necesite el proyecto

Figura 9. Hoja de recursos

5. Asignacin de costes a los recursos


La asignacin de precios a los recursos nos ayudar a conocer y controlar el coste del proyecto de forma precisa. Los precios de los recursos pueden ser el coste de la hora de trabajo de un empleado o el equipo necesario para completar una tarea o el coste fijo por utilizar una pieza del equipo. El coste de un recurso suele incluir el precio estndar y el precio de las horas extras. Cuando un recurso con un precio determinado (estndar u hora extra) se le asigna a una tarea y sta dura ms tiempo de lo planificado, el coste de los recursos para dicha tarea puede incrementar. As pues, incluiremos los precios o coste de cada uno de los recursos en la tabla de recursos que hemos mencionado antes (ver Figura 9).
12

6. Asignacin de recursos a las tareas


Ya prcticamente tenemos casi toda la informacin necesaria para realizar los clculos del coste del proyecto y para analizar la planificacin e intentar optimizar recursos y tiempo. Slo nos falta un pequeo detalle, y es que las tareas todava no tienen asignados los recursos (en este caso la mano de obra). As pues, vamos a presentar cmo asignar recursos a las tareas con el MS Project: 1. Seleccionar una tarea en el diagrama de Gantt 2. Pulsar el botn Asignar Recursos de la barra de herramientas o acceder a travs de las opciones del men Herramientas / Recursos/ Asignar Recursos. 3. Nos aparecer una ventana con una pequea tabla de recursos disponibles (ver Figura 10) y en la columna Nombre elegiremos el recurso que nos interese asignar a la tarea. Para asignar una parte del tiempo de un recurso escribiremos un porcentaje en el campo Unidades que represente el porcentaje de tiempo de trabajo que queremos que el recurso dedique a realizar dicha tarea. Para asignar varios recursos diferentes seleccionaremos a los que necesitemos. Para asignar ms de una unidad de un mismo tipo de recurso, por ejemplo dos analistas, aumentaremos ese porcentaje. Si es necesario incluir un nuevo recurso, en esta misma tabla podremos escribir su nombre en el campo Nombre. 4. Elegiremos el botn Asignar, y aparecer una marca a la izquierda del recurso para decirnos que se ha asignado a la tarea seleccionada 5. Elegiremos el botn Cerrar. Nota: Es posible asignar ms unidades de recurso de las que dispones, as que si no queremos sobrecargar un recurso, ser mejor que nos aseguremos de que el nmero que introducimos es menor o igual que el nmero de Unidades mximas en la lista de recursos.

Figura 10. Tabla de asignacin de recursos

7. Visualizacin de los costes


Mediante el MS Project podemos visualizar el coste de cada tarea y el coste total del proyecto. A continuacin vamos a ver cmo lo haremos en cada uno de los casos.

13

Coste de cada tarea 1. En el men Ver, elegir la opcin Tabla: Entrada y a continuacin la opcin Costo. 2. En la tabla de las tareas, junto al diagrama de Gantt, si nos movemos hacia la derecha observaremos el campo Costo Total de la tarea (ver Figura 11)

Figura 11. Tabla de Gantt con el coste de las tareas. Coste total del proyecto 1. En el men Proyecto, elegir la opcin Informacin del Proyecto. 2. En la ventana de informacin del proyecto, pulsar el botn Estadsticas y podremos ver el coste total del proyecto (ver Figura 12).

Figura 12. Estadsticas de un proyecto En los puntos anteriores hemos cubierto prcticamente toda la parte de la planificacin de proyectos. Ahora nos faltara analizar la agenda y aprender a realizar el seguimiento y control del proyecto. Como se puede observar, la aplicacin MS Project dispone de funcionalidades adicionales que exceden del mbito de esta introduccin para controlar el proyecto con el que se est trabajando. Por ejemplo, se pueden obtener calendarios de tareas, diagramas PERT, grficos de
14

utilizacin de recursos, etc., que hacen de esta aplicacin una herramienta de gran utilidad a la hora de gestionar proyectos.

8. Ejercicio de la prctica
1. Realizar la planificacin temporal (tareas, dependencias entre tareas, duracin de las mismas, asignacin de recursos,...) del caso de estudio, de acuerdo al contenido de los puntos anteriores. 2. Esta prctica se considera de entrega voluntaria, por lo que se pueden entregar los resultados al final de la sesin. En caso de hacerlo, se podr obtener un incremento de hasta 0.5 puntos en la nota de laboratorio correspondiente al caso de estudio (segundo cuatrimestre).

15