Calendarización de Proyectos de
Software
Introducción
• Cada proyecto de software presenta distintos
problemas en su desarrollo, los cuales
involucran personas, equipo, usuarios del
software y ambiente de la aplicación. Por estas
razones, cada proyecto debe resolver el
problema de la producción del software.
Conceptos Básicos
• Aunque existen muchas razones por las cuales el
software se entrega con rechazo, entre ellas:
fechas límite irrealizables, cambios en requisitos,
riesgos, dificultades humanas y técnicas, falta de
comunicación, fallas en la gestión del proyecto.
¿Por qué las cosas van mal?
• Las técnicas de estimación son pobremente desarrolladas.
• Se confunde esfuerzo con progreso, suponiendo que
hombres y meses son intercambiables.
• El progreso de la calendarización es pobremente
monitoreado.
• Cuando un resbalón en la calendarización es reconocido, la
respuesta tradicional es añadir mano de obra.
Calendarización
• Es una actividad que distribuye estimaciones de
esfuerzo a través de la duración planificada del
proyecto, al asignar el esfuerzo a tareas
específicas de ingeniería del software.
• Es la culminación de una actividad de
planificación que es un componente principal de
la gestión del proyecto de software
Principios Básicos
• Compartimentación: El proyecto debe dividirse
en compartimentos en varias actividades,
acciones y tareas manejables.
• Interdependencia: Se debe determinar la
interdependencia de cada actividad, acción o
tarea compartimentada.
• Asignación de tiempo: A cada tarea se le debe
asignar cierto número de unidades de trabajo
(Ej: personas-día de esfuerzo)
• Validación del esfuerzo: El gestor del proyecto
debe asegurarse de que, en un tiempo dado, no
se han asignado más que el número de personas
calendarizadas.
• Definición de responsabilidades: Asignar un
miembro del equipo.
• Definición de resultados: Toda tarea debe tener
un resultado definido. (Ej: Diseño de un módulo)
• Definición de hitos(significa tener un logro
importante): Cualquier tarea o grupo de tareas
debe estar asociado con un hito de proyecto. Un
hito se logra cuando se ha revisado la calidad de
uno o mas productos de trabajo y se ha
aprobado.
Calendarización de Proyectos
•Recomendaciones
• Parta el proyecto en tareas y estime el tiempo
y los recursos requeridos para completar cada
tarea.
• Organice las tareas concurrentemente, para
optimizar la fuerza de trabajo
• Minimizar las dependencias entre las tareas
para evitar los retrasos.
• Se recomienda asignar entre 30% y 50%
adicional al tiempo estimado por actividad.
Problemas en la Calendarización
• No se puede calcular la dificultad de un problema
con exactitud y por ende tampoco el costo
necesario para resolverlo.
• La productividad no es proporcional al número de
personas.
• Agregar persona a un proyecto avanzado puede
provocar demoras por la sobrecarga de
comunicación.
• Lo inesperado siempre pasara, siempre tener
planes contingencia
Ejemplo de Calendarización de proyecto:
Identificar Identificar Estimar recursos Asignar personas
Actividades Dependencias Para la actividad A la actividad
Especificación del
Crear Gráficos de
software
proyectos
Redes de actividades y
gráficos de barra
red de Tareas o actividades
• Tareas y Subtareas tienen interdependencias basadas en su
secuencia.
• Trabajo paralelo --> Tareas concurrentes deben estar coordinadas.
• Red de Tareas: representación gráfica del flujo de tareas de un
proyecto.
• muestra las principales tareas de la ingeniería de software, sus
dependencias y si se pueden ejecutar en paralelo
• Dos posibles enfoques:
• Calendarización macroscópica.
• Calendarización detallada.
REGLA 40-20-40
Esta es una regla que usualmente se sigue, en la cual se asigna el 40%
del esfuerzo al analisis y diseño de software, el 20% del esfuerzo a la
codificacion y el ultimo 40% a la realizacion de preubas del sistema,
esta distribucion se utiliza como guia, la distribucion final del proceso
la dictan las caracteristicas del proyecto
Red de Actividades: Duración y Dependencias
Red de Tareas (Macroscópica)
1.1
Determinación
1.5a
ámbito concepto
Implementación
1.3a
Concepto
Evaluación
Riesgo Téc.
1.2
Planeación
1.3b 1.4 1.5b
concepto Integración a,
Evaluación Prueba de Implementación b, c
Riesgo Téc. Concepto Concepto
1.3c 1.5c
Evaluación Implementación
Riesgo Téc. Concepto
1.6
Reacción
Cliente
Calendarización
• Pueden utilizar técnicas/herramientas
calendarización de proyectos.
•PERT (Técnica de evaluación y revisión de
programa)
•CPM (Método de la Ruta Crítica)
•Identificar todas las actividades que involucra
el proyecto, lo que significa, determinar
relaciones de precedencia, tiempos técnicos
para cada una de las actividades.
•Construir una red con base en nodos y
actividades (o arcos, según el método más
usado), que implican el proyecto.
Calendarización
• Analizar los cálculos específicos, identificando las rutas
críticas y las holguras de los proyectos.
• En términos prácticos, la ruta crítica se interpreta como la
dimensión máxima que puede durar el proyecto y las
diferencias con las otras rutas que no sean la crítica, se
denominan tiempos de holgura.
Calendarización
• Información etapas tempranas:
• Estimación de esfuerzo
• Descomposición de la función del producto
• Selección del modelo de proceso y conjunto de tareas apropiadas.
• Descomposición de Tareas.
Cronogramas
Diagrama de Gantt: Muestra la programación
vs tiempo calendario.
Uno por proyecto ó uno por cada función.
Diamantes (rombos) marcan hitos.
Seguimiento de la Calendarización realizado:
◦Reuniones valorar estado.
◦Evaluación de resultados proceso de ingeniería software.
◦Hitos.
◦Comparar fechas: tentativa-real inicio tarea usando tabla de
tareas.
Diamantes (rombos) marcan hitos.
Seguimiento del Proyecto OO (1/*)
• Hitos Técnicos: análisis OO completado
• Se han denido y revisado todas las clases y la jerarquía de
clase.
• Se han denido y revisado los atributos de clase y las
operaciones asociadas con una clase.
• Se han establecido y revisado las relaciones de clase.
• Se ha creado y revisado un modelo de comportamiento.
• Se han anotado las clases reutilizables.
Seguimiento del Proyecto OO (1/*)
• Hitos Técnicos: diseño OO completado
• Se han definido y el conjunto de subsistemas.
• Las clases de han revisado y asignado a los subsistemas.
• Se han identificado las responsabilidades y
colaboraciones.
• Se ha creado y revisado un modelo de comportamiento.
Seguimiento del Proyecto OO (1/*)
• Hitos 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 creado y revisado el diseño de las clases.
• Se ha creado y revisado el modelo de comunicación.
Seguimiento del Proyecto OO (1/*)
Hitos Técnicos: programación OO completada
• Cada nueva clase se ha implementado en código a través
del modelo de diseño.
• Se han implementado las clases obtenidas (de una librería
de reutilización).
• Se ha construido el prototipo o incremento.
Seguimiento del Proyecto OO (1/*)
Hitos Técnicos: prueba OO
• Se ha revisado la correción y que estén completos el análisis OO y
los modelos de diseño.
• Se ha desarrollado y revisado una red clase-responsabilidad-
colaboración.
• Se han diseñado casos de prueba y se han llevado a cabo pruebas
al nivel de clase.
• Se han diseñado casos de prueba, se han completado pruebas de
agrupamientos y se han integrado las clases.
• Se han completado las pruebas al nivel de sistema.
Conclusiones:
• Todos los proyectos que tengan una calendarización
adecuada no va ha tener ningún inconveniente.
• Teniendo reuniones permanentes dentro del equipo que
estén trabajando en proyecto y exponiendo
• todos los puntos en su desarrollo el producto final va ha
tener éxito.
Red de Actividades: Duración y Dependencias
Calendarización del Proyecto
RED DE ACTIVIDADES
14/9/06 15 días 15 días
M1 T3 T9
8 días 4/10/06
T1 5 días M4 25/10/06
4/9/06 T6 M6
25/9/06
Duració Dependencia INICIO M3
Tarea 15 días
n (días) s T2
20 dias
7 días
T7 T11
T1 8
hito
25/9/06 5/11/06
T2 15 10 días
T4 M2
10 días
T5
11/10/06
M8
M7
T3 15 T1 (M1) 15 días
M5
T10 T12
T4 10 18/9/06
25 días
10 días
T8
T5 10 T2,T4 (M2) FINAL
19/11/06
T6 5 T1,T2 (M3) • Camino crítico
– trayectoria más larga en la red de actividad
T7 20 T1 (M1) – el calendario completo depende de este
T8 25 T4 (M5) camino (los retrasos en estas actividades
afectan a todo el proyecto)
T9 15 T3, T6 (M4) – los retrasos en las demás actividades no
afectan necesariamente al proyecto
T10 15 T5, T7 (M7) – Al conocer cifras reales, se debe revisar la
red de actividades y reorganizar las
T11 7 T9 (M6) actividades posteriores para reducir la
longitud de la trayectoria crítica.
Planeación de proyectos
Calendarización del Proyecto
4/9 11/9 18/9 25/9 1/10 8/10 15/10 22/10 29/10 5/11 12/11 19/11
inicio
T4
T1
flexibilidad en la fecha de finalización
T2
M1
T7
T3
M5
T8
M3
M2
T6
La calendarización
inicial será, con
M4
T9
toda seguridad,
M7
incorrecta.
T10
M6 Durante el
T11 desarrollo se
M8 deben comparar
T12
las estimaciones
final contra los datos
reales.