Re-Engineering Legacy Software

Book description

As a developer, you may inherit projects built on existing codebases with design patterns, usage assumptions, infrastructure, and tooling from another time and another team. Fortunately, there are ways to breathe new life into legacy projects so you can maintain, improve, and scale them without fighting their limitations.

Re-Engineering Legacy Software is an experience-driven guide to revitalizing inherited projects. It covers refactoring, quality metrics, toolchain and workflow, continuous integration, infrastructure automation, and organizational culture. You'll learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. You'll also develop practical processes for deciding whether to rewrite or refactor, organizing teams, and convincing management that quality matters. Core topics include deciphering and modularizing awkward code structures, integrating and automating tests, replacing outdated build systems, and using tools like Vagrant and Ansible for infrastructure automation.



About the Technology


About the Book


What's Inside
  • Refactoring legacy codebases
  • Continuous inspection and integration
  • Automating legacy infrastructure
  • New tests for old code
  • Modularizing monolithic projects


About the Reader

This book is written for developers and team leads comfortable with an OO language like Java or C#.



About the Author

Chris Birchall is a senior developer at the Guardian in London, working on the back-end services that power the website.



Quotes
A comprehensive guide to turning legacy software into modern, up-to-date projects!
- Jean-François Morin, Université Laval

I learn something new every time I read it.
- Lorrie MacKinnon, Treasury Board Secretariat Province of Ontario

The book I wanted to read years ago.
- Ferdinando Santacroce, 7Pixel

A very practical guide to one of the most difficult aspects of software development.
- William E. Wheeler, West Corporation

Product information

  • Title: Re-Engineering Legacy Software
  • Author(s): Chris Birchall
  • Release date: April 2016
  • Publisher(s): Manning Publications
  • ISBN: 9781617292507