So You Inherited a Mess: First Steps in Adopting a Legacy Project

Parent Track: 
Project Management and Consulting

We all want our websites to be resilient, fast & easy to work on but sometimes you inherit a project that’s not any of those things.  Version control is murky or non-existent. Core is way, way, way, waaaaaay out of date.  The documentation on the project hasn’t been touched in about 17 months, and there are multiple views named “Article”. Yikes.  

You may not know how you got into this mess, but I’m here to help you find your way out.  You too can gracefully inherit even the messiest legacy project and leave it better than you found it. 

So many talks on best practices start from a blank slate; a brand new project where *this time* you’ll finally do everything right from the beginning.  This talk focuses on what you can do on all the *other* projects you have: the ones with no budget for a rebuild, the ones that are short on time and long on requirements. You know the type.

Rather than diving into detail about which automated test suite to implement or how to name your views, this talk gives some principles to guide you as you untangle that spaghetti code one noodle at a time.  

Learning Objectives

After this talk, attendees will be able to: 

  • Diagnose the factors that cause instability and uncertainty for an adopted or legacy project.
  • Create an action plan for how to improve that project.
  • Use that plan to reduce instability and increase project performance.

Target Audience

The ideal attendee for this session is a developer or technical project manager who is responsible for working on a legacy project and wants to add some structure to that project.  It should be a good fit for a developer who is looking to make the move to a senior or lead role.


Intermediate Drupal knowledge will be helpful, though not required.  The concepts covered will apply beyond Drupal, but the language and examples will be Drupal-focused.