Post on 31-Mar-2015
transcript
Scheduling Projects
José Onofre Montesa AndrésUniversidad Politécnica de
ValenciaEscuela 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.
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.
…: …
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.
GpiIP-2D Scheduling Projects 5
Creating an schedule and obtaining the critical path
• Ordering the tasks.• Creating the first
schedule (Calculating dates).
GpiIP-2D Scheduling Projects 6
Ordering the tasks.
• Identify and documenting relationships.– Restrictions,– Assumptions,– Obligatory relationships,– Discretional relationships,– External relationships.
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.
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.
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.
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”
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.
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.
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)
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,
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.
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
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.
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.
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
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.
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.
GpiIP-2D Scheduling Projects 22
Arrows diagram.
A
B
C
D
E F
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
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.
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
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
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.
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.
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.
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.
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).
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
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.
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
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
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
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
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.
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.
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
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
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.
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.
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.
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
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?
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.
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)
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.
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.
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.