You are on page 1of 43

Calendarizacin de Proyectos de Software

INGENIERA DE SOFTWARE

Razones por las que el software se entrega con

retraso:
Fecha lmite irrealizable Cambios en los requisitos que no se reflejan en la

calendarizacin. Subestimacin de la cantidad de esfuerzo. Riesgos no considerados Dificultades tcnicas no previstas Dificultades humanas no previstas Falta de comunicacin entre el personal de proyectos Falla en la gestin de proyecto.

INGENIERA DE SOFTWARE

Ejemplo
Se ha pedido construir un controlador en tiempo

real para un instrumento de diagnstico mdico en 9 meses. Despus de un anlisis de riesgos cuidadoso se determina que tomar 14 meses con

INGENIERA DE SOFTWARE

Cualquier comandante en jefe que pretenda llevar a cabo un plan que considera defectuoso comete un error, debe exponer sus razones, insistir en que el plan debe cambiarse y finalmente presentar su renuncia en lugar de ser instrumento de la destruccin de su ejercito (Napolen Bonaparte)

INGENIERA DE SOFTWARE

Realizar una estimacin detallada, Determinar el esfuerzo y la duracin estimados para el proyecto. 2. Aplicar un modelo de proceso incremental. 3. Reunin con el cliente con la estimacin detallada. 4. Ofrezca la estrategia de desarrollo incremental como alternativa.
1.

2. CALENDARIZACIN DEL PROYECTO


Identificar las tareas crticas y la trayectoria crtica

Construir una red que bosqueje las

La fecha lmite ya ha sido impuesta: La fecha lmite se determina de la organizacin del

proyectos de software

INGENIERA DE SOFTWARE

interdependencias La calendarizacin evoluciona: Macroscpica -> Detallada Tipos de perspectivas

2.1 Principios Bsicos


Interdependencia: Asignacin de tiempo:
Unidades de trabajo, Fecha de inicio y fin.

Validacin de esfuerzo:

las calendarizadas
Definicin de responsabilidades:
Toda tarea debe ser asignada a un miembro del

equipo
Definicin de resultados:
Todas tarea calendarizada debe tener un resultado

definido
Definicin de hitos:

INGENIERA DE SOFTWARE

En un tiempo dado no se asigne mas personas que

2.2 Relacin entre el personal y el esfuerzo


Agregar personas en etapas tardas del proyecto

INGENIERA DE SOFTWARE

retrasa an ms las fechas de entrega. Las calendarizaciones son elsticas hasta cierto punto La curva PNR (Putnam-Norden-Rayleigh) proporciona un indicio de la relacin entre el tiempo aplicado y el tiempo de entrega para un proyecto de software.

INGENIERA DE SOFTWARE

2.3 Distribucin del Esfuerzo


Regla 40-20-40
40% de esfuerzo para el anlisis y diseo 20% de esfuerzo para la codificacin 40% del esfuerzo para las pruebas de software

La planeacin del proyecto puede ocupar del 2%

al 3% El anlisis de requisitos pueden comprometer 10% a 25% El esfuerzo se ajusta a la naturaleza del software producto

INGENIERA DE SOFTWARE

3. Definicin de un conjunto de tareas para el proyecto de software


Un proceso de software eficaz debe definir una

Proyecto de desarrollo de concepto Proyecto de desarrollo de nuevas aplicaciones Proyectos de mejora de la aplicacin Proyectos de mantenimiento de la aplicacin Proyectos de reingeniera

Otros factores: nmero de usuarios, duracin de la

aplicacin, estabilidad de los requisitos, tecnologa aplicable.

INGENIERA DE SOFTWARE

coleccin de conjuntos de tareas. El conjunto de tareas debe proporcionar suficiente disciplina para lograr alta calidad del software. No debe abrumar al equipo con trabajo innecesario El conjunto de tareas vara segn el tipo de proyecto

4. Definicin de una red de tareas

INGENIERA DE SOFTWARE

5. Calendarizacin
Evaluacin y Revisin de Programa (PERT)

Mtodo de Ruta Crtica (CPM)


Permite determinar la trayectoria crtica Establecer estimaciones de tiempo ms probables

para tareas individuales Calcular los tiempos lmite

INGENIERA DE SOFTWARE

5.1 Cronogramas
Al introducir el esfuerzo, la duracin y la fecha de

Cronograma para el proyecto, para cada funcin o

para cada individuo. Se puede resumir en una tabla del proyecto Permiten hacer seguimiento del progreso

INGENIERA DE SOFTWARE

inicio de cada tarea se obtiene un cronograma. Cada tarea se puede asignar a individuos especficos. GRFICO GANTT

5.2 Seguimiento de la calendarizacin


La calendarizacin define las tareas e hitos que

se deben seguir y controlar. El seguimiento se puede hacer:


Con reuniones peridicas donde cada uno del os
INGENIERA DE SOFTWARE

