1000+ legacy PHP code backlog positions cleared. Our project for Python Development Company
There are not many teams out there that are ready to jump straight into legacy code, with more than a 1000 positions in the backlog. We not only did it with success but in the process we made a business partnership that lasts to this day.
Our Client is Europe’s largest Python Development Company with 300 staff members onboard, serving many various market segments, such as: finance, health care, retail, security and transport.
For their complex project they needed a business partner who would not only have extensive PHP knowledge but also would be experienced in working with legacy code. This is where we stepped in.
Our task was to introduce new functionalities and take care of the app so that it works smoothly. We were also asked to strengthen the client’s team with our developers. Sounds like a piece of cake? Nothing could be further from the truth.
The ultimate challenge of legacy code
We took over an app which had 1000+ positions in the backlog. The architecture was complex and inconsistent, as it often happens with long-term feature driven projects where you respond to new needs by adding more lines of code. This, in turn, created a technological debt, security risk and constantly growing management problems. There were previous attempts to align the technology stack and to upgrade PHP to a newer version - both without success.
Below you’ll find out what we did to solve this. Spoiler alert: we got along quite well because we are maintaining the app to this day.
What we did to solve this
First of all, we created a team of developers who were ready to jump straight into the project and find their way through the jungle of legacy code. They had knowledge, they had experience and - what is even more important - they had the motivation and passion to sort things out.
Within a couple of months our team helped in these cases:
- To a high degree, we’ve aligned (and we still do) the technology stack - it keeps the libraries organized and structured.
- We successfully upgraded PHP to a newer version (there were a few attempts before)
- We upgraded jquery, bootstrap(?) and many interface components.
- We created dozens of new features, hundreds of bug fixing, 200+ pull reuests, 30K+ lines of code and many code reviews.
- We created automated interface tests (Ghost Inspector)
- We improved unit tests coverage.
- We helped clean and keep Github repos clean.
- We highly improved accessibility of the platform
- We introduced TDD (Test Driven Development), with unit tests first
Why did that work for our Client?
After all, could they employ a PHP team? Of course they could but they would have to manage that team and have someone with these competencies at a high level. And that would mean changing their current business profile and specialization.
That is why they needed a partner to rely on. Someone with competencies and experience in legacy code, who could take this project out of their shoulders.
We built the team, managed the whole process, solved issues on a daily basis and communicated with the client so that they could focus on their core business while we did our part of the job.
Client’s costs saved:
100+ hours of HR / onboarding work. With costs of hiring a good developer getting higher each year, and increased employees retention a partner with a team of developers ready to join a project is a treasure.
delivered projects 30% faster.