Scheduling
Projects
José Onofre Montesa Andrés
Universidad Politécnica de
Valencia
Escuela Superior de
Informática Aplicada
2003-2004
Goal.
• We have identify:
– Deliverables, stages, and project tasks
– The resources to be assigned to each task, and
– the assignment person-task.
• We need to obtain a timetable, with two aims:
– That it’s clear “what” and “when” is expected
– verify that it’s possible, a day contains 24 h.
GpiIP-2D Scheduling Projects
1
The starting point ...
• The WBS is available
with project tasks.
• We have the task
cards with the
assigned resources
and times.
0.0. Proyecto
Contabilidad
1.0. Especificar
necesidades
2.0. Analizar
Contabilidad
3.0. Diseñar
Aplicación
4.0. Codificación
5.0. Pruebas
1.1. Estudiar
Sistema Actual
2.1. Estudiar
Procesos
3.1. Diseño
B.D
4.1. Creación
Esquema
5.1. Prueba
Unidades
1.2. ide. nuevas
carácteristica
2.2. Estudiar
Datos
3.2. Diseño
Programas
4.2. Codificación
Programas
5.2. Prueba del
Sistema
Especificación de tarea
Número:
3.1.
Nombre:
Diseño B.D.
Descripción: Se diseñara la base de
datos, partiendo del
modelo entidad-relación
propuesto en el análisis y
con el objetivo de tener
un sistema funcionando
sobre DB2.
Esfuerzo Estimado: 2 semanas/hombre
Personas:
1 Diseñador …
Recursos:
Sala de reuniones …
Duración:
2 semanas
Entregables: Estructura de
implementación de la
B.D.
…:
…
GpiIP-2D Scheduling Projects
2
Steps when creating an
acceptable timetable.
• Creating an schedule and obtaining the
critical path.
– Ordering the tasks,
– Creating the first schedule,
• Review and adjustment:
– Depending on the use of resources,
– According to the users needs,
• General acceptation of the plan.
GpiIP-2D Scheduling Projects
3
Creating an schedule and
obtaining the critical path
• Ordering the tasks.
• Creating the first
schedule (Calculating
dates).
GpiIP-2D Scheduling Projects
4
Ordering the tasks.
• Identify and documenting relationships.
–
–
–
–
–
Restrictions,
Assumptions,
Obligatory relationships,
Discretional relationships,
External relationships.
GpiIP-2D Scheduling Projects
5
Identify and documenting
relationships.
• In a general way, looking from each
task, we ask:
– What have to be done before this?
– What can be done at the same time?
– What follows to this?
• We will add to each task card the
former tasks list.
GpiIP-2D Scheduling Projects
6
Restrictions.
• They are the factors that reduce the
development team options.
• They come from the client or the
developer enterprise.
– Example:
• Development language,
• Hardware,
• people that will be assigned.
GpiIP-2D Scheduling Projects
7
Assumptions.
• Facts that we consider true when
planning,
• We have some risk and they may not be
accomplished.
• They are directly related with project
risks.
• Example: We will have a computer in the
client’s office.
GpiIP-2D Scheduling Projects
8
Obligatory relationships.
• They are inherent in the work nature
(technical aspects).
• It’s usually due to the need of one
deliverable in order to start an other
task.
• Example:
– “Test XYZ program”, must be preceded by
“Coding XYZ program”
GpiIP-2D Scheduling Projects
9
Discretional relationships.
• They are defined by the project team.
• We need to be careful, it can restrict the
project program in the future.
• It’s based on:
– The best practices,
– We prefer a sequence because it’s easier to
control.
– Limitations on personnel assignments.
GpiIP-2D Scheduling Projects
10
External relationships.
• They came from outside the project.
• They are related to interdependence with:
– other projects.
– External enterprises or contracts on which we can’t
say anything.
• One task cannot start until we have an
external product..
– Example: Test a software on specific hardware.
GpiIP-2D Scheduling Projects
11
TASK CARD
Task specification
Number:
3.1.
Name:
Data Base Design.
Description: Designing the data base as ... .
Estimated Effort : 2 weeks/person
Personnel: 1 Designer …
Resources: meeting room …
Elapsed time:
2 weeks
Deliverables:
D.B. implementation structure
Preceding tasks: 2.1 (mandatory); 2.2 (external)
GpiIP-2D Scheduling Projects
12
Graphical Representation of
tasks precedence's.
• There are a lot of methods in order to
represent this sequence in a visual way.
– Gantt Diagrams,
– Precedence's Diagrams,
GpiIP-2D Scheduling Projects
13
Gantt Diagram.
• This is the eldest diagram and it’s possible
that the most used diagram.
• We represent it in a double axis :
– In the horizontal axis it’s represented the time,
– In the vertical axis the tasks,
– Each task is represented as a rectangle, at the
level of the task and starting and finishing at
the beginning and end of the task in the time.
GpiIP-2D Scheduling Projects
14
Gantt Diagram
TASKS
Needs Specs
Program's Design
Data Base Design
Data Schema
Program's Codification
Test
0
2
4
6
8 10 12 14 16
weeks
GpiIP-2D Scheduling Projects
15
Gantt Diagram
• Weaknesses:
– No explicit technique for depicting
interrelationships.
– The graph tends to be inflexible.
• Strengths:
– Easiest of all systems in some respects
because it is well understood.
– Can also be used for estimating resource
requirements.
GpiIP-2D Scheduling Projects
16
Precedence's Diagram.
• The network is a graphic model portraying
tasks and dependences.
• Boxes (nodes) represent activities.
• Links represent dependences
• All the boxes have the same size and may
contain a lot of information about the task.
• Links are represented by an arrow from
starting in the predecessor node.
GpiIP-2D Scheduling Projects
17
Precedence's Diagram.
Tarea: Diseño Programas
Tarea: Codificación Program.
Recursos: …
Recursos: …
Duración: 4 semanas
Duración: 7 semanas
Tarea: Especifica Necesidades
Recursos: …
Tarea: Pruebas
Duración: 2 semanas
Recursos: …
Duración: 2 semanas
Tarea: Diseño B.D.
Recursos: …
Duración: 2 semanas
Tarea: Realización Esquema
Recursos: …
Duración: 1 semanas
GpiIP-2D Scheduling Projects
18
Precedence's Diagram.
• This model is the more used by software
programs, as Gantt diagram.
• When we use software to plan projects,
we can establish different kinds of
dependences as:
– Finish to start and …
– Start to end, Start to Start and end to end.
GpiIP-2D Scheduling Projects
19
The Pert Diagram.
• It’s a dual representation.
• Arrows are represented as tasks,
• Time events are represented by nodes,
they show that we have finish same
tasks.
• We have dummy tasks in order to
represent partial events.
GpiIP-2D Scheduling Projects
20
Arrows diagram.
A
C
B
E
F
D
GpiIP-2D Scheduling Projects
21
Arrow diagrams.
• Formal methods are based on this model.
• It’s lees intuitive because of dummy
tasks.
A
C
E
F
B
G
D
GpiIP-2D Scheduling Projects
22
Calculating dates.
• We are going to see one of the easiest ways.
• We fist talk about important dates in each
task.
• After we will se the steps:
– Calculating the times for each task in the project.
– Definition and critical path identification.
• Example.
GpiIP-2D Scheduling Projects
23
Important dates in each task.
Activity label
Duration
Earliest
Activity
start
description
Latest
start
Activity span
Earliest
finish
Latest
finish
Float
GpiIP-2D Scheduling Projects
24
Important dates in each task.
• Activity description is the name we give to the
task.
• Task label is a number identifying each task.
• Duration is the time We calculate that is
necessary to complete the task.
• Earliest start is de more earliest time in which
the task can be started
GpiIP-2D Scheduling Projects
25
Important dates in each task.
• Earliest finish is the earliest time in which we
can finish the task if it starts Early.
• Latest start is the latest time in which we can
start the task and the project finish in the
proposed data.
• Latest finish is the latest time in which we can
finish the task and the project finish in the
proposed data.
GpiIP-2D Scheduling Projects
26
Important dates in each task.
• Activity span is the maximum time that
we have to do the task.
• Float is the time We have to change the
start time of the task.
GpiIP-2D Scheduling Projects
27
Calculating tasks dates.
• We start from the precedence´s
diagram.
2.2
4
3.1
program
design.
1
7
Code
2
4
Needs
specs.
2
Test
2.1
2
D.B.
Design
3.2
1
Schema
construt.
GpiIP-2D Scheduling Projects
28
Calculating tasks dates.
• We assign “0” as Earliest start at all the task
without predecessor.
• The Earliest finish is calculated adding to the
earliest the duration.
• It a task has predecessors and all of them has
calculated the earliest finish, then We put as
earliest start the maximum of all this earliest
finish.
• We continue until all the tasks has the
earliest times.
GpiIP-2D Scheduling Projects
29
Calculating tasks dates.
• We calculate the end of the project,
– We find the maximum of all earliest finish of all
the activities.
– Or we take the finish proposed by the client if its
greater than the other calculated.
– Usually we take the first of this, client usually
wants the system now.
• We assign this data as latest finish to all the
activities that don’t have links to other
activities (no activities after that).
GpiIP-2D Scheduling Projects
30
Calculating tasks dates.
• The latest start is calculated subtracting to
the latest finish the duration.
• Predecessor activities that have links to
activities with latest start takes as latest
finish the minimum of all this latest starts.
• Activity span and float:
– Activity span = latest finish – earliest start
– Float = Activity span - Duration
GpiIP-2D Scheduling Projects
31
Critical Path
definition and identification.
• The critical path is the set of activities with
no float (float = 0)
If we want the minimum duration, we have critical
path.
• Starts in an activity without predecessors,
cross all the graph and arrive to an activity
with no links to other activities.
• If one activity in the critical path has more
duration than estimated, the project will
finish later than expected.
GpiIP-2D Scheduling Projects
32
Example.
Activi Description
ty
Effort
Brooks
type
Resources
Predeces
sors
A
B
C
D
E
F
G
H
I
J
K
3 months
1 month
4 months
1 month
0,5 months
8 months
0,5 months
2 months
2 months
1 month
2 months
1
2
1
2
1
1
2
1
1
1
2
2 Annalists
1 Annalist
2 Annalists
1 Programmer
1 Annalist
4 Programmers
1 Annalist
2 Programmers
2 Programmers
2 Programmers
1 Programmer
A
A
C, E
B
C, E
D
F, G
H
I
J
Specs
D. B. Design
Process design
Prototype
Schema
Codification
Prototype Revision
Code Revision
Test
System Installation
Maintenance
GpiIP-2D Scheduling Projects
33
Precedence's diagram.
B
1,5
A
0
0
1,5
Análisis
1,5
1,5
1,5
0
2
1,5
C
1,5
1,5
2
Diseño
B.D
Diseño
Progrm.
1
2,5
E
2,5
3
0,5
3
1
Desarroll
o
Esquema
2
3,5
3,5
0
0,5
3
D
3,5
3,5
0,5
4
1,5
F
3,5
3,5
2
H
5,5
5,5
1
Revisión
Código
1
6,5
6,5
0
Codifica.
I
6,5
6,5
1
Construc
Prototipo
1
4,5
G
4,5
5
0,5
5
1
Revisión
Prototipo
0,5
5
5,5
0,5
2
5,5
5,5
0
Pruebas
1
7,5
7,5
0
J
7,5
7,5
0,5
GpiIP-2D Scheduling Projects
Instalaci.
0,5
8
8
0
K
8
8
2
Manten.
Inicial
2
10
10
0
34
Gantt diagram.
A
2ª
B
1A
C
2A
D
1P
E
1A
F
4P
G
1A
H
2P
I
2P
J
2P
K
1P
1
2
3
4
5
6
7
GpiIP-2D Scheduling Projects
8
9
10
35
Main difference between PERT
and CPM.
• PERT (Program Evaluation and Review
Technique), We calculate de duration
based on three estimations:
– Optimist (Minimum) (to),
– Mean time (most likely) (tm),
– pessimistic (Maximum) (tp).
• duration is calculated as:
duration = ( to + 4 tm + tp) / 6
GpiIP-2D Scheduling Projects
36
Main difference between PERT
and CPM.
• CPM (Critical Path Method), uses fixed
estimations for each task, as we do.
• CPM is behind most of the project
management software.
GpiIP-2D Scheduling Projects
37
Resource use graphic
representation.
• It’s useful in order to see each resource
work load. And:
– Communicate shared resources
– Verify the balanced use of resources,
– Verify that no resource is used more than
possible.
• We usually use Gantt and the resources
use graphic.
GpiIP-2D Scheduling Projects
38
An example.
• We want the information about
programmers in the exercise.
D
1P
F
4P
H
2P
I
2P
J
2P
K
1P
1
2
3
4
5
6
7
GpiIP-2D Scheduling Projects
8
9
10
39
An example.
• We want the information about
programmers in the exercise.
6
5
4
3
2
1
1
2
3
4
5
6
7
GpiIP-2D Scheduling Projects
8
9
1 0
40
Revision and adjust of the
time table.
• Usually the first plan is based on
Obligatory relationships between tasks.
• It’s possible that we need to refine de
plan based on:
– The use of resources:
• Equilibrating resource availability.
– The users needs:
• As soon as possible (usually).
• Opportunity costs.
GpiIP-2D Scheduling Projects
41
In the plan, We can act:
• On task sequence.
– Increase the parallelism.
• Over the task duration:
– Use better techniques and tools.
– Modify the people productivity.
– Modify the quantity of resources assigned
to a task.
GpiIP-2D Scheduling Projects
42
Revise the task sequence.
• We analyze the critical path and
understand why task are in this order.
• Is it possible take any task of this sequence?
• Increase the parallelism.
• Is it possible start a task when the precedent is
at the 60% developed?
• This is a danger thing because it can carry redo
same works.
GpiIP-2D Scheduling Projects
43
Revise the task duration.
• Only in this within the critical path.
• It’s possible that the critical path
change.
• When reduce the duration of a task
implies a higher cost, we must balance
the duration and cost
GpiIP-2D Scheduling Projects
44
Revise tasks, using better
techniques and tools.
• Task duration is based on a technique or
tool?
• Exists same software to support the
task?
– It was expensive and we don’t consider that
before,
– Look at the learning curve.
• Eliminate training task.
– Can we use known tools?
GpiIP-2D Scheduling Projects
45
Revise tasks duration based on
productivity.
• Can we change the quality and/or
productivity of assigned resources?.
• Comparing programmers productivity it
was found a variation of 1 to 25.
• Tom DeMarco, and M. Page-Jones, said
that relations 1 to 3 are usually in
organizations.
GpiIP-2D Scheduling Projects
46
Revise tasks duration based on
the quantity of people on task
• We can assign more people to the
project and the critical path task can
use more people.
• But:
– We have different types of task (Brooks)
– Assigning more people to a project increase
the number of task and can delay the
project. (Brooks)
GpiIP-2D Scheduling Projects
47
Revise tasks duration,
assigning extra hours.
• It can increase the cost or not
• Expertise people said that you mast use
extra hours in punctual situations
– As a deviation in the plan
• It’s no reasonable use this idea in the
planning phase.
GpiIP-2D Scheduling Projects
48
Plan general acceptance.
• A good plan must be:
– accepted by all the
participants, and
– All the people believe
in this plan.
• The probability of
success is more
function of belief
than reality.
• It must be realist.
GpiIP-2D Scheduling Projects
49
Bibliography
•
•
•
•
•
•
•
•
•
de Cos Castillo, M. Teoría general del proyecto. Editorial Sintesis.1995.
Cotterell, M, Hughes,B. Software project management. ITP (Thomson
Publishing Inc.). 1995.
DeMarco, Tom, Lister, Peopleware. Dorset House, 1987.
García Cabañes, J., Fernández Martínez, L., Tejera del Pozo, P. Técnicas
de Investigación Operativa. Paraninfo, 1990. (Tema 5)
Lock, D. Gestión de proyectos. Paraninfo, 1990.
Microsoft Press. Microsoft Project para windows 95 paso a paso.
McGraw-Hill 1995.
Page-Jones, M. Practical Project Management. Dorset House, 1985.
Romero López, C., Técnicas de programación y control de proyectos,
Pirámide, 1988.
BBC Training Videos, El proyecto empresarial: Dirección y Control,
International Education & Training Enterprises S.A.
GpiIP-2D Scheduling Projects
50
Descargar

Scheduling Projects