Book Image

The Agile Developer's Handbook

By : Paul Flewelling
Book Image

The Agile Developer's Handbook

By: Paul Flewelling

Overview of this book

This book will help you overcome the common challenges you’ll face when transforming your working practices from waterfall to Agile. Each chapter builds on the last, starting with easy-to-grasp ways to get going with Agile. Next you’ll see how to choose the right Agile framework for your organization. Moving on, you’ll implement systematic product delivery and measure and report progress with visualization. Then you’ll learn how to create high performing teams, develop people in Agile, manage in Agile, and perform distributed Agile and collaborative governance. At the end of the book, you’ll discover how Agile will help your company progressively deliver software to customers, increase customer satisfaction, and improve the level of efficiency in software development teams.
Table of Contents (16 chapters)

Refactoring

In a nutshell, refactoring is the art of small and continual improvements to the design of our code while preserving its behavior. The intention is to create behavior-preserving transformations to our system which ultimately make it more maintainable.

Each time we change parts of our software, we purposely refactor parts of the code that are in our path. To ensure we preserve current behavior, we use automated tests which tell us if our code is still working as we refactor.

Using Ron's analogy of fields, thickets, and bushes from the previous section, instead of mowing around the bushes, with refactoring, we cut a path through each bush we encounter. It looks a little like the following:

We do need coding standards when refactoring; a good starting point is Clean Code: A Handbook of Agile Software Craftsmanship, by Robert "Uncle Bob" C. Martin. Coding...