Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela...

51
Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004

Transcript of Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela...

Page 1: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

Scheduling Projects

José Onofre Montesa AndrésUniversidad Politécnica de

ValenciaEscuela Superior de Informática Aplicada

2003-2004

Page 2: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 2

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.

Page 3: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 3

The starting point ...

• The WBS is available with project tasks.

• We have the task cards with the assigned resources and times.

1.1. EstudiarSistem a Actual

1.2. ide. nuevascarácteristica

1.0. Especificarnecesidades

2.1. EstudiarProcesos

2.2. EstudiarDatos

2.0. AnalizarContabilidad

3.1. DiseñoB.D

3.2. DiseñoProgram as

3.0. DiseñarAplicación

4.1. CreaciónEsquem a

4.2. CodificaciónProgram as

4.0. Codificación

5.1. PruebaUnidades

5.2. Prueba delSistema

5.0. Pruebas

0.0. ProyectoContabilidad

Especificación de tareaNú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/hombrePersonas: 1 Diseñador …Recursos: Sala de reuniones …Duración: 2 semanasEntregables: Estructura de

implementación de la B.D.

…: …

Page 4: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 4

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.

Page 5: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 5

Creating an schedule and obtaining the critical path

• Ordering the tasks.• Creating the first

schedule (Calculating dates).

Page 6: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 6

Ordering the tasks.

• Identify and documenting relationships.– Restrictions,– Assumptions,– Obligatory relationships,– Discretional relationships,– External relationships.

Page 7: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 7

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.

Page 8: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 8

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.

Page 9: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 9

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.

Page 10: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 10

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”

Page 11: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 11

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.

Page 12: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 12

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.

Page 13: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 13

TASK CARDTask specification

Number: 3.1.Name: Data Base Design.Description: Designing the data base

as ... .Estimated Effort : 2 weeks/personPersonnel: 1 Designer …Resources: meeting room …Elapsed time: 2 weeksDeliverables: D.B. implementation

structurePreceding tasks: 2.1 (mandatory); 2.2

(external)

Page 14: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 14

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,

Page 15: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 15

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.

Page 16: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 16

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 16weeks

Page 17: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 17

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.

Page 18: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 18

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.

Page 19: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 19

Precedence's Diagram.

Tarea: Especifica Necesidades

Recursos: …

Duración: 2 semanas

Tarea: Diseño Programas

Recursos: …

Duración: 4 semanas

Tarea: Diseño B.D.

Recursos: …

Duración: 2 semanas

Tarea: Realización Esquema

Recursos: …

Duración: 1 semanas

Tarea: Codificación Program.

Recursos: …

Duración: 7 semanas

Tarea: Pruebas

Recursos: …

Duración: 2 semanas

Page 20: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 20

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.

Page 21: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 21

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.

Page 22: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 22

Arrows diagram.

A

B

C

D

E F

Page 23: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 23

Arrow diagrams.

• Formal methods are based on this model.

• It’s lees intuitive because of dummy tasks.

A

B

C

D

E F

G

Page 24: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 24

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.

Page 25: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 25

Important dates in each task.

Activity label Duration

Earliest start

Earliest finish

Latest start

Activity description

Latest finish

Activity span Float

Page 26: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 26

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

Page 27: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 27

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.

Page 28: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 28

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.

Page 29: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 29

Calculating tasks dates.

• We start from the precedence´s diagram.

2.2 4 3.1 7

program design.

Code

1 2 4 2

Needs specs.

Test

2.1 2 3.2 1

D.B. Design

Schema construt.

Page 30: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 30

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.

Page 31: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 31

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

Page 32: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 32

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

Page 33: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 33

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.

Page 34: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 34

Example.Activity

Description Effort Brooks type

Resources Predecessors

A Specs 3 months 1 2 Annalists - B D. B. Design 1 month 2 1 Annalist A C Process design 4 months 1 2 Annalists A D Prototype 1 month 2 1 Programmer C, E E Schema 0,5 months 1 1 Annalist B F Codification 8 months 1 4 Programmers C, E G Prototype Revision 0,5 months 2 1 Annalist D H Code Revision 2 months 1 2 Programmers F, G I Test 2 months 1 2 Programmers H J System Installation 1 month 1 2 Programmers I K Maintenance 2 months 2 1 Programmer J

Page 35: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 35

Precedence's diagram.

B 1 E 0,5 D 1 G 0,5

1,5 Diseño 2,5 2,5 Desarrollo

3 3,5 Construc 4,5 4,5 Revisión 5

2 B.D 3 3 Esquema 3,5 4 Prototipo 5 5 Prototipo 5,5

A 1,5 1,5 0,5 1 0,5 1,5 0,5 1 0,5

0 Análisis 1,5

0 1,5

1,5 0 C 2 F 2

1,5 Diseño 3,5 3,5 Codifica. 5,5

1,5 Progrm. 3,5 3,5 5,5

2 0 2 0

H 1 I 1 J 0,5 K 2

5,5 Revisión 6,5 6,5 Pruebas 7,5 7,5 Instalaci. 8 8 Manten. 10

5,5 Código 6,5 6,5 7,5 7,5 8 8 Inicial 10

1 0 1 0 0,5 0 2 0

Page 36: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 36

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 8 9 10

Page 37: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 37

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

Page 38: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 38

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.

Page 39: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 39

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.

Page 40: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 40

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 8 9 10

Page 41: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 41

An example.

• We want the information about programmers in the exercise.

6

543

21

1 2 3 4 5 6 7 8 9 1 0

Page 42: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 42

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.

Page 43: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 43

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.

Page 44: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 44

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.

Page 45: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 45

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

Page 46: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 46

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?

Page 47: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 47

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.

Page 48: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 48

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)

Page 49: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 49

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.

Page 50: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 50

Plan general acceptance.

• A good plan must be:– accepted by all the

participants, and– All the people

believe in this plan.

• It must be realist.

• The probability of success is more function of belief than reality.

Page 51: Scheduling Projects José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004.

GpiIP-2D Scheduling Projects 51

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.