I recently published a piece in Cognition on handling large, legacy projects—specifically updating them in a sane manner without a the often-desired (by engineers) “throw-it-out-and-start-over” approach.
I wrote this while updating a large scale Laravel project that served ~250 organizations across the US. When I was handed the project as Technical Lead, it was running Laravel 4, and had been built/maintained by multiple teams over the previous 7 years.
It also had essentially no test coverage for the critical business logic.
I implemented a framework to do a few things:
- Get test coverage on the most-critical features to stabilize them
- Plan for and execute a strategy to modernize the application
- Ensure minimal downtime while continuing to serve the application in production
After completing the migration, testing showed a ~48% reduction in server load, as well as a $2,500 / month cost savings in infrastructure.
Read the full article here: