By Scott W. Ambler Today, many software projects involve integrating relational database technologies with an iterative software development process—a task that requires developers and data modelers to overcome a significant cultural impedance mismatch. Here’s how to get your data experts and developers on the same page. A New Vision for Vendors To support agile approaches to database development, database tool vendors have their work cut out for them. We need tools that are easy to learn and work with, enabling us to make simple, incremental changes to our database schemas. These tools must be inexpensive enough so that they can be deployed on every development machine. The critical tool categories are:
  1. Databases. Duh! Database vendor licensing strategies need to reflect the fact that we must deploy database instances to every sandbox and have easy ways to promote changes between these instances.
  2. Database testing tools. There’s a wide selection of test data generation tools, which is the good news.
  3. Evolutionary Extract Transform Load (ETL) tools. ETL tools are critical aspects of your data warehousing strategy.
  4. Database refactoring tools. We need database refactoring tools to match the plethora of available code refactoring tools.
  5. Integrated database modeling tools. Anyone working with relational technology should have access to a good data modeling tool—ideally, one with built-in database refactoring features.
  6. O/R mapping tools and persistence frameworks. Fortunately, Hibernate and many others are available. Unfortunately, these tools are often stand-alone products that don't integrate well with other tools.