Está en la página 1de 68

Scheduling

Sesión 06
FIEC03046
Sesión 08
Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Agenda

• Terminología
• Scheduling
• Fases y milestones
• Cuadros de Gantt
• Técnicas de redes: activity-on-arrow networks
• Análisis de la red

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Terminología

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Terminología

• Proyecto: Trabajo organizado hacia un objetivo predefinido


que tiene límites claros, requiere recursos y esfuerzo, es
único y por lo tanto tiene un elemento de riesgo, y tiene
asignado su propio presupuesto y cronograma.
• Project manager (Director de proyecto): es la cabeza del
equipo de proyecto en la organización contratista.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Fuente: http://www1bpt.bridgeport.edu/sed/projects/cs597/unfiled/zhipingli/report.html

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
WBS

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
The Work Breakdown structure

• Es una forma jerárquica de organizar el trabajo a realizar


• Planificar el trabajo en tanto detalle como sea posible
• Iniciar de un proyecto completo y descomponer el trabajo en
pasos lógicos hasta el nivel más bajo, en donde aparecen tareas
para individuos
• Revisar el plan en cada fase o milestone para descomponer el
trabajo que aún no haya sido planificado en detalle.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
The Work Breakdown Structure (WBS)

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
The Work Breakdown structure

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
The Work Breakdown Structure
• Identifica todo el trabajo
• Proyectos necesitan una duración y alcance definido para facilitar
la gestión
• Organiza efectivamente el proyecto en work packages –
subcontratar o asignar un equipo
• Descomposición de los work packages en elementos
• El WBS no implica un orden en el trabajo
• Work package definition: un contrato entre el equipo y el
director de proyecto

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Ejemplo de WBS set up new office

1 organize site 2 furnish office 3 equipe office

1.1 survey site 2.1 order furniture 3.1 plan equipment

1.2 plan alterations 2.2 move furniture in 3.2 move equipment in and
1.2.1 plan office layout ......connect
1.2.2 plan wiring 3.3 test equipment and
......connections
1.2.3 plan lighting

1.3 do any demolition required

1.4 set up new partitions

1.4.1 do rough carpenty

1.4.2 do wiring

1.4.3 plasterboard and finish

1.5 decorate

1.5.1 paint and wallpaper


1.5.2 carpet, curtains

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
The Work Breakdown structure

• Statement of Work (SOW): un contrato entre el líder del


equipo y un miembro o pequeño grupo.
• El WBS es utilizado para preparar el cronograma, estimación
y análisis de riesgo
• Incluye el trabajo para conseguir la aceptación de cada work
package y los milestones del proyecto -definición del
paquete y terminación del proyecto
• Un sistema de referencia para el trabajo

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Ejemplo de un Work Package Definition /
Statement of Work
• Título: WBS Ref No:
• Descripción:

• Fecha de inicio: Fecha de fin:


• Entregables:

• Criterio de aceptación:
• Contrato acordado por el work package manager:

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Scheduling

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Scheduling

• Scheduling significa “elaborar el cronograma”


• Scheduling es una de las principales actividades de un
director de proyecto.
• Muchas organizaciones de ingeniería de software desarrollan
productos de alta calidad, pero son entregados muy tarde. El
tiempo es dinero.
• Los proyectos con retraso son caros para cliente, el
contratista o ambos.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Scheduling

• Para intentar asegurar que un proyecto sea terminado a


tiempo es necesario preparar un cronograma detallado de
cada actividad en el proyecto y monitorear.
• Elaborar y monitorear un cronograma detallado no es
suficiente para garantizar que un proyecto será terminado a
tiempo.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Fases y milestones

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Fases y milestones

• Un proyecto puede ser dividido en fases. Por ejemplo,


instalar un nuevo equipo en una fábrica podría tener las
siguientes fases: diseño, compra, instalación y puesta en
marcha.
• Los eventos importantes o principales milestones en el
proyecto son los puntos de terminación de cada fase.
• Dividir un proyecto en fases secuenciales a menudo no es
posible: usualmente hay un número de actividades que se
traslapan en el tiempo.
Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Milestones

