This book will teach you how to get legacy code ready for testing and how to identify where the code needs to be changed. It will help you understand the general mechanics of software change like adding features, fixing bugs, optimizing performance, and improving the design.