Why We Wrote This Book

You Can't Control What You Can't Measure

Getting software development practices right is essential.

The right development process facilitates the team and each individual developer to perform at their best. Using these practices, we can avoid inefficiencies in development work. Think of the difficulties of reconciling inconsistencies between contributions (merge conflicts!), chasing non-reproducible bugs, manually rerunning tests, and everything else that distracts us from creating the best possible product.

This book lays out ten best practices for facilitating a team of software developers and enabling them to develop high-quality code.

Having high-quality code is a great asset: it means lower costs for testing and software maintenance, and faster delivery of functionality. Conversely, software that is insecure, unreliable, or difficult to maintain is a source of developer frustration, delays, and software defects.