Jump to ratings and reviews
Rate this book

Test-Driven Database Development: Unlocking Agility

Rate this book
Design and build truly agile databases that can be changed frequently, safely, and painlessly, no matter how much existing data they must manage! With this book, you'll finally get past old-fashioned "batch-and-queue" database development, and construct a truly agile database development environment that "works"! Pioneering agile database expert Max Guernsey III combines a complete foundation of theoretical knowledge with concrete examples and real solutions to the impediments that have prevented database developers from going agile. Guernsey especially shows how to adapt agile principles to handle massive amounts of existing data that makes database change more difficult. "Agile Database Development "is based on the training curricula for the author's pioneering NetObjectives course, Database Agility Online Training, which has helped hundreds of database professionals master critical technical skills for designing databases that can be changed frequently, safely, and painlessly. Reflecting his immense experience with agile database development, Guernsey helps you make sure all databases and data remain consistent in agile environments; ensure stability no matter how fast databases change; and test-drive designs to find and fix errors before they're "baked into" the system. This book will be an invaluable resource for virtually every database analyst and DBA in agile organizations; for many database team, project, and group managers; and for even more agile development team members in organizations that rely on large and complex databases." Agile Database Development is the newest title in the highly-respected NetObjectives Lean-Agile Series."

315 pages, Paperback

First published January 31, 2013

1 person is currently reading
16 people want to read

About the author

Max Guernsey III

7 books1 follower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (12%)
4 stars
6 (75%)
3 stars
0 (0%)
2 stars
0 (0%)
1 star
1 (12%)
Displaying 1 - 4 of 4 reviews
Profile Image for BCS.
218 reviews33 followers
July 15, 2013
The development of databases and the applications that access them are important functions; and it is essential that the programs constructed meet the requirements defined, so that it all operates as intended.

Therefore, part of the development process must be to undertake a series of testing processes to validate the development of the product to prove that it will work correctly when in use.

The author of this book proposes a methodology that might appear to be at odds with traditional ideas; he proposes that the tests be designed before the database or software.

His argument is that if the test is created first, before the application, it enforces a discipline that ensures the software meets the needs of the project. He also proposes that by understanding a database as being part of a class, it makes it easier to create repeatable tests.

It’s written in a conversational format that reflects the personality of the writer and this makes it easier to follow the ideas than would be the case if it were in a more formal style.

The text is broken up into logical chapters that make it easier to find key sections; and this would be of value to any developer who wanted to take advantage of the scripts included. There are also a number of links and other selected online material that could be of worth to anyone who wanted to test out the process described.

Although the author suggests that the book could be understood by relatively inexperienced people or non-programmers, it seems unlikely.

The text is quite extensive and has a large number of example scripts designed to show the various concepts, most of which require at least a good understanding of SQL commands and their functions. Although the principles are sound and well explained, unless the reader can follow the scripts, it is unlikely that they would be able to confirm this for themselves.

The book could be of interest to many database developers and does offer an insight into a process that is often neglected or given less attention than it deserves. It might be of particular importance to those working with agile development methods, but could equally be used by those working with a more formal iterative development practice.

Reviewed by A P Sutcliffe PG Dip CCI, MBCS
Profile Image for Miguel Alho.
58 reviews9 followers
July 18, 2013
Very interesting info and approach to test-driven database development. A full solution to Db TDD is supplied. Definately worth reading and understanding the author's view on this topic, which is so often negleted in projects, mostly due to the lack of knowledge and experience in database testing.
Profile Image for Steven.
145 reviews
February 16, 2021
Absolutely essential reading for anyone who designs applications which store data. The most useful database design book of the many I have read.
609 reviews11 followers
October 9, 2016

Combining TDD and databases is an idea find great. After solving that problem with simple tools like DbUp I hoped to find some good advice on how to improve my solution. Unfortunately, the book falls short in nearly every way.



The TDD part is written in a way a novice can’t understand what is going on and a more advanced practitioner finds nothing new. Combined with his own vocabulary it makes TDD unnecessarily complex and hard to follow.



The part on databases is even worse. Here the own (inconsistent) vocabulary forces you to constantly translate to names like schema, while the verbose samples can’t be run anywhere. The main part of migrating a schema from one state to another is done with the authors own XML-syntax. That can be done, but then there should be a tool that can run those files. However, that tool does not exist or at least is never named.


Writing a technical book and letting all the real work be done in the imagination of the reader is utterly useless. It’s not a concept that Max Guernsey III tries to sell, but “concrete examples and real solutions” – at least that’s what the book description promises. The editor of this book did a bad job too. Typos, inconsistencies and a constant mix of facts and opinions should not happen in a book published by Addison-Wesley.



This book is an utter disappointment.
Displaying 1 - 4 of 4 reviews

Can't find what you're looking for?

Get help and learn more about the design.