How to plan a staggered rollout in waves on a Gantt chart

Plan work that rolls out in waves, each starting a fixed lag after the last, with start-to-start links and a closing gate that waits for the final wave. Clinical sites, stores, offices and regions.

When sites, stores or regions go live in waves, each wave starts a set number of days after the one before, and the whole programme only finishes when the last wave does. This guide shows how to draw that on a Gantt chart with start-to-start links and a gate.

The short version

  • Use start-to-start with a lag between waves, so each wave starts a fixed number of working days after the previous one starts.
  • Keep the lag between waves as a number you can change in one place.
  • Make the gate a milestone of length 0 that waits for the last wave and for waves still in progress.
  • Hang everything that needs the whole population from the gate, not from the first wave.
  • The lag counts working days Monday to Friday; a schedule does not make the work approved or compliant.

Waves that start on a lag and end together

A staggered rollout is the same job repeated, with a delay between repeats. A trial activates its sites in groups, a retailer opens stores region by region, a bank moves offices onto a new system a few at a time. The team that does the setup, training or initiation visits is small, so the waves cannot all start together. They also should not wait for each other to finish, or the programme would take the sum of all the waves instead of the length of one wave plus the gaps.

The link that fits this is start-to-start with a lag. Wave 2 starts a fixed number of working days after wave 1 starts, and wave 3 the same number after wave 2. In the Depends on column that is written as the wave number, the letters SS and the lag, for example 7SS+8. Change the lag once and every later wave moves. If the waves are also set up by a shared team, the lag is where that team's capacity is expressed: it is the number of days before they are free to start the next wave.

The second half of the pattern is the gate. Nothing that depends on the whole population can start until the last wave has caught up: in a trial that is the end of enrolment, in a retail programme it is the point where every store is trading on the new system. Draw the gate as a milestone that depends on the final wave and on every earlier wave still running, and everything after it hangs from the gate. Then the finish date is set by the slowest wave, which is how it works in practice.

The example below builds the clinical trial template, where the waves are site initiations and enrolment. The same shape works for any programme with waves. A timeline schedules the work and does not make a study, a site or a system compliant or approved; those depend on the reviews and records your own process requires. For the rest of the trial, see /templates/clinical-trial-gantt-chart, and for the link types in general /guides/gantt-chart-dependencies.

A staggered site activation, built in stages

Twenty-one tasks. Durations and lags are illustrative; set your own. Open the spreadsheet panel to see the rows behind each stage.

  1. What has to be true before wave 1

    "Run wave 1 site initiation" (5 working days) waits for three things: the "Approvals in place" milestone, "Build and test data capture system" (8) and "Negotiate site contracts" (10). The contracts task starts 2 days after "Prepare ethics and authority submission" starts, a start-to-start link with a lag.

  2. Waves 2 and 3 on a fixed lag

    "Run wave 2 site initiation" is start-to-start with wave 1 plus 8 working days, and "Run wave 3 site initiation" is start-to-start with wave 2 plus 8. Each wave is 5 days long, so there are 3 working days between one ending and the next starting. "First site activated" is a milestone that follows wave 1.

  3. Enrolment follows the waves and closes on a gate

    "Enrol patients at wave 1 sites" (25 days) starts at "First site activated". "Enrol patients at wave 2 and 3 sites" (30) starts 10 working days after wave 1 enrolment starts and after wave 3 initiation ends. "Enrolment complete" is a milestone that waits for both enrolment tasks.

  4. Everything after the gate hangs from it

    "Run treatment and follow-up visits" (45) starts 10 days after wave 1 enrolment starts and finishes with "Complete last patient follow-up". "Monitor sites and resolve queries" (50) starts 5 days after "First site activated". "Database lock" and the report follow, ending at "Report signed off".

How it works

  1. Decide the waves and what each one contains

    Group the sites, stores or regions into waves and give each wave one task for its setup. A wave is a batch the same team can handle at once, so choose sizes that team can manage, not the same size for the sake of it.

  2. Write down what must exist before the first wave

    List the approvals, contracts, systems and training that all waves need. Link them to the first wave with ordinary finish-to-start links, and put an approvals milestone of length 0 in front if a sign-off is the real gate.

  3. Link the waves start-to-start with a lag

    In Depends on for wave 2, enter the number of wave 1 followed by SS and the lag in working days, for example 7SS+8. Do the same for wave 3 against wave 2. Do not make wave 2 depend on the end of wave 1 unless the same people really cannot overlap.

  4. Add the activity that follows each wave

    Enrolment, opening trading or user go-live for a wave starts from that wave's activation. Give the first wave a milestone for its first activation, and link the next wave's activity to its own setup and to the start of the earlier wave's activity with a lag if they overlap.

  5. Draw the gate

    Add a milestone of length 0 that depends on the activity of every wave. It is the point at which the whole population is live. Link all later work to it, and use the critical path toggle in the View menu to see which wave sets the date.

  6. Share it and update as waves go live

    Group by wave if you want a band for each, put the lead for each wave in People, and update progress as the work is done. Share the chart as a link or export a PDF for the programme board.

Mistakes to avoid

  • Making each wave wait for the one before to finish

    A finish-to-start link between waves makes the rollout as long as all the waves added together. If the same team can overlap, use start-to-start with a lag and keep the lag as large as the team's real capacity needs.

  • Hanging the next phase from the first wave

    If the database lock or the go-live review depends on the first wave only, it will be scheduled before the last wave is done. Link it to a gate that waits for every wave.

  • Using one lag for sites that are not alike

    A fixed lag is a simplification. If one region needs a longer set-up than another, give it its own wave and its own lag rather than stretching the others. QueryChart does not know how many people your team has, so it will not warn you if waves overlap more than they can cope with.

  • Treating the dates as approval

    A Gantt chart shows when work is planned to happen. It does not show that sites are ready, that a system is validated or that a submission is approved. Keep those records in your own quality system and refer to them in the task notes.

Open the clinical trial Gantt chart

Open the clinical trial template, change the lag between waves and see every later wave and the gate move.

Open the clinical trial Gantt chart

Related guides

Frequently asked questions

What does a start-to-start link with a lag mean?

The later task starts a set number of working days after the earlier task starts, whether or not the earlier task has finished. In the chart it is written as the task number, SS and the lag, such as 7SS+8.

Can I use this for stores, offices or regions?

Yes. The pattern is the same: one setup task per wave, start-to-start links with a lag between waves, a gate milestone for the last wave and the work that follows it. Only the task names change.

How do I make a wave start on a fixed date?

Give that task a fixed Start date. Where the date conflicts with a dependency, the chart flags it, which shows early that the plan cannot be met as drawn.

Does the lag count weekends?

No. Lags and durations are whole working days, Monday to Friday. QueryChart has no holiday calendar, so add public holidays as extra days in the lag or duration.

How do I see which wave sets the finish date?

Turn on Critical path in the View menu. It lights the chain of tasks that sets the finish. A longer lag or a slower wave will move it, and shortening a task that is not on the chain will not.

The template behind this guide

Clinical trial Gantt chart template with site activation waves — An editable clinical trial Gantt chart: ethics and authority approval, site activation in three waves, overlapping enrolment and follow-up, database lock and the study report, with gates and start-to-start links.