Database Agility
Databases are central to almost any software development project of any size. Developers have been gaining big improvements as they adopt Agile approaches: higher quality, more satisfaction, delivering more value to customers. It seems time for database developers to begin to experience the same gains!
But database development is special. It is not like just copying new bits into the environment. Databases need to retain their identity and the data that are in them. They have history and investment and must survive. Transitioning change is much harder and requires more care.
Is it possible to use iterative, Agile approaches with databases?
Yes it is. This podcast describes the landscape for doing so. Early adopters of this approach have learned the key principles involved and tools for testing and transition management are now available. Training is also available to equip teams with the new skills and ways of thinking that are required in order to be successful.
This podcast features a conversation with Max Guernsey, an associate trainer with Net Objectives. He has been developing professionally for 10 years and been consulting in Agile database development for the last year. He has turned this expertise into a course - really an on-site, practical bootcamp - to help teams successfully incorprate this approach into their development practice. It is called the TDD Database Boot Camp.
As you might expect, Test-Driven Development (TDD) is going to be as central to this approach as it is to Agile development in general. The trick is to see what what this means in the database world. As Max touches on in this podcast, it goes beyond UAT and unit to focus on testing how the database is changing. "Transition Testing" is a major part of the course.
This involves a new way of thinking about how databases are expressed: You want to design and develop based on transitions in the database.
About the Boot Camp
In this podcast, Max gives a quick overview of the TDD Database Boot Camp. Its goals are:
- Teach the principles of database agility
- Teach technologies that facilitate this approach. We help the team create the environment they will require including:
- Test suites, transition tests
- DataConstructor. Every team receives a 10 user license for DataConstructor, a tool by Hexagon Software. This tool works with NUnit, JUnit, TFS, etc to implement the suites of tests focused on transitions (see Features of DataConstructor). It makes it possible to have live data version control.
- Focus on problems that the team is facing now
The boot camp is designed to be an on-site course so that conversations can be confidential and frank, (which is required with database work). It is best if the whole team takes the course - developers, QA, Scrum Master.
Recommendations - Online Resources
-
Scott Ambler's website: www.agiledata.org
-
Max Guernsey's Rethinking Agility in Databases
-
DataConstructor, a tool by Hexagon Software
Recommendations - Training by Net Objectives
Music used in this podcast
- “Pizzaman” and “Chocolate” ©2006 William Cushman: ghostnotes.blogspot.com
For more information, contact info@netobjectives.com or visit us at http://www.netobjectives.com/
- Jim Trott's blog
- Login or register to post comments


Technorati Tags:
tag with del.icio.us