miembros del equipo informan de los progresos Con la evaluacin de resultados de todas las revisiones Con la determinacin de si se han logrado los hitos formales del proyecto en la fecha programada Al comprobar la fecha de inicio real con la fecha de inicio prevista para cada tarea. Al reunirse de manera informal con los trabajadores para obtener su evaluacin subjetiva del progreso.

5.2 Seguimiento de la calendarizacin


Cuando se detectan problemas se debe ejercer

INGENIERA DE SOFTWARE

control y destinar recursos adicionales al rea reubicando personal o redefiniendo la calendarizacin. Time Boxing: Se utiliza cuando existe presin sobre el tiempo y no se puede entregar todo el producto

5.3 Seguimiento de progreso en un proyecto OO


Hitos Tcnicos: Anlisis OO completado
Se han definido y revisado todas las clases y la

INGENIERA DE SOFTWARE

jerarqua de clase Se han definido y revisado los atributos de clase y las operaciones asociadas con una clase Se ha establecido y revisado las relaciones de clase Se ha establecido y revisado un modelo de comportamiento Se han anotado las clases reutilizables

5.3 Seguimiento de progreso en un proyecto OO


Hitos tcnicos: Diseo OO completado
Se ha definido y revisado el conjunto de

INGENIERA DE SOFTWARE

subsistemas Las clases de han revisad y asignado a los subsistemas Se ha establecido y revisado la asignacin de taras Se han identificado las responsabilidad de y colaboraciones Se ha creado y revisado el diseo de clases Se ha creado y revisado el modelo de comunicacin

5.3 Seguimiento de progreso en un proyecto OO


Hitos tcnicos: Programacin OO completada
Cada nueva clase se ha implementado en cdigo a

partir del modelo del diseo Se han implementado las clases obtenidas Se ha construido el prototipo o incremento
Se ha revisado la correccin y que estn completos en
INGENIERA DE SOFTWARE

Hitos tcnicos: Prueba OO

el anlisis OO y los modelos de diseo Se ha desarrollado y revisado una red de claseresponsabilidad Se han diseado casos de prueba y se han llevado a cabo pruebas al nivel de clase para cada clase Se han diseado casos de prueba, se han completado pruebas de agrupamiento y se han integrado las clases Se han completado las pruebas al nivel del sistema.

PERT/CPM

INGENIERA DE SOFTWARE

PERT/CPM

INGENIERA DE SOFTWARE

Determinstico. Ya que considera que los tiempos de las actividades se conocen y se pueden variar cambiando el nivel de recursos utilizados. A medida que el proyecto avanza, estos estimados se utilizan para controlar y monitorear el progreso.

INGENIERA DE SOFTWARE

Considera que las actividades son continuas e interdependientes, siguen un orden cronolgico y ofrece parmetros del momento oportuno del inicio de la actividad. Considera tiempos normales y acelerados de una actividad, segn la cantidad de recursos en la misma.

Caractersticas
Las actividades son crticas cuando su holgura total es 0. El CPM est integrado por el conjunto de actividades crticas que parten del conjunto suceso inicio y llega hasta el suceso final. Esta ruta define el tiempo mnimo necesario de ejecucin del proyecto. El control y la optimizacin de los costos de operacin mediante la planeacin adecuada de las actividades del proyecto.

INGENIERA DE SOFTWARE

Ventajas del Mtodo CPM


Ensea una disciplina lgica para planificar y

INGENIERA DE SOFTWARE

organizar un programa detallado de largo alcance. Proporciona una metodologa Standard de comunicar los planes del proyecto mediante un cuadro de tres dimensiones (tiempo, personal; costo).

INGENIERA DE SOFTWARE

Identifica los elementos (segmentos) ms crticos del plan, en que problemas potenciales puedan perjudicar el cumplimiento del programa propuesto. Ofrece la posibilidad de simular los efectos de las decisiones alternativas o situaciones imprevistas y una oportunidad para estudiar sus consecuencias en relacin a los plazos de cumplimiento

INGENIERA DE SOFTWARE

Aporta la probabilidad de cumplir exitosamente los plazos propuestos. En otras palabras: CPM es un sistema dinmico, que se mueve con el progreso del proyecto, reflejando en cualquier momento el STATUS presente del plan de accin.

Limitaciones de CPM
El tiempo de la actividad son algo subjetivas y dependen de la persona o grupo que la define. Se desarroll para manejar proyectos repetitivos o similares (ej., mantenimiento de plantas qumicas)
INGENIERA DE SOFTWARE

INGENIERA DE SOFTWARE

los procedimientos modernos y de planeacin, programacin y control de proyectos han combinado en esencia las caractersticas de CPM y PERT de manera que la diferenciacin entre las dos tcnicas ya no es necesaria.

METODO PERT
Es una tcnica que se implementa para planificar y controlar proyectos. Buscar satisfacer los requerimientos:
INGENIERA DE SOFTWARE

