Why integration projects slip, and how to keep them on aggressive timelines

Integration projects slip more than normal product work because two companies share the dependencies. How to set up the integration timeline to ship fast.

A project timeline bar with milestone dots, one segment compressed and highlighted blue, and a cleared blocker marked with a green check at launch.

You scoped the integration, both sides were excited, and the kickoff felt fast. Then week three arrived and the project was waiting on a sandbox credential. Week five, it was waiting on a security questionnaire nobody on either side had picked up. By the time it shipped, two quarters had passed and the customer who asked for it had quietly stopped asking.

This is the normal failure mode of an integration project, and it is not because the engineering was hard. Integration projects slip because the integration timeline runs across two companies, two roadmaps, and two legal teams, with shared dependencies that nobody clearly owns. Normal product work has one of each. An integration has two, and the gaps between them are where the weeks disappear.

This guide is about running the integration project itself: how to set it up before kickoff so it is fast by default, the weekly cadence that keeps it moving, how to clear blockers aggressively, and when to slip on purpose without losing the customer.

The 60-second version

If you only read one section, read this one:

  • Integration projects slip at the seams, not in the middle. The risk lives at handoffs between the two companies, and the slip compounds every time work crosses the line.
  • Set the project up to be fast before kickoff: scope signed by both sides, a named owner each side, an escalation contact each side. Do this before anyone writes code.
  • Run one cadence: one shared channel, one weekly sync for decisions not status, async written status, and a single shared blocker list both sides can see.
  • Classify every blocker as decision, dependency, access, or legal. Each class has a different unblocking move, and escalating early is almost always right.
  • Run legal and build in parallel. Serializing the agreement before scoping adds weeks for no benefit.
  • Use a two-company RACI so no workstream falls into the gap between "their job" and "our job."
  • Slip scope, not quality, and protect the v1 ship date because the date is what protects adoption momentum.
  • Instrument the project with a burn-down of acceptance criteria, blocker age, and days to app review, so the date is something you can see coming.

Why integration projects slip more than normal product work

A normal feature has a clean shape. One company, one roadmap, one prioritization meeting, one engineering team that owns every dependency. When something blocks the work, the person who can unblock it sits in your standup.

An integration project breaks all of that. Two companies are building toward a shared deliverable, and the dependencies cross the boundary in both directions. You need their sandbox credentials. They need your security documentation. You need their app review to pass. They need your marketing assets to list you. Each of those is a dependency that one side cannot resolve alone.

Two-company swimlane diagram with your team and partner team lanes, workstreams connected by handoff arrows, and one handoff marked red as where slips happen

The slip compounds at the handoffs. When work stays inside one company, a delay is a delay: a day lost is a day. When work crosses to the other company, the delay also resets attention. Their engineer was deep in your integration, got pulled to their own roadmap while waiting on your answer, and needs a day to swap back in once you reply. The handoff did not just cost the waiting time, it cost the context.

This is why an integration that looks like four weeks of code routinely takes three months. The code is four weeks. The other ten are spent waiting at seams nobody is watching. The fix is not to code faster. It is to design the project so work crosses the boundary as rarely as possible, and so that when it does cross, someone on each side owns the wait.

For where the integration project sits in the wider partnership, our complete guide to tech partnerships covers the full path from partner idea to shipped integration. This post is about the part where the build happens, and where most timelines die.

Set up the project to be fast before kickoff

Most of an integration project's speed is decided before kickoff, in three setup decisions. Get them wrong and no amount of weekly discipline recovers the time.

1. A scope signed by both sides. Not a verbal agreement on a call, not a doc one side skimmed. A written scope, with user stories, a workflow map, and acceptance criteria, that an engineer on each side has read and agreed defines done. If the two companies hold different pictures of "done," you discover it during app review, which is the most expensive place to discover it.

2. A named owner on each side. One person on your side and one on theirs, each with the authority to prioritize the work and the access to engineering to ship it. "The partnerships team" is not an owner. A name is. When a blocker lands, the owner picks it up, and the two owners talk when a handoff stalls.

3. An escalation contact on each side. Above each owner, one person who can override a roadmap conflict. You will need them, because the integration will at some point lose a prioritization argument to something more urgent, and the only way through is for the escalation contacts to talk. Agreeing who they are at kickoff is much easier than finding them in week six.

