Guide · 2026-10-02

Predecessors in Gantt Charts: Meaning, Uses, and Examples

A Gantt chart can look clear until one task slips and you cannot tell what happens next. Without task relationships, dates become guesses, handoffs get missed, and a small delay can spread across the entire project.

That confusion often starts with one unfamiliar word: predecessor. If you misunderstand it, you may connect tasks in the wrong order, create impossible deadlines, or leave important work waiting unnecessarily.

But here's the truth: a predecessor is simply a task that must happen before another task can begin or finish. Once you understand that relationship, you can build more realistic schedules, identify dependencies, and see how delays affect your project.

What Does Predecessor Mean in a Gantt Chart?

A predecessor in a Gantt chart is a task that controls or influences when another task can start or finish. The task affected by it is called the successor.

For example, “Approve design” may be the predecessor of “Start development.” Development cannot begin until the approval is complete. The approval task comes first, while development follows it.

Gantt charts use predecessor relationships to connect tasks and represent dependencies. These links help your schedule reflect the order of real work rather than showing unrelated dates.

Predecessor and Successor: A Simple Example

Imagine you are organizing a product launch:

  1. Create the campaign brief

  2. Approve the campaign brief

  3. Design promotional graphics

  4. Publish the campaign

“Create the campaign brief” is a predecessor of “Approve the campaign brief.” Approval then becomes a predecessor of graphic design, and graphic design becomes a predecessor of publishing.

The relationship moves in both directions. One task comes before the other, and the later task depends on the earlier task.

Why Predecessors Matter

Predecessors help you answer practical scheduling questions:

For instance, a construction team cannot install flooring before the concrete floor has cured. A software team may not begin testing before a usable build exists.

These relationships turn a list of activities into a working project schedule.

How Predecessor Relationships Work

Most scheduling tools use four dependency types. The most common is finish-to-start, but the other relationships are useful when work overlaps or follows a precise timing pattern.

Finish-to-Start

Finish-to-start means the predecessor must finish before the successor can start.

Example: “Complete wiring” must finish before “Install wall panels” can begin. This is the standard relationship for sequential work.

If the wiring takes two days and starts on Monday, the wall-panel task may begin after the wiring ends. A delay in wiring pushes the next activity forward.

Start-to-Start

Start-to-start means the successor can begin after the predecessor starts. The predecessor does not need to finish first.

For example, “Write help content” and “Create tutorial illustrations” may begin after the content plan starts. The illustration work can continue while the writing is still underway.

This relationship is useful when two activities progress together. It can shorten the schedule, but only when the team can coordinate the work properly.

Finish-to-Finish

Finish-to-finish means the successor cannot finish until the predecessor finishes.

Consider “Complete system testing” and “Finalize release notes.” The release notes may start earlier, but they cannot be finished until testing confirms the final behavior.

This connection works well when activities can overlap but must reach completion in a particular order.

Start-to-Finish

Start-to-finish means the successor cannot finish until the predecessor starts. This relationship is uncommon.

One example involves a support handover. The outgoing support team may continue working until the incoming team starts its shift. Once the new team begins, the previous team can finish its coverage.

Use this relationship carefully. A mistaken start-to-finish link can make your schedule difficult to understand.

Dependency Types at a Glance

Relationship Meaning Example
Finish-to-start The predecessor finishes before the successor starts. Approve design before development begins.
Start-to-start The successor starts after the predecessor starts. Begin testing after development begins.
Finish-to-finish The successor finishes after the predecessor finishes. Finish release notes after testing finishes.
Start-to-finish The successor finishes after the predecessor starts. End old support coverage after new coverage begins.

Lag and Lead in Gantt Chart Dependencies

Sometimes two tasks have a dependency, but they should not connect immediately. Lag and lead let you add timing between related activities.

What Is Lag?

Lag is a planned waiting period between related tasks.

Suppose a team pours concrete on Monday and must wait three days before installing equipment. The installation task has a finish-to-start dependency with three days of lag.

Lag represents a real constraint, such as drying time, review time, shipping time, or a required recovery period. It prevents the schedule from promising work too early.

What Is Lead?

Lead allows the successor to begin before the predecessor is completely finished.

For example, a second writer may begin reviewing completed sections while the first writer finishes the final sections. The review task overlaps the writing task.

Lead can reduce the overall duration, but it may increase coordination effort. If the earlier work changes, the overlapping task may need rework.

Example With Lag and Lead

Imagine a website launch:

The review may begin with two days of lead because completed sections become available gradually. Quality checks may require one day of lag after development ends.

Without these timing adjustments, the chart may show a technically connected schedule that does not match the team’s actual workflow.

How to Add Predecessors to a Gantt Chart