Costo Tiempo
Para completar un proyecto, segn sea propuesto

INGENIERA DE SOFTWARE

Identificar las actividades a realizarse y duracin Determinar la secuencia de las actividades Construya un diagrama de red Establezca el tiempo requerido por cada actividad Determinar la ruta critica Determinar la probabilidad de completar el proyecto en un perodo de tiempo especifico

Tiempo Optimista (a)


Duracin de la actividad bajo las condiciones ms favorables

Tiempo Pesimista (b)


Duracin de la actividad bajo las condiciones ms desfavorables

Tiempo Normal (m)


El valor ms probable de la duracin de la actividad. INGENIERA DE SOFTWARE

Tiempo esperado (PERT): (t) = (a + 4m + b)/6 El valor ms probable de la duracin de la actividad.


La sumatoria de estas, me da la duracin total esperada

En una red PERT hay dos tiempos de clculo de tiempo y costo para cada actividad. Una de ellas es la estimacin normal y otra la de emergencia o de terminacin acelerada.
INGENIERA DE SOFTWARE

INGENIERA DE SOFTWARE

No es un mtodo matemticamente complejo El anlisis de la ruta critica permite identificar que tareas merecen atencin prioritaria La representacin grfica permite identificar ms fcilmente la relacin entre las actividades del proyecto Informa el tiempo previsto de terminacin de un proyecto Es aplicable a una gran variedad de proyectos

INGENIERA DE SOFTWARE

Asume que todas las actividades estn claramente definidas, son independientes y estables Se requiere establecer la relacin de precedencia entre actividades Subjetividad en los estimados de tiempo El nfasis excesivo a las actividades del Camino critico pueden producir que no se atiendan otras actividades igualmente importantes

INGENIERA DE SOFTWARE

Est el proyecto al da, adelantado o atrasado con relacin al calendario? Est el proyecto cumpliendo con el presupuesto designado para este? Hay disponibles suficientes recursos para completar el proyecto a tiempo? Si el proyecto terminara antes de tiempo, de que manera se lograr a un menor costo?

Para ayudar a PERT y a CPM existen herramientas como, por ej,:

Ms- Project ITG Remedy


INGENIERA DE SOFTWARE

GRAFOS

INGENIERA DE SOFTWARE

Lista de actividades Matriz de secuencias Red de tareas Matriz de tiempos Red de tareas con tiempos de ejecucin Diagrama Calendario

Lista de Actividades
Una vez que se planifica el proyecto se arma el listado total de tareas a realizar Muestra Actividades Divisin de tareas a A = Relevamiento realizar B = Anlisis de Requerimientos Responsables de las C = Diseo mismas D = Codificacin
E = Creacin de manuales

Permite: Saber quien ejecuta que

F = Testing G = Test de usuarios H = Capacitacin I = Implementacin

INGENIERA DE SOFTWARE

Matriz de Secuencias
Actividades A = Relevamiento Antecedente -

Dos tipos:
Antecedentes: Cada responsable indica que tareas deben estar cumplidas para realizar la suya Actividades iniciales no pueden tener antecedentes
INGENIERA DE SOFTWARE

B = Anlisis de Requerimientos
C = Diseo D = Codificacin E = Creacin de manuales F = Testing G = Test de usuarios H = Capacitacin I = Implementacin

A
A ByC ByD D F E GyH

Secuencias: La contrapuesta de antecedentes

Red de Tareas

INGENIERA DE SOFTWARE

Matriz de tiempos
A la matriz de secuencias se le agregan tiempos de ejecucin El tiempo puede ser medido en horas, das, meses o aos

Actividades A = Relevamiento B = Anlisis de Requerimientos C = Diseo D = Codificacin E = Creacin de manuales F = Testing G = Test de usuarios H = Capacitacin I = Implementacin

Antecedente A A ByC ByD D F E GyH

Duracin mnima (das) 30 45

Duracin mxima (das) 30 45

60 3 20 30 15 10

60 8 20 30 25 10

INGENIERA DE SOFTWARE

Red de tareas con tiempos de ejecucin


En base a la matriz de tiempos se realiza este grafo: Cada circulo es una tarea y se indican sus tiempos de ejecucin Permite ver: Las fechas de finalizacin de cada tarea
INGENIERA DE SOFTWARE

Tratamiento del camino crtico


Conduce desde el principio del proyecto hasta el fin

Es el camino mas largo


Puede haber uno o mas

INGENIERA DE SOFTWARE

Todo este ejecicio nos permite ver las limitaciones que posee el proyecto
De Recursos: ya sean humanos como materiales (paralelismo de tareas) De Tiempo: determina un tiempo optimo de ejecucin (se puede realizar en este tiempo o no?) Econmicas: muestra un costo ptimo para ver si se puede ejecutar el proyecto con los recursos econmicos disponibles
INGENIERA DE SOFTWARE

You might also like