Setup asset What it prevents Owner
Scope signed by both sides Different definitions of done, discovered at app review Both product owners
Named owner each side Blockers with no one to pick them up Each company
Escalation contact each side Roadmap conflicts that stall for weeks Each company
Shared channel and blocker list Status lost in email threads Your owner sets up

The test for whether setup is done: if you handed the project to a new engineer on either side tomorrow, could they tell you what done means, who owns the work, and who to escalate to, from the documents alone? If not, you have not set up the project. You have just had a nice kickoff call.

The weekly cadence that protects the integration timeline

Once the project is set up, the thing that keeps it on an aggressive integration timeline is a boring, repeatable weekly cadence. Four parts, no more.

One shared channel. A single Slack or Teams channel with the working engineers and owners from both companies in it. Not email, where threads fork and context dies. One room where both sides see the same conversation.

One weekly sync, for decisions not status. Thirty minutes, both owners and the engineers with open questions. The agenda is the blocker list and any decision that needs both sides in the room. Status does not need a meeting.

Async written status. Status goes in writing on a fixed day: what shipped, what is blocked, what is next. It is searchable, survives people being out, and forces the specificity that "we're making good progress" on a call never does.

A single shared blocker list. One list, visible to both sides, that is the source of truth for everything stopping the project. Every blocker has a class, an age, and an owner. This list, not the kickoff deck, is what the weekly sync runs on.

Cadence element Cadence Purpose Anti-pattern it replaces
Shared channel Always on One conversation both sides see Forked email threads
Weekly sync 30 min, weekly Decisions that need both sides Status read-aloud meetings
Async status Written, weekly Searchable record of progress "Making good progress" on a call
Blocker list Updated continuously Single source of truth for what is stuck Blockers tracked in someone's head

The cadence sounds heavy written down. In practice it is one channel, one half-hour meeting, and two short writeups a week. That overhead is what separates a project that ships in eight weeks from one that drifts for two quarters.

Clearing blockers aggressively

The single highest-leverage habit in an integration project is treating the blocker list as the most important artifact you have. Every day a blocker sits open is a day added to the integration timeline, and the oldest blocker, not the average one, is what drives your date.

The move is to classify each blocker, because each class unblocks differently.

Terminal-style blocker log card showing items with class, age, and owner columns, with one overdue legal blocker highlighted in red

  • Decision blockers wait on a choice, usually about data ownership or behavior on conflict. The move is to get the decision-makers from both sides into the weekly sync and force the call. Decisions do not get easier by aging, they get more expensive, because code gets written around the gap.
  • Dependency blockers wait on the other side to build or finish something. The move is to confirm it is on their sprint, with a date, and make the date visible on the shared list. A dependency with no date is not a dependency, it is a hope.
  • Access blockers wait on credentials, sandbox accounts, or permissions. These are the most embarrassing to slip on, because they are trivial work that just needs someone to do it. Name an owner and a same-week deadline, because access blockers stall on attention, not difficulty.
  • Legal blockers wait on an agreement, a review, or a questionnaire. The move is to run them in parallel, covered next, and escalate the moment one goes past its expected age.
Blocker class Waiting on Unblocking move
Decision A choice nobody has made Force it in the weekly sync
Dependency The other side to build something Confirm it is on a sprint, with a date
Access Credentials or permissions Name an owner, same-week deadline
Legal An agreement or review Run in parallel, escalate early

Escalate early, almost always. The instinct is to wait, to not seem pushy, to give the partner room. That instinct costs weeks. Partner managers are measured on ecosystem activity, on how many integrations ship and how fast. A startup that escalates a stuck blocker is not being difficult, it is helping them hit their own number. The polite version of patience is just a slower way to miss the date.

Running legal and build in parallel

The most common self-inflicted slip is serializing the agreement before the build. The logic feels responsible: sign the partnership agreement first, then scope, then build. In practice it adds weeks and protects nothing.

Timeline comparison showing serialized legal then build taking twelve weeks versus parallel legal and build taking eight weeks, with four weeks saved

Legal review and engineering scoping have almost no overlap in who does the work or what they depend on. Your lawyers reviewing data-processing terms do not block your engineers from mapping endpoints to user stories. When you serialize them, the entire build team sits idle while a redline goes back and forth, and a redline always takes longer than anyone promises.

