03 calendarización de proyectos de software.pptx

43
INGENIERÍA DE SOFTWARE III Calendarización de Proyectos de Software

Upload: jhon-acuna-hurtado

Post on 18-Dec-2014

55 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 03 Calendarización de proyectos de software.pptx

ING

EN

IER

ÍA D

E

SO

FTW

AR

E I

II

Calendarización de Proyectos de Software

Page 2: 03 Calendarización de proyectos de software.pptx

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.

Page 3: 03 Calendarización de proyectos de software.pptx

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?

Page 4: 03 Calendarización de proyectos de software.pptx

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.

Page 5: 03 Calendarización de proyectos de software.pptx

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

Page 6: 03 Calendarización de proyectos de software.pptx

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:

Page 7: 03 Calendarización de proyectos de software.pptx

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.

Page 8: 03 Calendarización de proyectos de software.pptx

ING

EN

IER

ÍA D

E

SO

FTW

AR

E I

II

Page 9: 03 Calendarización de proyectos de software.pptx

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

Page 10: 03 Calendarización de proyectos de software.pptx

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.

Page 11: 03 Calendarización de proyectos de software.pptx

ING

EN

IER

ÍA D

E

SO

FTW

AR

E I

II

4. Definición de una red de tareas

Page 12: 03 Calendarización de proyectos de software.pptx

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

Page 13: 03 Calendarización de proyectos de software.pptx

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

Page 14: 03 Calendarización de proyectos de software.pptx

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.

Page 15: 03 Calendarización de proyectos de software.pptx

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

Page 16: 03 Calendarización de proyectos de software.pptx

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

Page 17: 03 Calendarización de proyectos de software.pptx

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

Page 18: 03 Calendarización de proyectos de software.pptx

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.

Page 19: 03 Calendarización de proyectos de software.pptx

ING

EN

IER

ÍA D

E

SO

FTW

AR

E I

II

PERT/CPM

PERT/CPM

Page 20: 03 Calendarización de proyectos de software.pptx

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.

Page 21: 03 Calendarización de proyectos de software.pptx

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.

Page 22: 03 Calendarización de proyectos de software.pptx

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

Page 23: 03 Calendarización de proyectos de software.pptx

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).

Page 24: 03 Calendarización de proyectos de software.pptx

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

Page 25: 03 Calendarización de proyectos de software.pptx

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.

Page 26: 03 Calendarización de proyectos de software.pptx

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

Page 27: 03 Calendarización de proyectos de software.pptx

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.

Page 28: 03 Calendarización de proyectos de software.pptx

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

Page 29: 03 Calendarización de proyectos de software.pptx

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

Page 30: 03 Calendarización de proyectos de software.pptx

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

Page 31: 03 Calendarización de proyectos de software.pptx

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.

Page 32: 03 Calendarización de proyectos de software.pptx

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

Page 33: 03 Calendarización de proyectos de software.pptx

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

Page 34: 03 Calendarización de proyectos de software.pptx

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?

Page 35: 03 Calendarización de proyectos de software.pptx

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

Page 36: 03 Calendarización de proyectos de software.pptx

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

Page 37: 03 Calendarización de proyectos de software.pptx

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

Page 38: 03 Calendarización de proyectos de software.pptx

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

Page 39: 03 Calendarización de proyectos de software.pptx

ING

EN

IER

ÍA D

E

SO

FTW

AR

E I

II

Red de Tareas

Page 40: 03 Calendarización de proyectos de software.pptx

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

Page 41: 03 Calendarización de proyectos de software.pptx

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

Page 42: 03 Calendarización de proyectos de software.pptx

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

Page 43: 03 Calendarización de proyectos de software.pptx

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