After discussing with the CTO which architectural choices were better suited for the needs they had, we began by establishing a business metrics system to support the product department.
Tackling the data integrations was the next priority. We enhancing a faulty Zendesk integration and brought in customer data from their CRM, so that every support ticket had the necessary context to be dispatched more quickly and effectively.
Then we realized that their old payment system was holding them back from rolling out their new pricing structure, and at the same time it made it hard for their customers to access their own invoices. After we fully migrated all paying customers over to Chargify with zero downtime, the new structure was live and customers were delighted. Additionally it made it easier for us to integrate the newly available financial data with the CRM for the sales department —they were happy to get an even richer picture of their paying customers.
Along the way, whenever we needed to refactor or adapt part of the original codebase to improve integrations, working with their team was frictionless, thanks to the fact that there was a good alignment in terms of development methodology. Occasionally, we would review their code and share some best practices.
To ensure a smooth hand-over, not only we delivered comprehensive technical documentation, but also technical talks to their team, walking them through the architecture of the new systems and their extensibility points.