The parallel version is simple. Kick off scoping and the early build the same week legal starts, with engineers working against the sandbox while the agreement is negotiated. The one rule: do not ship to production or go live in a marketplace until the agreement is signed. Everything up to that line can happen in parallel without legal risk, because no customer data is flowing and nothing is public yet.

This requires both sides to agree that build-in-parallel is acceptable, which is itself a kickoff conversation. Most partners agree readily, because they want the integration shipped as much as you do. The ones who insist on a fully signed agreement before any engineering are telling you how the rest of the project will feel.

For how to structure the agreement itself so it does not become the bottleneck, see our guide to SaaS partnership agreements. The short version: a tight, standard agreement reviewed in parallel beats a perfect one that serializes the whole project.

The two-company RACI that prevents handoff gaps

The classic integration slip is a workstream that falls into the gap between "we assumed they had it" and "they assumed we had it." Security questionnaires are the usual victim. Each side assumes the other owns it, and it sits untouched for two weeks until app review flags it.

A two-company RACI fixes this. For every workstream, you write down who is Responsible and who is Accountable on each side. The point is not the framework. The point is that every workstream gets a name on each side, so nothing lives in the gap.

RACI table graphic mapping workstreams across your side and the partner side, covering API access, app review, security questionnaire, marketing assets, and launch date

Workstream Your side Partner side
API access and credentials Consulted Responsible
App review and certification Accountable Responsible
Security questionnaire Responsible Accountable
Marketing and listing assets Responsible Consulted
Launch date Accountable Accountable

Read that table and the handoffs become obvious. API access is the partner's to provide, so if it slips you know whose channel to ping. The security questionnaire is yours to complete even though it serves their review, which is exactly the workstream that goes unowned without a table like this. The launch date is accountable on both sides, because a date one company holds alone is a date the other feels free to move.

Fill this in at kickoff, put it next to the scope, and revisit it when a new workstream appears. It takes ten minutes and removes the most common reason integration projects stall in the back half.

When to slip deliberately

Sometimes the date is genuinely at risk and no amount of blocker-clearing will save the full scope. When that happens, you have a choice, and the right move is almost always the same: cut scope, not quality, and protect the v1 ship date.

The reason is adoption momentum. An integration ships into a window of customer attention. People asked for it, you told them it was coming, and there is a moment where they are ready to connect it. Slip the date to fit the full scope and you spend that attention waiting. By the time you ship, the customer has built a workaround or moved on, and the integration lands into silence.

A smaller integration that ships on time keeps that window open. Sync contacts now, add the deal-stage mapping in v1.1. The customer connects, gets value, and gives you the first installs and reviews that make the listing work. The follow-up scope then ships into a live, adopted integration, a much better place to add from than a slide.

What you do not cut is quality. A v1 that syncs one object reliably beats a v1 that syncs three with a data-loss bug. The bug shows up as a churn-risk ticket, not a roadmap item, and it poisons the trust the whole partnership runs on. Smaller and solid beats broad and broken, every time.

The discipline is to decide the cut line at scoping, not in the panic of week seven. Mark which acceptance criteria are v1 and which are v1.1 up front. Then if the date is at risk, you are executing a plan you made calmly, not making a quality tradeoff under pressure.

Instrumenting the integration project

You cannot keep a project on an aggressive timeline if you cannot see the date coming. Three lightweight metrics make the integration timeline legible, and none of them needs a tool beyond the shared blocker list and your issue tracker.

Burn-down of acceptance criteria. Track how many criteria from the signed scope are met each week. This is your real progress, not commits or hours. A burn-down that flattens for two weeks is telling you something the standup is not.

Blocker age. Track the age of the oldest open blocker, by class. The oldest blocker, not the count, predicts your date, because the project cannot finish faster than its slowest dependency. When it crosses a threshold you set, say five business days, it escalates automatically. No debate.

Days to app review. App review is the handoff most outside your control, so measure your distance to it: days until you submit, then days in the partner's queue. This number is most likely to surprise you, because partner review times range from days to months, and you want that range priced into the date from week one, not discovered in week ten.

Metric What it tells you When to act
Acceptance-criteria burn-down Real progress toward done Flat for two weeks means a hidden blocker
Oldest blocker age What is actually driving the date Past five days, escalate
Days to app review Distance to the least controllable handoff Submit earlier than feels comfortable