• Siempre se debe identificar un número de eventos


importantes claramente definidos en un proyecto, los cuales
pueden ser utilizados como milestones.
• Una característica de un buen milestone es que no puede
existir duda alguna acerca de si ha sucedido o no. Por
ejemplo, durante la construcción de un buque podría ser el
lanzamiento del buque al agua.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Milestones

• En el caso de un milestones para la terminación de una fase


de diseño por ejemplo, se debe definir claramente los
productos que debe ser entregados para poder decir que se
ha completado el diseño.
• Un buen milestone también debe ser significativo.
• El término baseline es utilizado para representar el estado
de un proyecto o alguna parte identificable de un proyecto
en un instante en particular. Se utiliza usualmente para el
estado del final de una fase significativa del trabajo.
Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Baseline

• La siguiente fase se construye sobre el baseline alcanzado al


final de la fase anterior. Por ejemplo, un posible baseline es
que el diseño de un grupo de ítems ha sido terminado y
aprobado. Usualmente, se planificaría que este baseline sea
alcanzado antes que la fabricación de esos ítems pueda
empezar.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Gantt charts

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Gantt chart

• La idea de un cuadro de Gantt es listar todas las actividades


de un lado de la página y utilizando una escala de tiempo
horizontal, dibujar una barra para cada actividad con la
finalidad de representar el periodo sobre el cual debe ser
desarrollada.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Gantt chart

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Gantt chart

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Gantt chart

• Existen variaciones del cuadro de Gantt los cuales incluyen


mayor cantidad de información.
• Es fácil de entender, no obstante el contenido del mensaje
en un simple cuadro de Gantt es bastante limitado.
• Entre las variaciones, se utiliza el color o un sombreado para
representar las actividades que son responsabilidad de una
persona o departamento, o para indicar el avance de cada
actividad.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Gantt chart

• Un aporte significativo es resaltar la cadena de actividades


secuenciales que determinan el tiempo mínimo requerido
para el proyecto. Se dice que estas actividades están en el
critical path (camino crítico). Demoras en cualquiera de estas
actividades incrementaría la duración del proyecto.
• Veamos Microsoft Project...

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Limitaciones del Gantt chart

• No es fácil mostrar las dependencias de una actividad con


otra, excepto por inferencia.
• No se puede apreciar el camino crítico.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Técnicas de redes: activity-on-arrow networks

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Network techniques

• Existen paquetes informáticos para producir cronogramas


basados en técnicas de redes.
• Existen algunas variantes de las técnicas de redes: critical
path scheduling, critical path analysis y PERT(Project
Evaluation and Review Technique).
• La idea principal de la red es representar gráficamente la
relación secuencial entre las actividades que van a ser
desarrolladas en el proyecto.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Network techniques

• En contraste al cuadro de Gantt en donde dibujar las barras


no puede ser hecho hasta que las fechas o al menos el orden
relativo y las duraciones sean fijas, en las redes el objetivo es
desarrollar un diagrama sin conocer al inicio la fecha real en
la cual las actividades van a ser desarrolladas.
• El diagrama de red de las actividades y sus dependencias
entre sí, no cambian significativamente aún cuando la
duración estimada para las actividades cambia o alguna
nueva actividad es añadida.
Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Network techniques

• Para desarrollar una red el planificador debe responder dos


preguntas para cada actividad:
• Qué se debe hacer antes de iniciar esta actividad?
• Qué se puede hacer una vez que esta actividad es terminada?
• Una vez que las cadenas de actividades dependientes ha sido
identificada, una tercera pregunta puede ser realizada acerca
de cada actividad:
• Qué actividades pueden ser realizadas al mismo tiempo que esta
actividad?
Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks

• Cada actividad es representada por una flecha que inicia y


finaliza en un nodo (dibujado como un círculo).
• Cada nodo representa un evento, un punto con tiempo de
duración igual a cero que significa la terminación de todas
las actividades dirigidas a ese nodo.
• Los números debajo de cada flecha representan la duración
de cada actividad.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks

• Los números en los círculos representan eventos


Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Dummy activities

• En virtud que los caminos a través de la red son identificados