Adding a predecessor usually takes four steps. The exact labels vary by scheduling tool, but the reasoning stays the same.

  1. List the tasks in work order. Start with the activities needed to produce the outcome. For a mobile app release, you might list planning, design, development, testing, approval, and launch.

  2. Identify the required relationship. Ask what must happen before each task can start or finish. Avoid linking tasks simply because they appear next to each other.

  3. Choose the dependency type. Use finish-to-start for ordinary sequential work. Choose another type only when the workflow genuinely overlaps or follows a different timing rule.

  4. Add lag or lead when needed. Include waiting periods, review overlaps, curing time, delivery windows, or other timing conditions.

  5. Review the schedule for conflicts. Check whether the links create impossible dates, unnecessary waiting, or circular relationships.

A Practical Project Example

Suppose you are planning a training course:

Task Duration Predecessor Relationship
Define learning goals 2 days None Starting task
Write lesson outlines 4 days Define learning goals Finish-to-start
Create exercises 3 days Write lesson outlines Start-to-start
Review course content 2 days Write lesson outlines Finish-to-start
Publish course 1 day Review course content Finish-to-start

Here, exercises can begin while the outlines are still being completed. Publishing waits for the review, because releasing unreviewed training content creates avoidable risk.

Common Uses for Predecessors

Predecessor links are useful anywhere work has an order, handoff, approval, or waiting period. They make hidden relationships visible.

Managing Project Phases

Large projects often move through phases such as initiation, planning, execution, validation, and release.

A predecessor relationship can show that planning depends on an approved scope. Execution can depend on an approved plan, while validation depends on a working result.

This gives project leads a clearer view of readiness. A phase should not appear complete simply because its calendar dates have passed.

Coordinating Team Handoffs

Many delays occur between teams rather than inside a single task.

For example, a design team may finish interface specifications before engineering begins implementation. If the handoff is missing from the schedule, engineering may appear late even though the real issue occurred earlier.

Connecting the handoff-related tasks shows where work waits and who needs to act next.

Managing Approvals

Approvals often control important milestones. A marketing campaign may require legal review, brand approval, and executive sign-off.

Each approval can serve as a predecessor for the next activity. This makes approval delays visible instead of treating them as unexplained schedule changes.

Planning Procurement and Delivery

Physical goods, licenses, equipment, and specialist services may require lead time.

For example, installation depends on delivery, and delivery depends on placing an order. Linking these activities helps you see the impact of late purchasing decisions.

Finding the Critical Path

The critical path is the chain of dependent tasks that controls the shortest possible project duration.

If one task on that chain slips by two days, the final milestone may also slip by two days. A noncritical task may have available flexibility, so the same delay might not affect the launch.

Predecessors help scheduling software calculate these relationships and highlight tasks that deserve close attention.

Predecessors, Constraints, and Milestones

These three ideas work together, but they are not identical.

Predecessors

A predecessor describes a relationship between tasks. It answers, “What must happen before this activity can proceed?”

Constraints

A constraint limits when a task can start or finish. Examples include a fixed launch date, a contract deadline, or a site-access restriction.

A task may have a predecessor and a constraint at the same time. For example, testing may depend on development finishing, while the final release must occur before a public event.

Milestones

A milestone marks an important point, such as approval, completion, or release. It usually has little or no duration.

A milestone can have predecessors. “Product approved” may depend on testing, legal review, and executive approval. Later work can then use that milestone as its predecessor.

Why the Difference Matters

Confusing these concepts can create a misleading schedule. A fixed date does not explain what work must happen first, and a predecessor does not automatically create a deadline.

Use relationships to describe work order, constraints to represent timing limits, and milestones to mark meaningful achievements.

Natural Gantt Chart Planning Solution: ONES.com

ONES.com product screenshot

Value Proposition

ONES.com combines project management and knowledge management in one platform, with ONES Project supporting structured planning and ONES Wiki supporting shared team knowledge. You can use it to connect task dependencies, monitor schedules, and keep project context accessible.

ONES Project is also a Jira alternative for teams that need Jira-compatible workflows, reporting, custom fields, and flexible deployment options.

Core Capabilities

Dependency planning

Pain: Teams lose track of what must happen first when tasks live in disconnected lists.

ONES capability: ONES Project supports connected project workflows and dependency-aware planning.

Result: You can see how predecessor relationships affect later work and milestones.

Custom workflows

Pain: A generic task flow may not match your approval or delivery process.

ONES capability: You can configure workflows around your team’s stages, handoffs, and review points.

Result: Your schedule reflects how work actually moves through the organization.

Custom fields

Pain: Important planning details may be hidden in comments or separate notes.

ONES capability: Custom fields let you track items such as approval status, release area, risk level, or responsible group.

Result: You can filter and review scheduling information more consistently.

Sprint management

Pain: Agile teams may struggle to connect sprint work with larger milestones.

ONES capability: Sprint management helps teams organize short delivery cycles while maintaining broader project visibility.