Put these three numbers in the weekly written status. Three lines. They turn "we feel a bit behind" into "the oldest blocker is nine days old and app review is the next gate," which is a sentence someone can act on. For how this instrumentation fits the longer arc of running a partnership after launch, see our guide to the SaaS partnership lifecycle.

Common mistakes, and the fix

Serializing legal before the build. The fix: run them in parallel. Scope and build against a sandbox while the agreement is negotiated, and only hold the production go-live for signature. This alone routinely saves a month.

Treating the blocker list as a backlog. The fix: treat it as the most urgent artifact in the project. Classify every blocker, track the oldest one, and escalate early. A blocker that ages past a week is a process failure, not bad luck.

Leaving workstreams unowned across the boundary. The fix: a two-company RACI at kickoff. Every workstream gets a name on each side. The security questionnaire is the canary, if it has no owner, neither does anything else.

Slipping the date to preserve full scope. The fix: cut scope, not quality, and protect v1. A smaller integration that ships into live customer attention beats a complete one that ships into silence two quarters later.

Running status meetings instead of decision meetings. The fix: status goes in writing, the weekly sync is only for decisions that need both sides in the room. A meeting that reads a status aloud is a blocker on everyone's calendar.

FAQ

How long should a first integration project take? With a signed scope and a parallel build, six to twelve weeks from scope to live is a reasonable target, plus the partner's app review time, which ranges from days to months depending on the ecosystem. The unscoped, serialized version of the same project routinely takes a year. Most of the difference is the seams, not the code.

What is the single biggest cause of slips? Unowned dependencies at the boundary between the two companies. Work that lives inside one company moves. Work that waits at a handoff with no owner on the receiving side is where the weeks accumulate. The named-owner and RACI setup exists entirely to close those gaps.

Should we sign the agreement before we start building? No, run them in parallel. Scope, build, and test against a sandbox while legal negotiates the agreement. Hold only the production go-live and marketplace listing for signature, because that is the line where customer data and public exposure actually begin. Serializing them adds weeks and protects nothing.

How do we push a partner without damaging the relationship? Escalate early and frame it around their goals. Partner managers are measured on ecosystem activity, so a startup that surfaces a stuck blocker and asks for help is making them look good, not being difficult. The relationship is damaged by a project that quietly dies, not by one that asks clear questions on time.

When should we cut scope versus slip the date? Default to cutting scope and protecting the date. The v1 ship date protects adoption momentum, the window of customer attention that an integration ships into. Cut features to a smaller, reliable v1, and ship the rest into a live integration as v1.1. Never cut quality to hit a date, because a data-loss bug costs more than a slip.

Who should own the integration project on our side? One named person with the authority to prioritize and the access to engineering to ship, usually a product leader or founder at seed to Series B. The owner runs the cadence, owns the blocker list, and is the one who talks to the partner's owner when a handoff stalls. The role cannot be split across people.

What do we actually track week to week? Three numbers in the written status: acceptance-criteria burn-down, the age of the oldest open blocker by class, and days to app review. These make the date visible. Commits and hours do not, because an integration can be busy and stuck at the same time.

Do we need a project manager for this? Not a dedicated one at seed to Series B. You need one owner who runs the cadence and keeps the blocker list honest. A service like PartnerMatch can run the integration project end to end if your engineering capacity is the constraint, but the ownership of the partner relationship should stay in your company.

The short version

Integration projects slip more than normal product work because the integration timeline runs across two companies, two roadmaps, and two legal teams, with shared dependencies that nobody clearly owns. The slip compounds at the handoffs, where work crossing the boundary loses both time and context.

The fixes are mostly setup and discipline. Sign the scope on both sides, name an owner and an escalation contact each side, before kickoff. Run one channel, one decision-focused weekly sync, written status, and a single shared blocker list. Classify and clear blockers aggressively, escalating early. Run legal and build in parallel. Use a two-company RACI so nothing falls into the gap. And when the date is at risk, cut scope, not quality, to protect the window of customer attention that v1 ships into.

If you want the integration project run end to end, from scope through written code to a launch that holds its date, that is exactly what a Partner Audit is for. We review your product, API, and partner potential, then define what to build, who to approach, and how to ship it on an aggressive timeline.

Ready to turn partnerships into shipped product?

Start with a Partner Audit. We review your product, API, customer workflows, and partner potential.

Book a Partner Audit