Michel Bechelani

Tech Win: Consolidating CI/CD After an Acquisition

Michel Bechelani Estimated reading time: 2 minutes
Fist bump
Tech Win: Fist bump

Mergers are great on paper. But in engineering? They’re often a mess.

We had just acquired a company whose software team used a completely different CI/CD stack. They were on TeamCity and Octopus Deploy. We were all-in on Azure DevOps. Both stacks worked, but separately, and maintaining two was going to slow us down.

We needed to unify pipelines without introducing risk.

Step 1: Inventory and Map

Before we touched a line of code, we mapped everything:

  • What were they building?
  • How did their release cycles work?
  • What config lived in scripts vs. tools?

This wasn’t just technical, it was cultural. We interviewed their engineers to understand their rituals, blockers, and pain points.

Step 2: Parallel Pipelines

Instead of ripping the bandage off, we ran both systems in parallel.

We recreated their build-and-release steps inside Azure DevOps, keeping outcomes identical. This gave teams confidence. They could compare logs, performance, and test results in real time.

We also added telemetry. Our goal: no surprises.

Step 3: Feature Flags and Controlled Rollouts

To reduce risk, we leaned hard on feature flags. We had just finished integrating LaunchDarkly, and it became the backbone of our deployment safety net.

Even as we migrated the backend, product teams could test in production with confidence.

Step 4: Cleanup and Optimization

Once parity was proven, we retired the old pipelines. We consolidated build agents, removed duplication, and standardized templates. We even shaved 40% off average deployment time by streamlining test stages and caching dependencies.

The Result

  • 100% migration completed within 60 days
  • Zero downtime incidents
  • ~40% faster deployments org-wide
  • Happier engineers (their words, not mine)

We didn’t just merge tools. We merged teams. And we did it by designing for trust, not just speed.