Department of Computer ScienceProject management is about taking a disciplined approach to achieving a prescribed goal. In working towards this goal it is necessary to plan and control a variety of activities and there are a number of tools and techniques available to aid the project manager in this complex task.
Two of the main tools at the disposal of the project manager are bar charts and network diagrams.
The main aims of today's lecture is to provide an overview of these tools as well as an opportunity for you to practice creating them.
The objectives for you today are to gain an understanding of when and how to use two of these tools.
Planning the Project
Understand Requirement: Before a project plan can be produced, the project manager must ensure that s/he has a clear understanding of what the project is resolved to produce. Is the project simply to undertake a feasibility study? Has the project been approved to develop and install a new application?
In addition to this, the project manager must ensure that where the project is underspecified, unambiguous agreement is reached on what assumptions must be made, what level of risks are involved and what tolerances can be built in.
Break Down the Work Structure: How do you eat and elephant? A little piece at a time. Some companies have developed standard work breakdown structures, providing an aide memoire to project managers.
Break Down the Product Structure: This is an alternative way to identify project activities. It focuses however, on what is to be delivered rather than what actions are needed to achieve this delivery.
Identify Dependencies: In order to understand how each activity affects another in the project lifecycle, it is necessary to determine what actions must be taken in what order. Some activities will depend critically upon the completion of a previous one - e.g. analysing the requirements of a system cannot be carried out until at least one interview has been held. Others may have some flexibility in when they can be carried out. The essential part of this exercise is to identify those activities which are critical to the timely completion of the project - i.e., if they are delayed will impact on the overall lapse time of the project.
Identify Quality Activities: there are a variety of ways in which quality assurance can be addressed within a project; adoption of a structured method for design & development, (SSADM for example), use of CASE tools, structured walkthroughs, quality reporting, inspections, testing etc. Some of these will be inherent to the project (e.g. the fact that a methodological approach is being taken to manage the project is a quality issue) but others may need to be explicitly planned for, either within the overall project plan or as a separate quality plan.
Confirm Tolerances: projects are normally established within specific constraints of time, cost and quality. Projects need to be brought in within a certain timescale, cost no more than a set budget and perform according to specified criteria. However, there is often some leeway within these parameters and these need to be clearly acknowledged. For example, if the new system takes 14 months instead of 12, but costs £400,000 instead of £500,000, would this be ok? If cheaper hardware can be purchased, but transaction times increase by a few seconds each, would this be acceptable?
Understanding the flexibility of the criteria set, provides the project manager with better information when planning and controlling project activities.
Work Breakdown
At the beginning of any project it can seem as if there is an enormous amount of work to be accomplished and it can seem an imposing task. The way to start viewing it in manageable terms is to break it down into small chunks that can be assigned sensibly to team members. This is often best accomplished through brainstorming with a number of people.
Take as an example, the case of a feasibility study into installing a computerised stock system having been commissioned for a firm. This is the whole project in this case. It may be broken down initially into conducting the investigation and producing the report.
These are too large to plan with or make estimates about, so we break them down further. Conducting the investigation is broken down into five chunks; conduct interviews, investigate other systems, analyse requirements, investigate packages, investigate hardware.
These still cannot be usefully estimated from, so a further breakdown in required. Once we have got to the stage of dividing the work into small enough packages, we can begin the task of planning.
Although each interview involves carrying out the interview, writing & reviewing notes, creating and reviewing data flow diagrams, the plan need not go to this level of detail. The work task should be simplified as far as it needs to go and no further.
Each final task should be assignable to one individual and should be estimable with reasonable accuracy. Opinions differ on how long this should be but a general rule of thumb is that anything that is estimated to take more than two weeks should be broken down further. The larger the parcel of work is, the greater the chance of estimation errors occurring. If something takes less than one day, it may be unnecessarily detailed and may be better considered at a higher level.
For smaller projects, it may be possible to identify the activities by simply writing a list of things that need to be done.
Ex. 1: The project is to make a boiled egg and toast. Write down as many things that you can think of which are part of the task.
Establishing Dependencies
Once the activities are identified, the next step is to identify which activities have dependencies - i.e. which activities cannot begin until at least some work has been started on another activity.
For example:
Activity Duration Precedents
A Hardware selection 6
B Software design 4
C Install hardware 3 A
D Code software 4 B
E File Take-on 3 B
F Write user manuals 10
G User Training 3 E,F
H Install & test system 2 C,D
Ex. 2: identify in your egg and toast project, how long each activity will take, and what each of the precedents are.
Diagrams
Once the dependencies have been established, a diagrammatic representtaion of the project schedule can be made. The first that we shall look at is network diagramming.
There are basically two forms of this, Activity-on-Arrow networks and Activity-on-Node networks. We shall concentrate on the second of these but it should be noted that both types are widely used.
A precedence diagram is based on Activity-on-Node. Precedence Diagrams are generally considered to be a useful tool for analysing the project because:
- They help plan the project through better visibility of dependencies
- They can show parallel and sequential activities
- They can indicate where milestones might occur
- They can help in estimating the resources required
Precedence Diagram Construction Rules:
- Activities are drawn as boxes (nodes)
- Dependencies between the activities are drawn as connecting lines
- A project can have only 1 start node (source) and one end node (sink)
Precedence networks are more complex than activity on arrow networks and can hold substantial detail in the nodes:
- Activity label
- Duration (estimated time to do)
- Earliest start date
- Latest start date
- Earliest finish date
- Latest finish date
- Activity span (difference between earliest start date and latest finish date)
- Float (difference between earliest & latest start or finish dates)
Activity description
In this format, it is possible to demonstrate four types of dependency:
Finish to start - activity B cannot start until at least n time units after the finish of activity A
Start to start - activity B cannot start until at least n time units after the beginning of activity A
Finish to finish - there must be at least n time units between the finish of activity A and the finish of activity B
Start to finish - at least n time units must elapse between the start of activity A and the finish of activity B
Dependencies can be combined: thus activity B may not be allowed to start until n time units after the start of activity A and cannot finish until n time units after the finish of activity A.
Calculate Precedence Network
To develop our precedence network diagram, the boxes are first drawn with the links in place to identify activities, indicate depenencies and task durations are entered..
We now do a forward pass through the network to calculate the earliest date on which each activity may be started.
Dates indicate the end of a period, therefore the project starts in week 0 (or beginning of week 1).
Earliest start dates are calculated as follows:
- Activities A, B and F may start immediately so the earliest start date for these three activities is also 0.
- Activity A will take 6 weeks, so the earliest that C can start is week 6.
- Activity B will take 4 weeks so the earliest activity D and E can start is week 4.
- Activity F will take 10 weeks so the earliest it can finish is week 10 - we cannot however tell whether or not this is also the earliest date that we can start activity G since we have not as yet calculated when activity E will finish
- Activity E can start as early as week 4 and since it is forecast to take 3 weeks will be completed, at the earliest, at the end of week 7.
- Activity G can only be started when both E and F have been completed, i.e. week 10 (the later of 7 and 10)
Similarly we can reason that activity H will have an earliest date of week 9 - the later of 8 (earliest finish for activity D) and 9 (the earliest finish for activity C)
the earliest date for completion of the project is therefore the end of week 13 - the later of 11 (the earliest finish for H) and 13 (the earliest finish for G)
The next step is to carry out a backward pass to calculate the latest date at which each activity may be started and finished, without delaying the end of the project.
- Latest start dates are calculated as follows:
- The latest date finishing is assumed to be week 13, the same as the earliest project completion date.
- The latest start date for activity G is week 10, since activity G will take 3 weeks and must be completed by week 13 if the project date is not to be exceeded
- The latest start date for activity H is week 11 since activity H does not need to be started until week 11 if it takes 2 weeks and does not need to be completed until week 13
- The latest start date for activity B is the latest date by which we must be in a position to start both activities D and E. Activity E need not finish until week 10 and need not therefore start until week 7. Activity D need not finish until week 11 and, having a duration of 4 weeks, need not start until week 7. The latest start date for activity B is therefore week 3.
- The latest start date for activity C is week 8 since it takes 3 weeks, and need not be finished until week 11.
the latest start date for the project is the latest by which we must be in a position to start activity A (which must start by week 2), activity B (which must start by week 3), and activity F (which must start by week 0). This eventís latest date is therefore 0. This is of course not very surprising since it tells us that if the project does not start on time it wonít finish on time.
Calculating float:
The difference between the earliest and latest start date for an activity, is known as the float - it is a measure of how late an event may be without affecting the end date of the project.
Identifying the critical path:
Any activity with a float of 0 is critical - the path which joins critical events together is known as the critical path. There will be at least one in each project.
The critical path is significant because:
activities on the critical path must be given particular attention during monitoring of the project. Any delay on these activities will impact on project completion time, so remedial action will need to be taken
If the overall length of the project is to be shortened, it is on the critical path that replanning will need to be focused.
Ex. 3: Draw a precedence network for your egg and toast project. Draw the network first without timings then add these in and calculate earliest start times, latest start times, and float.
Gannt Charts
Visibility of information is an essential feature of planning and subsequent revision and refinement of the plan. Another method which provides this visibility is the bar chart, often called a Gannt chart. This form of planning was pioneered by an industrial engineer called Henry L. Gannt, during the First World War.
- To present the project on a Gannt chart
:- Tasks or activities are listed in the left hand column and a timescale is marked across the top of the sheet
- Against each activity an oblong is marked to show the expected start and end dates of the activity
- Parallel activities are identified and chart adjusted accordingly
- Dependencies are marked as connecting lines
- Milestones, i.e. specified checkpoints, are marked as triangles - often one colour/shade for original, another for slipped milestones
- Slippage on end or start of activities is indicated by an extension to the bar
Current date is normally indicated by a vertical line / arrow
In summary, Gannt charts are useful because:
- they are simple to draw and read
- they are useful in small or static environments
- they are good at providing an overview of project activities
- very widely used
- most PC software uses this as a graphical interface
They do have limitations however:
- they are difficult to update when there are many changes
- they do not show interrelationships between activities so well
Ex. 4: Draw the egg on toast project on a gannt chart.
Summary
Planning the project activities and establishing a schedule for these events is only the beginning of the monitoring and control activities that a project manager needs to carry out. The plans that are drawn up at the beginning of a project will of course be reasonably accurate for those activities which are well defined but when the analysis of a project has not yet been comp[leted, it is not possible to accurately estimate how long development will take, since not all the required functionality will have been identified. At the Feasibility stage, it may be that a reasonably accurate plan can be drawn up for how long the analysis will take, but further away tasks will be less accurately estimated.
For this reason, the project plan exists throughout the life of the project and is constantly updated and revised as new information is gained and clearer views of what is to be actioned can be gained.
In addition, it is necessary to mnitor actual work against the plan and update the plan accordingly. It is inevitable that the plan will not be 100% correct and it may need additional tasks added, task durations altered, new resources allocated etc.
To summarise:
Planning is essential to the successful completion of a project
Planning involves thinking hard about the project, what is to be achieved and who will be needed for the project team.
The starting point for a good plan is a proper understanding of the requirement and the project manager must ensure that this is done before planning begins
The work to be done is analysed using either a work breakdown structure or a product breakdown structure or a simple list.
Once activities are identified, the next step is to understand the dependencies between them
A network diagram shows these dependencies and can be used to identify the critical path through the project
Bar charts are useful for providing management overviews, network diagrams may be more useful for project team members
Planning is an iterative process and must be fed by activity and result monitoring.
Glossary
Activity (or work unit) a time (and cost) consuming task shown as a box on a network with lines between boxes indicating dependencies.
Activity Network A diagram showing the various project activities, put into a logical sequence, taking into account the dependencies between activities.
Checkpoint Activity Activities which draw together the products of preceeding activities to check that they are compatible or to check progress againt plan.
Critical path the sequence of activities in a network, the sum of the durations of which requires the greatest time for completion, that indicates the shortest time in which the total work represented by the network can be completed
Duration the number of units of time consumed by an activity
Float delay that can occur with the completion of any activity, or group of activities, without delaying the completion of the total project. Activities on the critical path have a zero float by definition.
Lag Time identifies a delay relationship between activities in the precedence method
Milestone See checkpoint activity.
Network graphical or pictorial representation of a series of operations
PERT Program (or Project) Evaluation and Review Technique for multiple resources, and the optimistic, pessimistic and most likely times
PRINCE Projects IN Controlled Environments. A structured method for the management and control of IS projects.
Last Updated: 13/11/98 by M.Wood@herts.ac.uk
© University of Hertfordshire Higher Education Corporation (1998)