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:

  1. Get test coverage on the most-critical features to stabilize them
  2. Plan for and execute a strategy to modernize the application
  3. 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:

https://cognition.happycog.com/article/dont-open-that-black-box-how-to-efficiently-modernize-legacy-projects