Migration
Two planning systems into one, with an eightfold costing error caught first
8×how far too high project costs would have read if the rates had loaded as they were
- Client
- Professional services firm
- Move
- Two project and timesheet systems into one cloud platform
- Scope
- Nine object types, years of history
- Approach
- SQL warehouse first, load second
Users, projects, memberships, tasks, assignments, time entries and time off all had to move, and the rules behind them had drifted apart between the two source systems over the years.
Everything was extracted into a SQL warehouse first, so each rule could be tested with a query rather than checked by eye. Migration templates were filled from validated views, never from raw tables.
Before any load, a validation suite checks for orphaned records, invalid emails, blank required fields, duplicate external IDs, impossible dates, broken references and tasks with no parent. Time off was trimmed to what actually needed to move, to stay inside the pilot's record limit.
The client's leadership received a data quality report: each issue, its root cause, and how to keep the new platform clean.
What the data showed
- Time entries above the target platform's 24-hour daily cap.
- Archived records the target treats as read-only, which a straight load would have failed on.
- Gaps in the skills taxonomy between the two systems.
- Cost rates held as blended daily figures in one system and hourly in the other. Loaded as they were, project costs would have read roughly eight times too high.
- A margin report in the existing BI that spread annual salary across booked days instead of hours worked.