Very few software projects are greenfield, meaning they are brand new. Most development is done on existing or brownfield projects. Also on average, an application is rewritten every four versions, which tends to run overbudget and frequently be delayed. When it does get released, it is usually not as feature rich as its predecessor. This session will explore specific strategies for making major changes to existing applications to make them more maintainable, extensible, and keep the existing functionality that users demand.