154 data sources migrated. Zero unplanned outages.
- Context
- An enterprise transit technology provider running its internal and customer-facing reporting on an end-of-life Tableau Server deployment: 154 SAP HANA data sources and more than 100 workbooks, with a hard vendor deadline and an internal team that had never run a platform migration.
- Problem
- The deployment had grown for years without an inventory. Nobody could state how many assets were in scope, which reports were used, or what each one depended on. A partner consultancy had been engaged for conversion work, but there was no sequencing, no validation standard, and three parties each holding part of the plan.
- Role
- My role: delivery lead: inventory, sequencing, client IT coordination, and the migration tracker. Team: a partner consultancy's technical lead and two migration developers executing the workbook conversions.
- Work
- Built the dependency inventory and the phased cutover plan, ran the assignment tracker across both developers, and served as the single point of contact between the client's IT director and the partner firm. Defined the validation test each migrated asset had to pass before a phase closed, and produced the client-facing process documentation stakeholders used to approve each phase.
- Outcome
- All 154 data sources migrated to Tableau Cloud. Zero unplanned production outages across the cutover. The legacy environment was decommissioned inside the vendor deadline.
- Stack
Why the inventory came before the migration
An end-of-life vendor deadline creates pressure to start converting workbooks on day one, and on this programme that would have been the expensive mistake. The deployment had grown for years without an inventory, so nobody could state how many assets were in scope, which reports were still used, or what each one depended on. Converting in that state means discovering dependencies in production, one broken report at a time, which is exactly the kind of unplanned outage the deadline left no room for.
The first deliverable was therefore not a migrated workbook but the dependency inventory itself: every one of the 154 SAP HANA data sources and the hundred-plus workbooks catalogued with what it fed and what it relied on. That map is what made a phased cutover possible instead of one high-risk switchover, and it is what let the client see the true shape of what they were asking three separate parties to move.
What a validation gate bought
Zero unplanned production outages across a migration this size is not the product of care alone; it is the product of a rule. Each migrated asset had to pass a defined validation test before its phase was allowed to close, so a phase advanced on evidence rather than on a developer's sense that the numbers looked about right. That gate turned a single frightening switchover into a sequence of small, checkable steps, each proven before the next began.
The delivery-lead role is what made the gate enforceable. With the partner consultancy's technical lead and two developers executing the conversions and the client's IT director approving each phase, one point of contact between them kept the plan whole rather than split three ways, each holding a piece. The client-facing process documentation was part of the same discipline: a phase a stakeholder cannot follow is a phase they cannot approve, and an approval that is really a guess is where a clean migration quietly goes wrong.
A deadline met, and a map worth keeping
A phased cutover is sometimes read as the slower option, and against a hard vendor deadline that reading is backwards. Phasing is what let the legacy environment be decommissioned inside the deadline rather than in a single late scramble, because at every point in the sequence the completed phases were real and finished, not half-migrated and hoping. A big-bang cutover has exactly one moment where everything has to work, and it usually arrives after the deadline has passed.
The dependency inventory outlived the migration too. Built to sequence the work, it doubled as an ownership record: every asset carried what it depended on and who relied on it, which is a governance artefact most organisations only acquire by paying for it separately. Producing it as a by-product of a move that had to happen anyway is the cheapest way to end up with one.
Further reading
- An onboarding fee that actually covers setup
The first thirty days is the most expensive month of the engagement and the one most agencies give away.
- Which ceremonies a client should be in
A retrospective with the client in the room is not a retrospective. It is a meeting where nobody says the true thing.
- How to scope a fixed-fee SOW that doesn't lose money
The margin on a fixed-fee project is decided before anyone writes code.
- Cost controls for analytics workloads on Azure
The first surprise bill is never caused by a missing budget. It is caused by somebody believing a budget was a limit.