Your mission, should you choose to accept it, is to support an application built on an older framework. Refactoring isn't an easy option. The code is untested and nowhere near best practices or standards. In this session, we'll talk about strategies to incorporate modern PHP coding practices to add features and functionality and retiring the older code in pieces. We'll review specific examples and code from a real project where we bootstrapped a legacy application that needed a lot of help to become useful to its users and simpler for developers to maintain. We'll talk about strategies to leave the existing code in place until the new code is ready to replace it in whole or in pieces. Attendees will learn common terminology around legacy codebases, strategies for assessing the state of the legacy application before deciding how to proceed, and the tools that were crucial to our refactoring project. The specific tools are from the PHP ecosystem, but they are applicable in other legacy environments (testing packages, package manager, database migration tool, and dependency injection container tools) - general ideas of how the Events, CQRS, and DDD worked to help us improve our application.


Comments are closed.

Emily's talk outlined a real-world example of how to utilize the concepts that she described. Great talk!

This talk wasn't so much a "here are useful strategies" as a "here is exactly what my team did." It didn't give enough general information to really be useful for any team but hers.

Brooks Boyd at 11:47 on 23 Sep 2017

Great and clear presentation walking through a personal anecdote but giving supporting information about what the process was, so the general process can be applied to other sorts of projects.

Emily did a great job explaining how she and her team updated a legacy application in pieces without disabling the existing functionality, which can be a very difficult task to achieve.
It was a very enjoyable talk, and I picked up some valuable tips.
If the speaking slot were longer, some more specific examples might be a good addition.
Thanks for a great talk!

M at 14:48 on 23 Sep 2017

Enjoyed this. Really appreciated that she detailed her team's specific experience. Funny/sad recounting of the political/organizational aspects of the project, especially at the end, was very relatable. :)

I think the only thing I was missing was how the potential solutions were talked through. Why DDD, dependency injection, etc., other than that they are popular 'best practices' would have been interesting.

Derek Binkley at 15:12 on 23 Sep 2017

Emily did a good job of relating her experience in a way that can be applied to a problem we all face of dealing with legacy code.

Oscar Merida at 15:07 on 3 Oct 2017

Good case study of how to pay attention to user needs, identify pain points, and address them in a legacy application. I really liked hearing the actual impact Emily's team had on the process.