Result: You can relate near-term work to upcoming releases and dependencies.

Built-in reporting

Pain: Manual status updates can hide schedule movement until problems become urgent.

ONES capability: Built-in reporting gives teams a structured view of progress, workload, and delivery status.

Result: Project leads can spot slippage and investigate affected successors sooner.

Automation

Pain: Repetitive updates consume time and create inconsistent status changes.

ONES capability: Automation can support recurring actions, transitions, and routine workflow steps.

Result: Teams spend less time maintaining project administration and more time resolving exceptions.

Deployment flexibility

Pain: Some organizations cannot place project information in a public cloud environment.

ONES capability: ONES.com supports Cloud, On-Premise, Private Cloud, and Air-gapped deployments.

Result: You can choose an environment that fits operational and security requirements.

Native feature parity

Pain: Teams may need multiple plugins to match the capabilities they rely on elsewhere.

ONES capability: ONES Project provides Jira-compatible workflows, reporting, custom workflows, custom fields, sprint management, and automation.

Result: You can reduce plugin dependence while keeping a familiar project structure. Cloud and self-hosted versions offer full feature parity.

Application Scenarios

Software release planning: A development team can connect design approval, implementation, testing, security review, and release. If testing slips, the team can immediately inspect the affected milestone.

Marketing campaign delivery: A campaign manager can connect copy approval, design production, legal review, publishing, and performance monitoring. Each handoff becomes visible to the people responsible for it.

Restricted-network project work: A team with strict network controls can use an On-Premise or Air-gapped deployment. Project planning and knowledge management remain available within the required environment.

Common Challenges With Predecessors

Creating Too Many Links

Problem: You connect every task to several others, making the schedule hard to read and maintain.

Solution: Add a relationship only when one task genuinely affects another. For example, a design task does not need to wait for an unrelated finance review.

Using the Wrong Dependency Type

Problem: You use finish-to-start for work that can overlap, extending the project unnecessarily.

Solution: Check whether the successor needs the predecessor to finish, or only to begin. Use start-to-start when parallel progress is realistic.

Ignoring Lag Time

Problem: The chart shows immediate progress even though the team must wait for curing, delivery, review, or approval.

Solution: Add lag when a real waiting period exists. A schedule with visible waiting time is more reliable than one that looks faster but cannot be followed.

Creating Circular Dependencies

Problem: Task A depends on Task B, while Task B also depends on Task A.

Solution: Review the workflow and identify the true first action. If both tasks need information from each other, split the work into smaller activities.

Failing to Update Relationships

Problem: The team changes its process, but old predecessor links remain in place.

Solution: Review dependencies during planning meetings and major scope changes. A relationship that was correct last month may now create unnecessary waiting.

FAQs About Predecessors in Gantt Charts

Is a predecessor always the task immediately before another task?

No. A predecessor is any task that affects when another task can start or finish. It may appear several rows earlier in the chart. For example, final testing may depend on both development and security configuration. Those tasks do not need to sit directly above testing to act as predecessors.

Can one task have multiple predecessors?

Yes. A task can require several conditions before it begins. A product launch might depend on completed testing, approved marketing content, available inventory, and legal approval. Each condition can have its own predecessor relationship. Multiple predecessors help represent real work, but too many links can make the schedule difficult to manage.

Can a predecessor start after its successor?

In a valid schedule, the relationship should reflect a logical order. A successor cannot normally depend on work that happens later. If the chart shows that pattern, check for an incorrect link, a wrong dependency type, or a circular relationship. Some overlapping workflows may look unusual, but the timing should still make operational sense.

What is the difference between a predecessor and a dependency?

A predecessor is the earlier task in a relationship. A dependency is the relationship itself. For example, “Approve design” is the predecessor of “Begin development.” The rule connecting those tasks is the dependency. People often use the terms casually, but this distinction helps when building and reviewing schedules.

Do milestones have predecessors?

Yes. A milestone can depend on several completed tasks. For example, “Ready for launch” may require testing, training, approval, and deployment preparation. Once those predecessor activities are complete, the milestone can be reached. Milestones can also act as predecessors for later tasks, such as post-launch monitoring or customer communication.

Conclusion

A predecessor in a Gantt chart is a task that comes before, and often controls, another task. The later task is the successor. Together, these relationships show how work moves through a project.

Finish-to-start is the most common dependency, while start-to-start, finish-to-finish, and start-to-finish handle more specialized workflows. Lag represents planned waiting time, and lead represents intentional overlap.

But here's the truth: a Gantt chart becomes useful when its relationships match real work. Link only genuine dependencies, include necessary waiting periods, and review connections whenever the workflow changes.

With clear predecessor planning, you can spot schedule risks earlier, coordinate handoffs more confidently, and understand which delays may affect your final milestone.