Why Should I Use Dependency Management in Project Management Software?
No project task exists in isolation. With the possible exception of the very first project task, each task or activity relies on one or more other activities in some way. Whether it’s waiting on the output of another task or simply waiting for resources to be freed up, you need to manage many dependencies throughout any project.
Dependency management is the process of managing all of these interrelated tasks and resources within the project to ensure that your overall project completes successfully, on time and on budget.
When there are dependencies that need to be managed between projects, it’s referred to as project interdependency management.
Why dependency management is critical
If you don’t actively manage project dependencies, your project can go sideways fast. For example, what happens if one task is late and you don’t realize this now is going to over-allocate several of your team members next week unless you move around other tasks? Or what if a task can’t start when it’s scheduled to because the one it was dependent on wasn’t finished in time?
Imagine you’re building a new house and you have a home inspector scheduled to come in and sign off on all the electrical wiring at the end of the month. But your schedule doesn’t have the electricians finishing the wiring until the middle of next month.
Without recognizing and managing this dependency, the inspector would show up, bill you for their time, and you would fail the inspection. Then you’d have to try to re-book them for two weeks later when the wiring was actually ready. Having to repeat inspection would add costs to your projects, and if the inspector wasn’t available at that time, it could significantly affect the entire project.
After all, the walls couldn’t be closed in until you passed inspection, which would impact the drywallers, the painters, and various other tasks and resources. As you can imagine, this leads to a snowball effect of increasing costs and delays.
Categories of project dependencies
Planning dependencies can be grouped into three categories:
Logical planning dependencies: These dependencies are logically driven and can’t be avoided. They’re intrinsic to the nature of the project and of the tasks involved. For example, you can't plant a garden before you ready the garden bed.
Resource-based planning dependencies: These are dependencies that are driven by constraints. In other words, where a task could be accomplished faster or sooner if you had more resources, but you don't. For example, if there are only a limited number of skilled professionals available to work on a project, it becomes necessary to space out work sequentially.
Preference planning dependencies: Preferential dependencies are guided by best practice or convenience. They are generally introduced in projects to focus on the quality of deliverables. For instance, it may be best practice to leave paint to dry for two days before laying on a second coat, even though technically you could wait less time.
Types of project dependencies
There are four types of project dependencies:
- Finish to start (FS): A finish-to-start dependency is the most common and logical dependency both in project management and the real world. For this dependency type, a particular task can’t start unless the preceding one is completed satisfactorily. For example, you can’t publish an article before it’s finished being edited.
- Start to finish (SF): A start-to-finish dependency is where a task cannot finish until another one has started. This is the least common type of dependency and is rarely used. A good example is with shift workers. The employee working the morning shift cannot finish work and leave until after the employee working the evening shift has clocked in and taken over.
- Start to start (SS): A start-to-start dependency means that an activity cannot begin until its predecessor has begun. For example, you cannot paint a house until drywalling has begun. But you don’t have to wait for the entire house to be drywalled before painting the first room. Therefore, it’s start to start and not finish to start.
- Finish to finish (FF): A finish-to-finish dependency in your project management software is when a task cannot finish until the one before it has finished. Many tasks that have a start-to-start dependency could also have a finish-to-finish dependency. For instance, you cannot complete painting until you complete drywall. Or you cannot complete editing a book until you complete writing it.
Benefits of dependency management in project management software
You need to be aware of how each project task is dependent on others in order to create an achievable project schedule. It’s the dependencies that help you work out the proper flow of the tasks.
You can create and manage your schedule outside of project management software, but the more dependencies you have, the harder this becomes.
For instance, if you’re using Excel to create a Gantt chart or schedule, what happens when a task doesn’t go according to plan? This could include a late start, a late finish, or changing the order and timing of a couple of tasks.
In any of these scenarios, you will now have to manually update every single follow-on task in your schedule. Doing this manually is time-consuming and increases the risk of errors in your schedule.
By using project management software, when you reschedule a task with dependencies, all dependent tasks are automatically rescheduled. Not only is this more efficient, but it results in a more accurate and reliable schedule.
Plus, you can use this functionality to easily run scenarios and do analysis before deciding to change your schedule. For example, if a team member comes to you and says they want to start task D next week and move task C out to the following week, you can automatically see how that switch will impact your resource loading and overall schedule before you approve the change.
Another benefit of project management software dependency management is the ability to create and manage lead and lag times.
Lead time is defined as the duration of time by which an activity can be accelerated or advanced with respect to the predecessor task. This typically occurs when you have initially set up a start-to-finish relationship based on preference rather than logical dependency.
For instance, you may build your schedule so that editing doesn’t start until after writing ends. But now your project schedule is slipping, so you decide to start editing five days before the writing has ended (so the editor is reviewing the first few chapters while the writer is still finishing the last ones.)
Instead of changing your dependency from FS to SS, you can easily add five days of lead time into your project schedule and instantly review how this impacts the overall project.
Lag time, on the other hand, is the duration of time by which a successor task is delayed with respect to the predecessor activity. Using lag time can help you build contingency into your schedule or account for “waiting periods” without modifying the estimated duration of actual tasks.
For instance, imagine you’re launching a new Facebook ad campaign. You’ve designed six different ad variations to see which ones perform best. Once the ads are live, you know you need to monitor performance and shut down the worst performing ones. However, if you review results before enough time has passed, the data set could be too small and misleading.
By using a lag time of seven days, you can ensure a week has passed between the ads being published and the data being reviewed. And later, you can easily shorten or extend that lag time as needed based on the volume of data coming in and the needs of the project.