Creating a realistic project schedule is difficult. It is a complex document with dozens of variables. There is always some amount of uncertainty. Stakeholders try to squeeze as much as possible into unrealistic deadlines. On top of that, you need to make a commitment – a promise to the stakeholders to deliver the project in time.
There is a way to fulfill the task with a high level of certainty. The solution is to approach the project schedule planning in a systematic, integrated and iterative way.
What does that mean?
Right now I will guide you through the process and explain the basics of a realistic project schedule.
So, here is the deal.
No matter what you do as a project manager, you plan before you act. Therefore, you should start with the Schedule Management Plan
Ensure Your Success with Schedule Management Plan
Project Schedule is often confused with Schedule Management Plan. The schedule is only a part of the plan. Though, it is one of the most important pieces.
Key stakeholders will be interested mostly in a project timeline. Only because it answers their primary question: “When will I get the results?”
However, it is a long way before you can start working on the project schedule.
What is a real story?
Before dragging coloured bars on a Gantt Chart there are a lot of questions you need to answer.
1. What are the existing policies and processes? Your project will function in the environment of your organisation. You will have to get approvals, negotiate to prove the necessity of resources, and provide reports. Your project schedule should be aligned and integrated with these processes. Otherwise, expect extra work on your side.
2. Define a schedule model. It is a complicated concept described in a chart below.
Why does it matter?
In simple words, it boils down to this.
You must take into account available software and general approach to scheduling consistent with your environment. Including other project management processes.
For the sake of this guide, I will assume that you will choose Critical Path Method as a scheduling method.
3. Define Units of Measurement. Should the estimates be in hours or days? What will be depicted on Gantt Chart? Is it calendar days, working hours, or effective hours. Should you track both efforts and duration for a task?
Answering these questions will help you to make information consistent throughout different processes.
4. Identify variance thresholds. You don’t want to micromanage your team and continually update your schedule. You need to define whether a delay of one, two or three days warrants a corrective action.
5. Identify reporting format. What information will go from your scheduling model into the regular reports to the stakeholders? You need to come up with an effortless approach.
6. Think through change management process. How hard is it to make a change to the schedule? How to make it effortless and integrated?
That is not all…
Then comes the major integration part.
Integrate WBS with Project Schedule
The core of project integration is a Work Breakdown Structure.
Do you remember the long path you need to cover before you start creating a project schedule?
First, you create a Project Charter and Stakeholder Register, then Project Scope Statement and Work Breakdown Structure.
If by this moment you have a high-quality WBS, it automatically means that you have a framework for integration with other project management processes.
For example, in the next step, you will decompose the Work Packages into Activities. So, if you do integration properly, each activity already has a lot of related properties and information like:
- Links to requirements and project objectives
- Related stakeholders
- Parent work package
That will be helpful in future for monitoring and controlling processes.
Use Activities For Accuracy
In project schedule, we work with activities.
They provide an appropriate level of detail. They can show interdependencies between work packages and deliverables. Activities can be done by one person without interruption.
Also, activity is a data storage that has enough information to be used in different processes. You will update this information several times.
Your ultimate goal is to preserve the connection to the related WBS Elements.
In future, you will use activities to perform, monitor and control project work. The sum of related activities will give you a completed work package. In its turn, related work packages will make you a deliverable. In the long run, you will get back to the WBS to prove that you have created the requested deliverable.
Who do You Need to Get Things Done?
So, once you have an activity and you know what should be done, identify what kind of human resource you need.
In case you have a predefined team, you usually just assign activities to existing team members.
However, there is a catch.
If you skip the analysis of required resources, you may end up with a team not fully fit for the task at hand.
With a predefined team, everyone will assume that you have everyone you need. However, how could the assessment be done accurately without knowing the actual scope of work?
Don’t fall into this trap. Always analyse the scope of work with the team and ensure you really have every speciality accounted.
Use Bottom-Up Estimate for Accurate Duration
Knowing the competency and level of a resource, now you can estimate duration for an activity. To assess the duration of a work package you estimate the activities and sum them up. To evaluate a Delivery – you work with child work packages.
It is a preferred way for estimation. Using a bottom-up approach gives a higher level of accuracy. However, in case of duration, do not forget to take into account dependencies and sequence of activities.
We have discussed how to produce estimates in details already. Refer to the related post: How to Make Project Estimates.
Keep in mind that there are effort-driven activities. Duration of such activities depends on a number of resources you can actually apply. In other words, you can put several resources to do the job. And it will be faster.
For example digging a trench. For one person in may take ten days. But you can apply ten persons to dig. Most probably they will not finish the task in one day. But it will be close to it. It is an effort-driven activity.
On the other hand, if you build concrete structures. It will take that much time for concrete to dry and fix no matter how many people will be around.
Dependencies in Project Schedule
There are practically four types of dependencies between activities:
Finish-Start. An activity must finish before the successor can start. It is the most common type of relationship.
I say, always use only this one unless a nature of related activities requires something else.
Start-Start. An activity must start before successor can start. For example, you must start delivering bricks before you start to build a wall.
Finish-Finish. An activity must finish before successor can finish. For example, you can’t finish repairs until you fully clean up the area.
Start-Finish. An activity must start before successor can finish. Well, before you start thinking about a good example, forget about it. This type is rarely used. Examples are way too confusing.
Also, there are several types of dependencies by nature:
- Mandatory dependency or Hard Logic. A dependency dictated by the nature of the work or is required by the contract.
- Discretionary Dependency or Preferred or Soft Logic. A dependency you or your organisation chose. There are different ways to do one and the same work. But for some reasons, it is the way you always do similar things. In general, it is dictated by convenience or efficiency of work.
- External Dependency. Dependency imposed by people or an organisation outside of your project.
- Internal Dependency. The dependency that is based on the needs of a project. In other words, it is something you can control.
All you need to do is to analyse all activities and identify a predecessor for each one.
Even if activities are unrelated, you would want to build a logical sequence of work. So use Discretionary Finish-to-Start dependencies for such activities.
Network diagram shows dependencies between activities. Usually, a Precedence Diagramming Method is used. In this method, boxes are used to represent activities and arrows show dependencies between them.
But do you need to create a diagram separately? If your software does not do this automatically, it will take a lot of efforts. Therefore, I don’t think it is worth it.
Anyway, you will use some tool to visualise your schedule. In most cases, you will be able to perform analysis as if it is a network diagram.
Nevertheless, Network Diagram is a very powerful tool, and we will discuss it in a separate post later.
Use Your Float Wisely
Float or Slack is the amount of time you can delay an activity without delaying an intermediate deliverable or project end date. It is a Total Float.
The float is your management resource. Even if you do not create a Network Diagram and do not calculate forward and backwards passes, it is useful to know the float.
How can you actually use this?
For example, you know that a task will take two days. However, it is not on the critical path. It has several days of float. It is a good chance to utilise your inexperienced or ineffective resources. They will do the work. But you will not jeopardise the schedule if it will take more time for them.
Define Critical Path
You can always sequence all your activities one after another. That is not efficient, though. Most probably you can perform several activities simultaneously. Therefore, you will have parallel paths from project start to finish.
Critical Path is the longest duration path through a network diagram. It also means that it is the shortest time it could take to complete a project. Moreover, it’s worth knowing that activities on a Critical Path have zero floats. Therefore, there is no way you can delay them.
Why do you need a Critical Path?
- It determines duration of the project
- It shows you where to focus your attention. All activities on Critical Path impose risks.
- If a problems arise with activity on a critical path – it requires your immediate attention.
- Shows you the ways to adjust project schedule.
Apply Resources Calendar
For now, we operated with absolute values of duration. It never coincides with calendar duration. There are holidays, vacations, sick leaves, and unexpected delays.
Resources Calendar, in essence, is just a calendar that shows when resources are available.
And there is a whole set of problems here. It is really hard to produce an accurate Resources Calendar.
What’s the real story?
If you have a predefined team – it lessens the troubles. You just need to manage vacations and plan for them. Also, you need to consider risks of sick leaves.
If you do not have a team and you, need to acquire it. Well, it is more complicated. You need to plan the dates when you will get a resource. You may need to find and hire a person first. You may need to wait when a person is released from another project. You may need to train him before he can add value to your project.
On the other hand, there may be constraints on the resources availability. It may be available part-time. Or his contract ends soon.
You need to take all of this into consideration. And we are talking not only about human resources. You may need access to equipment and materials. It is a separate plan on its own.
To use it efficiently, I suggest thinking of it this way. Each resource has time slots that you can fill in with your activities. Not vice versa.
In any case, keep in mind that you may need to make a lot of assumptions on resources availability. You need to be proactive to secure the resources you were promised. And of course, you need to take resources calendar into consideration during risk management.
Do a Reality Check
Now you have an end date of your project. Is it before the deadline? If it is – that’s good. If not, you need to develop options how to finish a project with minimal trade-offs.
Analyse the gap between the deadline and the estimated end date of the project. You need to identify what is the best way to fit the project within constraints.
Keep in mind that project plan should be flexible. If your end date and the deadline are too close, that is also bad. It is risky. Be sure to consider Essential Project Planning Concepts.
Adjust Project Schedule
If you need to compress the project schedule to meet the deadline, there are not many options.
- You can either reduce the scope.
- You can increase the costs to apply more resources.
- You can move the deadline.
Of course, the combination of these options is also valid. But it is always about scope, time, and costs.
Crashing is a project schedule compression technique. You simply add more resources to finish the project on schedule.
You trade time for money. It is a less risky approach. It increases the costs and communication overhead. However, it is not always applicable.
And keep in mind that buying a better tool or machinery may also be an example of crashing.
On the other hand, you can try to perform activities on the Critical Path in parallel. If it is possible at all. This technique is called Fast Tracking.
In reality, it means that you will try to start an activity while it predecessor is not yet finished.
But here is the deal:
Usually, it causes rework and introduces a lot of risks. You would need to communicate a lot even if you planned these activities thoroughly. Be ready that there will be a lot of conflicts and defects. You will have to manage them closely to keep the work running.
Also, Fast Tracking introduces long-term drawbacks. Quite often it includes violation of processes and making shortcuts. This way or another you will end up with technical, quality or documentation debt. After extended periods of fast tracking be sure to find time and efforts to catch up.
Iterate After Risk Management
There was one thing that confused me a lot. Project Schedule is the input to the Risk Management processes. However, you address risks and develop risk response plans much later, closer to the end of the planning.
So, at this moment, you develop a draft of a schedule. There may be many drafts of the project schedule. Planning is an iterative process. Once you find out more details about the project, you need to get back and validate all previous results.
You can finalise the schedule only when you performed risk management activities, adjusted the project management plan, finalised the budget and scope.
Know What You Need to Produce?
Project Schedule shows start date, the end date, duration, and dependencies of each activity.
Gantt charts, milestone charts, network diagrams are just visualisations.
Each of them has its own use.
Gantt Chart is useful for tracking progress and reporting it to the team.
Milestone Chart is for reporting to senior management.
Network Diagrams show interdependencies between activities.
Choose appropriate representation of the project schedule to your purpose.
Put Stakeholders on Your Team
As a part of a project management plan, project schedule should also be approved and baselined.
To reduce the stress and risks at the end, collaborate with key stakeholders early on. It is a good practice to get feedback on first drafts of the schedule. They might help you to find weak spots and identify more risks.