Creating a realistic project schedule is difficult when you have the wrong mindset.
Everyone expects that there’s always a way to squeeze the whole project scope into the deadline project owners set. Stakeholders put a lot of pressure on you to find a solution. But, in most cases, there’s no magic formula.
Therefore, the only solution is to do less or to request more money or time. So begins a tiresome dialog with project owners and other stakeholders. Then, you need to retrace your steps in the planning process and redo a lot of work.
You can avoid some of this mental torment by having the correct expectations. Remember that planning is an ongoing process, and you will have to make changes to your first draft.
So, don’t get too attached to it. Be ready for negotiations. Be prepared to redo your plan. Remember that the more effort you put into creating a realistic schedule, the easier it will be to execute the project.
As a result, you’ll promise to deliver the project scope following a certain schedule. In addition, you may also need to provide some interim deliverables on specific dates.
Step-by-Step Process of Creating a Project Schedule
Below is a high-level, step-by-step process for creating an accurate schedule. Feel free to copy and paste it as an instruction.
- Prepare a schedule management plan.
- Set milestones for project start and end dates.
- Add an official “holidays calendar” for each resource based on their location.
- Add resources (or real people) and their availability.
- Add known vacations and days off for all team members.
- Set milestones when new resources should be available.
- Import a list of tasks (if you didn’t use a scheduling tool for decomposition).
- Assign resources to each task.
- Identify dependencies.
- Set durations for each task (copy the estimates provided by the team).
- Identify a critical path.
- Do a sanity check. Will you meet the deadline? You should have a 10-15% buffer.
- Move the work packages around so they are being done in parallel. Or assign more resources to do the work faster. Or negotiate to de-scope something.
- Check workload for resources. People should not go over their daily working hours.
- Adjust the schedule and resources until you fit into the deadline. Or prove that it’s impossible. Provide the next-best alternatives.
- Subject your project schedule to risk management activities.
- Add new risk response plans to the overall plan.
- Again, move the work packages around so they are being done in parallel. Or assign more resources to do the work faster. Or negotiate to de-scope something.
- Check workload for resources. Validate the whole project schedule.
- Repeat the process until you have a realistic project schedule that you and your team believe in.
- Finalize the project schedule baseline.
I’ll now elaborate on some of these steps.
Step #1: Schedule Management Plan
The project schedule is often confused with the schedule management plan. But, it is only a part of the plan, although it’s one of the most important pieces. Key stakeholders will be interested primarily in a project timeline. It answers their primary question: “When will I get the results?”
Before dragging colored bars on a Gantt chart, there are a lot of questions you need to answer. Here are the main ones:
A. What are the existing policies and processes? Your project needs to function within the environment of your organization. You’ll have to get approvals, negotiate to prove the necessity of resources, and provide reports. You’ll have to show your schedule to internal stakeholders. So, you need to make it look familiar to them. You need to align and integrate with all in-house processes. Otherwise, expect conflicts with internal stakeholders.
B. Define a scheduling model. Here’s what that means:
Scheduling Model = (Scheduling Method + Scheduling Tool) + Project Information
The scheduling model is the critical path method in our case. But, you may need to use the PERT technique or critical chain method as an alternative.
The scheduling tool for your environment could be MS Project, OmniPlan, Merlin Project, GanttPRO, etc. Whatever the case, it should allow the implementation of the scheduling method. Therefore, we need a tool that can calculate the critical path and set a baseline for our schedule.
Project information is all the tasks, WBS elements, dependencies, constraints, etc. It’s important to note that you need to provide project information in a specific format that works best with the tool. So bear that in mind when you estimate tasks without using the tool. Likewise, you need to consider whether the size of a task is manageable for the scheduling model.
C. Define units of measurement (UoM). Should the estimates be in hours or days? What UoMs does your scheduling tool use? What UoM will you use for reporting? Ideally, it should be consistent.
D. 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 corrective action. It all depends on the size of the project.
E. Identify reporting format. What information will go from your scheduling model into the regular reports to the stakeholders? Again, your approach should be seamless.
I recommend that you report progress against milestones or deliverables.
F. Think through the change management process. For example, how hard is it to make a change to the schedule? How can you make it effortless and integrated?
In practice, this means that you need to set all dependencies in your project management software. This way, it will automatically shift everything around. Likewise, you want to schedule tasks in groups as they go in a work package. Don’t mix random tasks from different work packages.
Step 2: Set Milestones for Project Start and End Dates
Set the project start and end dates in your project management software.
Steps 3–6: Apply Resources Calendar
Up to this point, we have used working days rather than calendar ones. There are holidays, vacations, sick leaves, and unexpected delays to take into account. A resources calendar, in essence, just shows when resources are available.
And there’s a whole set of problems here. First, it is really hard to be accurate. If you have a predefined team, that helps. You just need to manage vacations. But you don’t know about all vacations at the start of the project. Also, you need to consider the risks of sick leaves.
I strongly recommend that you input all available information about holidays and vacations at the start. It will be tough to fix the schedule if you forget. Most probably, you’ll have to start from scratch. Also, don’t forget that people from different countries have different holidays.
If you need to acquire a team, you need to plan the dates when you will get a resource. So, you may need to hire a person, or you may need to wait until a person is released from another project. Mark this date. It all should go into the plan so that you don’t assign tasks to people who haven’t joined yet.
Moreover, you need to create a risk. What will happen if that person doesn’t join the project on time? Develop a response plan.
Don’t forget about the learning curve for newcomers. You may need to train them before they can reach full capacity. So, take this into account for their first few days or weeks.
On the other hand, there may also be constraints on the availability of resources. For example, people may only be available part-time. So, for example, if they only work on your team for half the day, tasks assigned to them will take twice the time. Ideally, your scheduling tool should make allowances for this.
You need to take all of this into consideration. And we are not only talking about human resources: You may need access to shared equipment and materials as well.
In any case, keep in mind that you may need to make a lot of assumptions on the availability of resources. So, first, you need to log the risks. Second, you need to be proactive to secure the resources other managers have promised you. And, of course, you need to take the final resources calendar into consideration during risk management.
As you can see, you need to keep in mind many things at this stage. Therefore, when you move tasks around, availability and holidays will impact different work packages. That’s why you need project management software to help manage it all for you.
Step 7: Import Tasks and Integrate with the WBS
Ideally, you should create a WBS and decompose its elements inside one tool. So, keep all the information about deliverables, work packages, and tasks in one place. And create a project schedule there as well.
Here’s a critical rule: Every task should have a parent work package. A task should not float between deliverables or work packages. Otherwise, it is hidden work, which can lead to scope creep. You should be able to tie spent efforts, costs, and risks from a task to a work package.
In practice, this means you need to organize project work by deliverables. As much as is practical, you need to work on a deliverable from start to finish. You can work on two or three deliverables in parallel. In the long run, it’s easier to control scope, time and costs this way.
Also, you need to keep the names of deliverables and work packages consistent throughout all your documentation and tools. Ideally, you need to have a unique ID and a title for each WBS element and task.
Step 8: Assign Resources
By the time you get to this step in the project schedule:
- You have pre-assigned resources.
- You have identified the roles required for your project.
- You have acquired some team members from the in-house pool.
- You have hired some team members from the market.
If you have a predefined team, you usually just assign activities to existing team members. In practice, you allow people to assign tasks to themselves whenever practicable. Let them decide who’s doing what.
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.
Everyone assumes that you have all the required expertise with a predefined team. However, your leadership assumed this long before you collected all the requirements and identified the project scope. Don’t fall into this trap. Always analyze the scope of work with the team and verify the assumption that you really have every specialty accounted for.
Step 9: Dependencies in Project Schedule
In practice, there are four types of dependencies between tasks:
Finish-Start. An activity must finish before the successor can start. This is the most common type of relationship and should be used as a default option unless the nature of related activities requires something else.
Start-Start. An activity must start before a successor can start. For example, you must start delivering bricks before you start to build a wall.
Finish-Finish. An activity must finish before the successor can finish. For example, you can’t finish clearing up until all repairs are finished.
Start-Finish. An activity must start before the successor can finish. This is so rare that it’s not even worth giving an example – and they are often too confusing anyway.
In practice, 99% of the time, you’ll use only finish-start dependencies. They are all you need to line up tasks.
Dependencies are also defined in another way:
- Mandatory dependency or hard logic. This is required by the contract, agreement, or technological process.
- Discretionary/preferred dependency or soft logic. A dependency you or your team chooses. In general, it is dictated by convenience or efficiency of work.
- External dependency. One imposed by people or organizations outside of your project.
- Internal dependency. This is based on the needs of the project. In other words, it is something you can control.
All you need to do is analyze all tasks and identify a predecessor for each one.
Even if activities are unrelated, you want to build a logical sequence of work. So, always use discretionary finish-start dependencies for such activities.
Step 10: Set Duration for Each Task
First of all, what unit of measurement are you using? Is it working days or calendar ones? Are you assuming eight hours of work per day or six?
If your estimates are based on effective hours – that is, six per day – you need to adjust people’s availability accordingly (so, 75% of a standard eight-hour working day). Then a task actually taking six hours will effectively equal one working day. Or you need to set your working day to six hours on your project management application. That might get complicated if you have several people with partial availability.
Always be mindful of what you estimate and what units of measurement you use in the tool – otherwise, it can cause a lot of confusion.
Step 11: Identify the Critical Path
If you sequence all your tasks one after another in a long thread, this schedule will have the least number of risks. But it will also take a lot of time and be inefficient.
It’s likely that you’ll be able to implement several work packages at once because you can perform several tasks simultaneously. Accordingly, you will have parallel paths from project start to finish.
The critical path is the longest-duration path through your schedule, from start to finish. It can cross different threads of activities that depend on each other. It represents the shortest possible time taken to complete a project. As a result, if you delay a task on a critical path, it will move your project’s end date.
Why do you need a critical path?
- It determines the duration of the project.
- It shows you where to focus your attention. All activities on the critical path come with risks.
- Any problems with an activity on the critical path require your immediate attention.
- It shows you ways to adjust the project schedule.
Use Your Float Wisely
Tasks not on the critical path represent what is known as your “float” or “slack.” You have some leeway on the deadlines for completing these tasks before the delay compromises the successful completion of the overall project on time. So, how can you actually use this valuable management resource?
Let’s say that you know that a task will take two days. However, it is not on the critical path: It has several days of float. This is an opportunity to give some work to an inexperienced member of the team without jeopardizing the schedule if it takes them more time. This frees up your most experienced people to focus on the tasks on the critical path.
The same principle applies for prioritizing anything related to the project. Must-have items should be on the critical path. We want to deliver them as soon as possible. Nice-to-haves, meanwhile, can go into parallel threads of work.
Step 12: Do a Sanity Check
Now you have the end date of your project. Is it before the deadline? If so, that’s good. If not, what are the trade-offs? You need to keep these to a minimum. First of all, if you’re close to meeting the deadline, ask if it can be moved slightly – this is the least risky option because, otherwise, you’ll need to adjust the whole project management plan.
For now, analyze the gap between the deadline and the calculated end date of the project. Can you optimize the schedule any further? How much extra time do you need beyond that? You need this information for negotiations in the next step.
Keep in mind that the project plan should be flexible. If your planned end date is too close to the deadline and you haven’t left much wriggle room, that’s a risk. There are also risk reserves to consider. So, allow for a 10%–15% buffer.
Step 13: Adjust the Project Schedule
At this point, I’m assuming that you can’t claw back any time from discretionary dependencies.
So, now, you need to negotiate a change in deadline. You have already optimized your schedule so it’s the best option. If project owners don’t want to play ball, you’ll have to try and compress the project schedule further. There are only a few options here:
- Crash the schedule – spend more on extra resources.
- Fast-track the schedule by doing work on the critical path in parallel.
- Reduce the scope.
Of course, any combination of these options is also valid.
Crashing is simply adding more resources to finish the project faster. This applies to tools or machinery as well as people. So, you basically buy time. It is a less risky but more costly approach. However, it doesn’t always work because of the law of diminishing returns.
Alternatively, you can try to perform tasks on the critical path in parallel. This technique is called ‘fast-tracking.’ It basically means that you try to start a task while its predecessor is not yet finished. So, you’re juggling more balls in the air at once.
The workflow is less logical, and therefore, 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 for lots of conflicts and defects. You’ll have to manage them closely to keep the project running.
Also, there are long-term drawbacks. It often means taking shortcuts that, over an extended period, can cause technical issues, lower quality, poor documentation, etc. If you use this approach, make sure that you find the time afterward to catch up and put these things right.
Step 14: Check Workload for Resources
When you are working on lots of tasks in parallel, it’s easy to overload someone on a given day. If so, you need to reassign tasks, or else someone will have to work overtime. By default, you should not plan for overtime unless it’s explicitly requested.
Step 15: Adjust Your Schedule and Resources to the Deadline. Or Prove That It’s Impossible
If you can’t meet a deadline, you need to prove you did everything you could. So, show your current realistic schedule to project owners. Then, together, you need to decide what to do. Use the scheduling techniques we discussed in Step 13.
Steps 16–20: Iterate After Risk Management
By now, you have a draft project schedule. You have managed risk continuously. You have already included some responses in your draft for the risks you identified with requirements, the environment, stakeholders, etc. But now, you need to identify risks within your project schedule as a whole. Call them ‘schedule risks.’
You want to focus on:
- When do resources become available?
- Do you have a critical person whom you assign to all difficult tasks?
- Is seasonal flu going to be an issue?
- How much float do you have in the schedule?
It’s a good idea to review the list of risk categories and brainstorm risks with your team. Each new risk you want to tackle proactively requires a risk response plan. So, it will result in an additional task or risk reserve in the schedule.
As a result, the schedule itself will change. When you finish your risk management activities, you need to revalidate the schedule once again. And don’t forget to capture secondary risks.
Step 21: Finalize the Schedule Baseline
The final version of your realistic project schedule will become your schedule baseline. You’ll compare your progress against this approved version.
Remember, you need to involve your project owners and other stakeholders in the process from the beginning. They should see your first drafts and help you develop a realistic schedule. This will make it easier to get your schedule baseline approved.
Project Schedule Outputs
In essence, a project schedule shows the start date, end date, duration, and dependencies of each activity. So, it can be a spreadsheet or a schedule in your project management software with all information and a Gantt chart.
Remember that Gantt charts, milestone charts, and network diagrams are just visualizations of your project schedule. Each of them has its own use.
- A Gantt chart is useful for tracking progress and reporting it to stakeholders.
- A milestone chart is for reporting the overall project status to senior management.
- Network diagrams show how activities depend on each other.
Your main interest should be ensuring that tasks start and end on the planned dates. A Gantt chart, with its colored bars and percentage completion rate, might be misleading. It shows you that work is in progress. But you need to track whether it’s finished on time.
Conclusion On Project Schedule
The fact is this article was just one piece of a complex project management framework.
If you are like most project managers, you don’t have formal education. It means you must collect bits and pieces from such articles and YouTube videos.
You have two options now:
Option #1: Try to figure it all out on your own and slow down your career for years.
Option #2: Let me explain the whole project management framework in 45 minutes.
My Full Project Management Tutorial explains how project management works in the real world as a system.
Don’t put your projects and reputation at risk. Ensure you know how all critical processes and tools work.
All successful project managers know it’s better to learn from someone else’s experience (aka lessons learned). Tap into my 12 years of practical IT experience and get access to the Full PM Tutorial now.