por eventos únicos, solo una actividad puede unir un par de
nodos.
• Las actividades dummy introducen un nodo adicional,
exclusivamente para efectos de identificación.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Dummy activities

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Dummy activities

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Inicios múltiples y fin

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks

• Las redes NO pueden


contener lazos

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Análisis de la red

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Análisis de la red

• Una vez que la red ha sido dibujada y a cada actividad se le


ha asignado una duración estimada, se necesita el earliest
time -lo más temprano- que podemos llegar a un nodo.
• Luego, necesitamos conocer el latest time – lo más tarde- al
cual un nodo puede ser alcanzado.
• En general cada nodo estará asociado con dos tiempos, el
earliest time y el latest time.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Análisis de la red

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Análisis de la red

• El earliest event time es lo más pronto que un nodo puede


ser alcanzado.
• El latest event time es lo más tarde que un nodo puede ser
alcanzado si el proyecto debe ser completado a tiempo.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Cálculo del earliest event time

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Calculando earliest event times

• El cálculo del earliest event time para cada nodo es hecho a


través del forward pass a través de la red, iniciando desde el
único nodo de inicio y terminando en el único nodo de
terminación del proyecto.
• El earliest event time en cada nodo es el tiempo en el cual
cada actividad predecesora ha sido completada.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Calculando earliest event times

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Calculando earliest event times

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Cálculo del latest event time

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Calculando latest event times

• Estos tiempos son calculados en el backward pass.


• Indica cuan rápido el proyecto puede ser terminado.
• Sin embargo, dada una fecha de fin, no solo estamos
interesados en saber cuán rápido un proyecto puede ser
terminado sino también lo más tarde que cada evento puede
ocurrir si el proyecto debe ser terminado en esa fecha.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Calculando latest event times

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Calculando latest event times

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Calculando latest event times

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Camino crítico

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Calculando EST, EFT, LST, LFT
• EST (Earliest Start Time)
• es el earliest event time del nodo de inicio
• EFT (Earliest Finish Time)
• es el earliest event time del nodo de inicio + duración
• LST (Latest Start Time)
• es el latest event time del nodo de fin - duración
• LFT (Latest Finish Time)
• es el latest event time del nodo de fin

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Float y critical path

• Algunas actividades podrían incrementar su duración y aún


así el proyecto podría completarse en la fecha establecida. Se
dice que esas actividades tienen float.
• Float es el exceso de tiempo disponible en una actividad al
de su tiempo estimado de duración.
• Path float o total float es el tiempo que una actividad se
puede expander o retrasar su inicio y el proyecto aún se
cumplirá en la fecha establecida.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Float y critical path

• Total float = latest time of finish event - earliest time of


start event - duration
• En el ejemplo, la actividad buscar un lápiz tiene un float de 4
minutos: 5-0-1
• Path es cualquier secuencia de actividades que podrían ser
descritas siguiendo las flechas de actividades desde el inicio
al final del proyecto.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Float y critical path

• El critical path es el path con menos float.

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow network

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow network

• La red para el proyecto sería:

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Más ejemplos

Ingeniería de Software I
Unidad 1 Dr. Carlos Mera Gómez
2019
Tabla de datos de actividades Ejemplo 5
Actividad Duración Dependencia con Personas
(semanas)
A 10 Ninguna 1
B 5 Ninguna 2
C 10 AyB 2
D 10 C 1
E 5 C 1

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks Ejemplo 5

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks Ejemplo 5

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks Ejemplo 5

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Activity-on-arrow networks Ejemplo 5

• Tabla de análisis para la red

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Una red completa

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Puntos para recordar
• Definición de proyecto
• Criterio para seleccionar un milestone
• Gantt chart vs. Activity-on-arrow network
• Las actividades van en las flechas
• Los eventos van en los nodos
• Earliest event time y Latest event time
• Claramente identificar unidades y convenciones al elaborar la
red
• Utilizar el menor número de actividades dummies
Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019
Próxima sesión

• Resources and scheduling

Ingeniería de Software I
Unidad 2 Dr. Carlos Mera Gómez
2019

También podría gustarte