One Database for Every Developer

How many databases run in your teams development environment? One for the complete team? I have seen many places like that, but please tell me: Why? You aren’t working on a shared files system aren’t you? How is a developer supposed to change the structure of that database without interrupting the work of the other developers? And just in case you haven’t noticed: Pretty much every RDBMS vendor offers free versions of their database which can run on a developer machine.

So when you answered the second question above with ‘yes’ you have a task for tomorrow: Make sure every developer has her own database instance (or schema or whatever you need to work independently from the rest of the team). In addition to that: you need an instance for the automatic tests of your Continuous Integration system, one large one for performance and scalability tests, one for manual tests/integration and of course one for production.

And just in case you are now thinking: “Hell how am I supposed to keep all these databases in sync?” You are having a gapping hole in your software development process. I’ll cover that in a different post.

Share:
  • DZone
  • Digg
  • del.icio.us
  • Reddit
  • Facebook
  • Twitter