Project plan? May be. Project schedule? Possibly. 🙂
Project Plan is like planning for the journey. Preventive maintenance of car, filling up gas, booking beach side vacation home, taking driving directions and route-map, packing bags, and stocking eatables for the journey. Schedule is what you need when you actually start the journey. Knowing when to change gears, accelerate, brake, stop at gas station, refer to the route-map.
It all comes together now!
To develop schedule you would need all the output created in previous Time Management Knowledge Area processes (and some other) to come up with an effective schedule.
- Schedule management plan (from Plan Schedule Management process)
- Activity list, Activity attributes (from Define Activities process)
- Project schedule network diagrams (from Sequence Activities process)
- Project staff assignments and Resource calendars (from Acquire Project Team and Conduct Procurements processes)
- Activity resource requirements and Resource breakdown structure (from Estimate Activity Resources process)
- Activity duration estimates (from Estimate Activity Durations process)
- Project scope statement (from Define Scope process)
- Risk register (from Identify Risks process)
- Enterprise environmental factors – helpful things like a scheduling tool
- Organizational process assets – things like holiday calendars, scheduling methodology, schedules from earlier similar projects, tips and lessons given by other project managers
You will need to refer to the holiday calendar and important dates of customer organization as well while preparing schedule. Schedule gives start and end dates of activities and the milestone dates. If you have a release date coming up during a major holiday season you may not have required person to validate deliverables on customer side. This is important especially if you are running an Agile project.
Know that schedule does not come up right the first time.
Developing schedule is an iterative process.
Just because we use outputs from previous processes here we are not set to develop schedule at one go. When you work out the schedule you will unearth some of the inefficiencies in estimating resources or duration of activities. You will find that some activities need more/less time than originally estimated. Some additional resources might be required, or some resources might be redundant. Some risks may be identified, thereby needing additional duration or resources. You may even get more understanding about few activities and their attributes!
This is one of the reasons why developing schedule becomes an iterative process.
When that happens you simply go back, update corresponding documents, and continue with developing schedule. Do not fret over these changes (which seem to elongate schedule preparation), be glad that you discovered them now. This is probably the golden time to discover any shortcomings in the outputs of previous processes. Cost of changes to schedule is higher as project progresses.
Once you have the schedule, you may discover external constraints such as the need to pull in a certain release date to match customer’s board meeting. There are couple of schedule compression techniques that may help you in doing this, but they come with related risks. We shall see them later.
Before jumping on to tools and techniques let us see the approach for developing schedule.
Schedule development approach
Study the diagram below. You will notice few components – Schedule method, Scheduling tool, Project specific data and Schedule model.
Figure 1: Schedule development methodology
In short, this diagram indicates that you first decide on a scheduling method (such as Critical-path method or Critical-chain method), and use a scheduling tool that is a software based on this scheduling method and then feed project specific data (such as activities, dependencies, resources and durations) into it to create a schedule model. The resulting list of activities with start and end dates is the project schedule – against which project work status is periodically compared.
Let us look into a bit more of each of these components –
This provides a framework within which schedule models are developed. As we saw earlier, Critical-path method (CPM) and Critical-chain method (CCM) are two popular scheduling methods.
Your organization may already have selected the scheduling method to use on the project. CPM is the most commonly practiced scheduling method.
PMBOK standard assumes Critical Path Method (CPM) and not Critical Chain Method.
Critical path method uses forward pass and backward pass to calculate early start and finish, and late start and finish respectively. Precedence diagramming method (PDM) is used to sequence activities for CPM.
Scheduling tool is used to assemble a schedule model and provide means of adjusting parameters.
Usually, scheduling tool has the following capabilities –
- Select the type of relationship to apply between activities (such as Finish-to-Start, Start-to-Start)
- Add lags and leads between activities
- Apply resources and estimates to arrive at dates
- Apply schedule compression techniques to shorten project duration
Feeding project specific data such as activities, dependencies, resources and estimates into scheduling tool creates a schedule model that is very specific to the project. This model is then used to create schedule that has planned completion dates.
This is a representation of activities, their precedence logic and constraints in order to get a start and end date for the project. While the project specific data within project tool is considered as project tool and the resulting list of activities with start and end dates is considered as project schedule. The same schedule model can create different representation of schedule such as in tabular format, activity bar charts with dates, network logic diagrams with dates and so on.
Five basic types of schedules are –
- Early start schedule
- Late start schedule
- Baseline schedule
- Resource-limited schedule
- Target schedule
There are others but they are variations of the above five.
These are the ways of developing project schedule
Schedule network analysis
Is a tool that employs rest of the tools and techniques such as critical path method, critical chain method, what-if analysis, and resource leveling to generate the project schedule.
Critical path method (CPM)
Critical path is made up of series of activities from beginning of the project to the end, where each activity has a dependency over previous activity in such a way that delay in any one activity causes delay in all subsequent activities, causing the project to slip.
It is also defined as the longest sequence of activities that must be completed on time for the project to complete on its due date.
This project modeling technique was developed by Morgan Walker and James Kelly in later part of 1950s. Schedule network diagram is the base for Critical path method. This method helps you calculate the early start and finish, and late start and finishes of activities, without considering resource limitations. This is done by forward-passing and backward-passing through the network diagram respectively.
Knowing early and late starts and finishes of activities that are not on the critical path help you understand the flexibility you have in starting and finishing them without impacting start dates of activities on critical path. Activities on critical path have only one start and one end date (there is no early/late start or early/late end date).
Critical path defines the longest duration for a single network path on the project. Again, none of the activities on critical path can afford to slip without causing delay in the project.
We looked at John’s house building project as example to understand some of the processes – Define Activities, Sequence Activities and Estimate Activity Durations. You may want take couple of minutes and quickly run through them first.
We shall learn how to calculate early start, late start, early finish and late finish dates in the next lesson. In that lesson we shall also learn how to determine critical path on a project.
Here is the critical path for John’s home construction project –
Figure 3: Critical path for John’s home construction project
Critical chain method (CCM)
This method of planning and managing projects was introduced by Eliyahu Goldratt. The essence of this method is to focus on resources of activities instead of start and end dates.
Critical chain method works based on the premise that resources should be 100% focused on tasks trying to complete them as soon as possible.
Planning is done by working backwards from a completion date, with each task starting as late as possible. Typically the project is planned based on 2 types of estimates for every task – 50% probability based ‘best guess’ estimate for an activity, and 90-95% probability based ‘safe guess’ estimate. In the project plan the ‘best guess’ estimate is considered. Resources are assigned to each task in an aggressive way while ensuring that they do not work on multiple tasks at any given point of time by resource leveling technique.
Now the longest chain of resource leveled tasks from beginning to end is identified as critical chain.
We saw that two types of estimates are taken for each activity – best guess and safe guess. Best guess is taken for project planning. What happens to safe guess estimates? Well, the difference between ‘best guess’ and ‘safe guess’ for all activities on critical chain is treated as buffer at the end of the project.
This sort of buffer is also provided for those paths that lead to (‘feed into’) critical chain path, and called as feeder buffer. This is done in order to make sure that any delay in those activities do not impact the critical chain.
Managing project primary done by watching buffer. Fever charts are created to watch the level of remaining buffer at any point in time. If rate of buffer consumption is low then project is on track. If rate of buffer consumption is high then corrective actions or recover plans are brought into execution to avoid project slippage.
If you are using critical chain method for planning then it helps to not disclose all buffers to the team, especially the ones on activities. Sometimes people may tend to use the buffer without notice. The ‘cushion’ of knowledge of buffer may go against the principle of critical chain method where onus is to complete the activity as soon as possible without considering its start/end dates.
Resource optimization techniques
There are two types – Resource leveling and Resource smoothing.
This can be applied only for schedule prepared by using critical path method. This is a means of balancing over-allocated or under-allocated resources across different activities. This technique is also used due to resource constraints where certain critical resources are available only during certain time period and you need to adjust start dates of some activities to adjust to this resource availability. The other scenario could be when only one person has a specific skillset and due to this two activities which otherwise could have been done in parallel, need to be now sequenced.
Due to resource leveling critical path may get elongated, increasing project completion time. Resource leveling may also bring in a different network path to be the new critical path!
Resource smoothing is about utilizing free and total floats in order to juggle resources between different activities. Due to this technique there is no impact on critical path.
What-if scenario analysis
This is about finding out what impact will an adverse event have on project schedule. This is a step further from the assumptions we consider (from project charter, scope statement, and requirements documentation), and trying to figure out what all can go wrong and what additional planning might be required to manage eventuality.
For a skilled-labor intensive project, what if there is a labor strike?
For a project that uses high end expensive machinery, what if there is a bad breakdown of the machinery?
For an infrastructure based project (like constructing a dam or bridge), what if there is a natural calamity like flood?
You get the idea.
Some projects use computer based Monte Carlo Analysis technique that model uncertainty based on given inputs using a specific algorithm.
Simulation is usually done using software, which calculates multiple project durations making different activity assumptions using a probability distributions to account for uncertainty. Monte Carlo analysis is one such simulation technique.
Leads and Lags
We saw how leads and lags are applied in Sequence Activities process.
Important thing to keep in mind is that schedule compression should not change the project scope.
There are 2 types of schedule compression techniques available.
Crashing is simply putting more resources on activities to reduce duration, and hence bring in overall project completion date. Analysis is done to determine how activities can be completed quicker by incurring least amount of additional cost.
This will help only when the nature of activity is such that it is possible to add more resources and reduce duration. This method of schedule compression may increase project cost and risk, and may impact quality if execution is not managed properly.
Few examples are – asking team to work additional hours, or getting new resources to work on tasks, or paying people to complete tasks quickly.
In the earlier example – John could get multiple excavators and more people to quickly dispose the dug soil, hasten Dig Earth task and get started on Pour Footings task early.
Fast tracking is about running multiple activities, or even project phases, in parallel to each other (or with some overlap) in order to reduce project duration.
This technique will not work when two activities have hard dependency (you cannot test a component unless it is manufactured). This can also be a risky approach because when activities are done in parallel their dependencies are managed by making certain assumptions. If assumptions are proven to be wrong, there will be rework, leading to additional cost and lost time.
In our example – John could start on excavation as soon as base planning is complete, and continue blueprinting and excavation in parallel. However, if planning exercise changes foundation plan then there may be rework of excavation. This may increase cost as well.
Most of the projects use scheduling tool to quickly get data such as early and late start and finish dates by inputting activities, their resource and duration data.
With one or more of the above you have..
A schedule baseline is an approved version of the schedule model with start and end dates, and can be changed only through change control process. Also, the team will be clear as to which schedule it should look at and follow at any point in time.
This can be done in a simpler form or detailed form. It can be descriptive or graphical/chart based.
Some of the components of a schedule are –
- Milestone charts – a time-scale chart showing important milestones, their expected dates and any external interfaces.
- Bar charts – indicating start and end dates of major activities or modules on the project.
- Schedule network diagrams – can be activity-on-node or precedence-diagramming-method we saw in Sequence Activities process, or can be represented as a Gantt chart.
Whichever way you create the schedule, you need to ensure that team understands it, all stakeholders can read and follow it quite easily. This will free up a lot of time for you as project manager in explaining people, and may even help people identify brewing issues on their own!
This refers to are all the data generated during schedule creation such as activities, activity attributes, milestones, information about external interfaces and dependencies, assumptions (from what-if analysis) and constraints, schedule network diagrams, resource requirements and alternative schedules. These will be required during control schedule process.
This is a list of working days available for scheduled activities on the project.
..and updates to Project management plan
Developing schedule is a big data churning process where good amount of additional, missing or even redundant data in previously created project documents can be discovered. All these documents need to be updated now. Changes may be required to documents such resource requirements, activities and their attributes, assumption log, as calendars, risk register.