I wanted to take a moment to point people back to an early article that Martin Fowler & Pramod Sadalage put together describing the concept of evolutionary database design and some early thoughts on how to make this happen in 2003:
The article has significance for severall reasons. It points to the fact that the concepts of evolutionary database design are not new. They have been discussed and published about for several years now at least. What’s most interesting about this though is how many of the great practices that Martin & Pramod suggest have not been put into practice in the vast majority of organizations today.
They discuss the concept of DBAs collaborating closely with developers. I don’t know about your organization, but in the organizations that I have seen, this is rarely the case. There is always somewhat of a wall between the development and DBA organizations. They also discuss the idea of everybody getting their own database instance. The concept here is simple. People learn best from trying things out and they need their own instance to truly be enabled to do this. Yet you still find many people sharing database instances. They also discuss the concept of continuous integration. A regular build with every check-in is prevalent for application development, yet how many people have actually taken their advice and applied it to database development?
It’s time for that all to change. Why am I so confident that things can suddenly change? Because now with Team Edition for Database Professionals, we finally begin to see tools to support these database development best practices. In our toolset, we bring the application developer and database developer together in the Visual Studio environment. They can collaborate with the features included in Team System to allow work item integration. In addition, the concept of database projects strongly encourages everybody to have their own database instance, or sandbox. In addition, with integration with source control, you can finally setup regular builds and customize it to get to a continuous build environment.
I’m very excited about this toolset and I hope you can see how this is going to help change the game.