Code Upcycling: evolving legacy code

A session at PHP Conference Argentina

Saturday 5th October, 2013

6:40pm to 7:10pm (CMT)

Every developer will eventually inherit legacy code that is fragile, difficult to manipulate and hard to test. In such cases the options are pretty simple:

  • Rewrite everything
  • Continue as-is
  • Side-by-side replacement

In rare cases a from-scratch rewrite is justifiable, however, if the code is in production odds are it is either making money, saving money or making your organization run smoother. In such cases a rewrite just isn’t feasible. So if you are convinced that leaving the code alone as-is isn’t an option, then the problem becomes: how do you improve the code incrementally over time?

We will introduce the concept of Code Upcycling and how we are using it to evolve a legacy system. Code Upcycling addresses the following problems:

  • Code diversity: legacy systems often have older code and outdated APIs mixed in with newer concepts and design patterns. Getting code into a consistent state is key.
  • Dependency problems: when code can’t be isolated then it can’t be tested. It is important the legacy code becomes testable.
  • Codebase size: legacy systems are usually big. This makes the code diversity and dependency issues exponentially worse.
  • Small teams: if you have a small team they are often involved with related activities like system administration and customer support. You must have a plan that lets the legacy code evolve in a way that doesn’t disrupt other responsibilities.
  • Thirst for innovation: most times simply updating legacy code to be consistent and testable isn’t enough. Customers and the market often requires you to add new features, too.

Come hear the struggles, setbacks and incomplete nature of evolving legacy code, and how we are addressing this in our Upcycling Journey.

About the speaker

This person is speaking at this event.
Michael Tutty

CTO at GForge Group, Inc.

Michael oversees the ongoing development of the GForge platform, while participating in product development, and feature design. Prior to that he was the director of technology at HireAHelper, an ITEE at the state of Iowa (leading teams across the state government), and a team leader at Xerox.

Next session in Room A

7:10pm Closing Day: Raffles & Gifts

Coverage of this session

Sign in to add slides, notes or videos to this session

Tell your friends!


Time 6:40pm7:10pm CMT

Date Sat 5th October 2013

Short URL


Official session page


View the schedule


See something wrong?

Report an issue with this session