In a recent Web seminar “The Role of Databases in Agile Development,” Matt Aslett, research director for 451 Research, outlined the benefits of an agile approach, the issues of combining relational databases with agile practices and how agile can be a driver for alternative database practices.
Agile came about as a software development methodology, where teams work in sprints, using the framework of “code, test, deploy, review,” and constantly adapting as they go. This adaptive approach is the polar opposite of the traditional waterfall model, “requirements, design, code, test, deploy.”
Since its formalization in 2001, embodied by the “Manifesto for Agile Software Development,” practitioners have brought this methodology to disparate fields, such as product management, startups and now databases.
Agile processes promise faster and more collaborative development. In regards to databases, this means developers and database administrators being in the same physical room. Customer satisfaction is also a key goal. Aslett said, “By the time the application ends up being delivered [after a] six month development cycle … that’s when you discover it actually doesn’t do what the customer or end user really wanted it to do. This iterative, continuous development process helps to avoid those problems by continuously having the end user or the customer part of that development process.”
Adaptability to change is also very important. “Halfway through, some point during the process, the requirements change, the needs change, the business requirements change and it can be very hard because basically you have to go back and start again,” continued Aslett. “The agile development method is all about responding to change and being very quick to respond to change.”
It goes without saying that there will be some roadblocks adapting these flexible processes to the stalwart field of databases. Aslett offered a few methods to overcome these issues. “Yes, technology is definitely involved, but actually some of the things that jump out initially are organizational changes to encourage collaboration, especially in terms of getting developers and database administrators in the same room, around the same table, working on projects.”
As far as technology is concerned, “Database virtualization can definitely be used to keep multiple databases in sync and multiple database instances in sync as part of an agile development process.”
One workaround for the RDBMS/schema roadblock is brought about by the “JSON generation.” Aslett explained, “This new breed of developers is dealing with new data formats, new data approaches and, in this rapid application development process, they don’t want to be bogged with having to worry about the schema for the data. It’s much more about let’s just store the data, get the application developed and then worry about some of those aspects later.”
Schema-free databases are another alternative. “Schema-free databases definitely fit well within the agile development methodology in terms of equally allowing for change in that rapid application development,” he said.
The issues brought the table with these approaches is that NoSQL does not maintain compatibility with existing applications, changes to object attributes could result in data loss, and most existing database workloads cannot be transferred to NoSQL.
Although agile methodologies bring their own unique issues to the table, they prevent organizations from spending years developing something, be it an application or database, that is irrelevant before its launch.
Aslett’s advice centered on one key concept: collaboration. “Obviously the tools themselves are important. The processes, as part of that methodology, are important, but it’s more important how individuals interact with each other and get the development work done.”
Register or login for access to this item and much more
All Information Management content is archived after seven days.
Community members receive:
- All recent and archived articles
- Conference offers and updates
- A full menu of enewsletter options
- Web seminars, white papers, ebooks
Already have an account? Log In
Don't have an account? Register for Free Unlimited Access