Post on 18-Dec-2014
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Calendarización de Proyectos de Software
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Razones por las que el software se entrega con retraso:Fecha límite irrealizableCambios en los requisitos que no se reflejan
en la calendarización.Subestimación de la cantidad de esfuerzo.Riesgos no consideradosDificultades técnicas no previstasDificultades humanas no previstasFalta de comunicación entre el personal de
proyectosFalla en la gestión de proyecto.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
“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 destrucción de su ejercito” (Napoleón Bonaparte)
EjemploSe ha pedido construir un controlador en tiempo real
para un instrumento de diagnóstico médico en 9 meses. Después de un análisis de riesgos cuidadoso se determina que tomará 14 meses con el personal disponible ¿Cómo proceder?
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
1. Realizar una estimación detallada, Determinar el esfuerzo y la duración estimados para el proyecto.
2. Aplicar un modelo de proceso incremental.
3. Reunión con el cliente con la estimación detallada.
4. Ofrezca la estrategia de desarrollo incremental como alternativa.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
2. CALENDARIZACIÓN DEL PROYECTOIdentificar las tareas críticas y la trayectoria
críticaConstruir una red que bosqueje las
interdependenciasLa calendarización evoluciona:
Macroscópica -> DetalladaTipos de perspectivas
La fecha límite ya ha sido impuesta:La fecha límite se determina de la
organización del proyectos de software
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
2.1 Principios BásicosInterdependencia:Asignación de tiempo:
Unidades de trabajo, Fecha de inicio y fin.Validación de esfuerzo:
En un tiempo dado no se asigne mas personas que las calendarizadas
Definición de responsabilidades: Toda tarea debe ser asignada a un miembro del equipo
Definición de resultados: Todas tarea calendarizada debe tener un resultado
definidoDefinición de hitos:
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
2.2 Relación entre el personal y el esfuerzoAgregar personas en etapas tardías del
proyecto retrasa aún más las fechas de entrega.
Las calendarizaciones son elásticas hasta cierto punto
La curva PNR (Putnam-Norden-Rayleigh) proporciona un indicio de la relación entre el tiempo aplicado y el tiempo de entrega para un proyecto de software.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
2.3 Distribución del EsfuerzoRegla 40-20-40
40% de esfuerzo para el análisis y diseño20% de esfuerzo para la codificación40% del esfuerzo para las pruebas de
softwareLa planeación del proyecto puede ocupar
del 2% al 3%El análisis de requisitos pueden
comprometer 10% a 25%El esfuerzo se ajusta a la naturaleza del
software producto
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
3. Definición de un conjunto de tareas para el proyecto de softwareUn proceso de software eficaz debe definir una colección
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 innecesarioEl conjunto de tareas varía según el tipo de proyecto
Proyecto de desarrollo de conceptoProyecto de desarrollo de nuevas aplicacionesProyectos de mejora de la aplicaciónProyectos de mantenimiento de la aplicaciónProyectos de reingeniería
Otros factores: número de usuarios, duración de la aplicación, estabilidad de los requisitos, tecnología aplicable.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
4. Definición de una red de tareas
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5. CalendarizaciónEvaluación y Revisión de Programa (PERT)Método de Ruta Crítica (CPM)
Permite determinar la trayectoria críticaEstablecer estimaciones de tiempo más
probables para tareas individualesCalcular los tiempos límite
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5.1 CronogramasAl introducir el esfuerzo, la duración y la
fecha de inicio de cada tarea se obtiene un cronograma.
Cada tarea se puede asignar a individuos específicos.
GRÁFICO GANTTCronograma para el proyecto, para cada
función o para cada individuo.Se puede resumir en una tabla del proyectoPermiten hacer seguimiento del progreso
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5.2 Seguimiento de la calendarizaciónLa calendarización define las tareas e hitos que se
deben seguir y controlar.El seguimiento se puede hacer:
Con reuniones periódicas donde cada uno del os miembros del equipo informan de los progresos
Con la evaluación de resultados de todas las revisiones
Con la determinación 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 evaluación subjetiva del progreso.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5.2 Seguimiento de la calendarizaciónCuando se detectan problemas se debe
ejercer control y destinar recursos adicionales al área reubicando personal o redefiniendo la calendarización.
Time Boxing: Se utiliza cuando existe presión sobre el tiempo y no se puede entregar todo el producto
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5.3 Seguimiento de progreso en un proyecto OOHitos Técnicos: Análisis OO completado
Se han definido y revisado todas las clases y la jerarquía 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
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5.3 Seguimiento de progreso en un proyecto OOHitos técnicos: Diseño OO completado
Se ha definido y revisado el conjunto de subsistemas
Las clases de han revisad y asignado a los subsistemas
Se ha establecido y revisado la asignación de taréas
Se han identificado las responsabilidad de y colaboraciones
Se ha creado y revisado el diseño de clasesSe ha creado y revisado el modelo de
comunicación
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
5.3 Seguimiento de progreso en un proyecto OOHitos técnicos: Programación OO completada
Cada nueva clase se ha implementado en código a partir del modelo del diseño
Se han implementado las clases obtenidasSe ha construido el prototipo o incremento
Hitos técnicos: Prueba OOSe ha revisado la corrección y que estén completos en el
análisis OO y los modelos de diseñoSe ha desarrollado y revisado una red de clase-
responsabilidadSe han diseñado casos de prueba y se han llevado a cabo
pruebas al nivel de clase para cada claseSe han diseñado casos de prueba, se han completado
pruebas de agrupamiento y se han integrado las clasesSe han completado las pruebas al nivel del sistema.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
PERT/CPM
PERT/CPM
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Determinístico. 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.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Considera que las actividades son continuas e interdependientes, siguen un orden cronológico y ofrece parámetros del momento oportuno del inicio de la actividad.
• Considera tiempos normales y acelerados de una actividad, según la cantidad de recursos en la misma.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Las actividades son críticas cuando su holgura total es 0.
• El CPM está integrado por el conjunto de actividades críticas que parten del conjunto suceso inicio y llega hasta el suceso final.
• Esta ruta define el tiempo mínimo necesario de ejecución del proyecto.
• El control y la optimi- zación de los costos de operación mediante la planeación adecuada de las actividades del proyecto.
Características
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Ventajas del Método CPM• Enseña una disciplina lógica para planificar y
organizar un programa detallado de largo alcance.
• Proporciona una metodología Standard de comunicar los planes del proyecto mediante un cuadro de tres dimensiones (tiempo, personal; costo).
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Identifica los elementos (segmentos) más críticos 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 relación a los plazos de cumplimiento
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Aporta la probabilidad de cumplir exitosamente los plazos propuestos.
• En otras palabras: CPM es un sistema dinámico, que se mueve con el progreso del proyecto, reflejando en cualquier momento el STATUS presente del plan de acción.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• 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 químicas)
Limitaciones de CPM
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• los procedimientos modernos y de planeación, programación y control de proyectos han combinado en esencia las características de CPM y PERT de manera que la diferenciación entre las dos técnicas ya no es necesaria.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Es una técnica que se implementa para planificar y controlar proyectos.
Buscar satisfacer los requerimientos:• Costo• Tiempo
Para completar un proyecto, según sea propuesto
METODO PERT
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Identificar las actividades a realizarse y duración• 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
período de tiempo especifico
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Tiempo Optimista (a)Duración de la actividad bajo las condiciones más favorablesTiempo Pesimista (b) Duración de la actividad bajo las condiciones más desfavorablesTiempo Normal (m)El valor más probable de la duración de la actividad.
Tiempo esperado (PERT): (t) = (a + 4m + b)/6El valor más probable de la duración de la actividad.La sumatoria de estas, me da la duración total esperada
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
En una red PERT hay dos tiempos de cálculo de tiempo y costo para cada actividad. Una de ellas es la estimación normal y otra la de emergencia o de terminación acelerada.
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• No es un método matemáticamente complejo• El análisis de la ruta critica permite identificar que tareas
merecen atención prioritaria• La representación gráfica permite identificar más
fácilmente la relación entre las actividades del proyecto• Informa el tiempo previsto de terminación de un
proyecto• Es aplicable a una gran variedad de proyectos
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Asume que todas las actividades están claramente definidas, son independientes y estables
• Se requiere establecer la relación 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
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• ¿Está el proyecto al día, adelantado o atrasado con relación 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?
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Para ayudar a PERT y a CPM existen herramientas como, por ej,:
• Ms- Project• ITG• Remedy
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Lista de actividades• Matriz de secuencias• Red de tareas• Matriz de tiempos• Red de tareas con tiempos de ejecución• Diagrama Calendario
GRAFOS
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Una vez que se planifica el proyecto se arma el listado total de tareas a realizar
Actividades
A = Relevamiento
B = Análisis de Requerimientos
C = Diseño
D = Codificación
E = Creación de manuales
F = Testing
G = Test de usuarios
H = Capacitación
I = Implementación
Muestra• División de tareas a
realizar• Responsables de las
mismas
Permite:• Saber quien ejecuta que
Lista de Actividades
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Actividades Antecedente
A = Relevamiento -
B = Análisis de Requerimientos A
C = Diseño A
D = Codificación B y C
E = Creación de manuales B y D
F = Testing D
G = Test de usuarios F
H = Capacitación E
I = Implementación G y H
Dos tipos:Antecedentes:Cada responsable indica que tareas deben estar cumplidas para realizar la suyaActividades iniciales no pueden tener antecedentes
Secuencias:La contrapuesta de antecedentes
Matriz de Secuencias
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Red de Tareas
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
Actividades Antecedente Duración mínima(días)
Duración máxima(días)
A = Relevamiento - 30 30
B = Análisis de Requerimientos A 45 45
C = Diseño A
D = Codificación B y C 60 60
E = Creación de manuales B y D 3 8
F = Testing D 20 20
G = Test de usuarios F 30 30
H = Capacitación E 15 25
I = Implementación G y H 10 10
• A la matriz de secuencias se le agregan tiempos de ejecución• El tiempo puede ser medido en horas, días, meses o años
Matriz de tiempos
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
En base a la matriz de tiempos se realiza este grafo:• Cada circulo es una tarea y se indican sus tiempos de
ejecuciónPermite ver: • Las fechas de finalización de cada tarea
Red de tareas con tiempos de ejecución
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
• Conduce desde el principio del proyecto hasta el fin
• Es el camino mas largo
• Puede haber uno o mas
Tratamiento del camino crítico
ING
EN
IER
ÍA D
E
SO
FTW
AR
E I
II
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 ejecución (se puede realizar en este tiempo o no?)
• Económicas: muestra un costo óptimo para ver si se puede ejecutar el proyecto con los recursos económicos disponibles