InfoQ Presentation: Scott Ambler on Database Refactoring
Scott Ambler is the author of many books, including The Object Primer, Agile Model Driven Development, Agile Database Techniques: Effective Strategies for the Agile Software Developer, and Refactoring Databases: Evolutionary Database Design. He is passionate about expanding Agile practices to include a broad variety of development roles: in recent years he has been championing the integration of database roles into the Agile team's patterns of software development. This InfoQ video, Database Refactoring captured Ambler's talk at Agile2006.
The presentation started with warnings, and an invitation from Ambler to remain open minded:
Database refactoring is to data structures what code refactoring is to the codebase: a way to incrementally evolve database structures and procedures, to keep in step with the evolutionary design practice of Agile developers. Note that database refactorings are a subset of schema transformations, but, like code refactorings, they do not add functionality. And, like code refactoring, they are enabled by a regression test suite, which acts as a safety net, particularly for making quick or risky changes.
Some of the other practices Ambler recommended to enable an Agile Database approach: sandboxes, configuration management, encapsulated database access. View the InfoQ Presentation Database Refactoring filmed at Agile2006.
A note on tooling: it goes without saying that automation allows teams to apply these practices more quickly, further increasing agility. Microsoft's Visual Studio for Database Professionals is one of the first toolsets offered to help teams extend Agile practices to the DBA community. In the future, Agile Teams can also expect to be using the Eclipse platform to implement these database practices: Ambler, a committer on the Eclipse Process Framework, is contributing his Agile Data ideas to the project, though only a few are embedded in the product at present.
1 comment
The presentation started with warnings, and an invitation from Ambler to remain open minded:
- Some of these ideas may not fit well into your existing environment,
- Some will challenge your existing notions about software development,
- Some will confirm your unvoiced suspicions.
- the Agile DBA: Anyone who is actively involved with the creation and evolution of the data aspects of one or more applications. Includes activities typically associated with the traditional roles of database programmers, database administrators (DBAs), data testers, data modelers, business analysts, project managers, and deployment engineers.
- the Enterprise Administrator: includes, but is not limited to, the responsibilities associated with traditional roles of data administrators, network administrators, reuse engineers, and software process specialists.
- the Application Developer: who works closely with Agile DBAs
Database refactoring is to data structures what code refactoring is to the codebase: a way to incrementally evolve database structures and procedures, to keep in step with the evolutionary design practice of Agile developers. Note that database refactorings are a subset of schema transformations, but, like code refactorings, they do not add functionality. And, like code refactoring, they are enabled by a regression test suite, which acts as a safety net, particularly for making quick or risky changes.
Some of the other practices Ambler recommended to enable an Agile Database approach: sandboxes, configuration management, encapsulated database access. View the InfoQ Presentation Database Refactoring filmed at Agile2006.
A note on tooling: it goes without saying that automation allows teams to apply these practices more quickly, further increasing agility. Microsoft's Visual Studio for Database Professionals is one of the first toolsets offered to help teams extend Agile practices to the DBA community. In the future, Agile Teams can also expect to be using the Eclipse platform to implement these database practices: Ambler, a committer on the Eclipse Process Framework, is contributing his Agile Data ideas to the project, though only a few are embedded in the product at present.
Community comments
Can this be downloaded?
by
Ali Anwar
Posted
Educational Content
Large-Scale Continuous Testing in the Cloud
John Penix May 24, 2013
Managing Build Jobs for Continuous Delivery
Martin Peston May 24, 2013
Clojure in the Field
Stuart Halloway May 23, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think