Techniques to regain control of your Legacy codebase
understandlegacycode.com