Speaker Topics - No Fluff Just Stuff

Database Refactoring

Evolve an existing database schema a small bit at a time to improve the quality of its design without changing its semantics.

For years the norm for object developers was to work in an evolutionary (iterative and incremental) manner but for database developers to work in a more serial manner. The predominance of evolutionary development methodologies such as Extreme Programming (XP), Feature Driven Development (FDD) make it clear that the two groups need to work in the same manner to be productive as a team.

Pramod will present material from the 2007 Jolt Productivity Award winning book “Refactoring Databases : Evolutionary Database Design” on how to go about doing evolutionary database development, how to apply all the agile practices to database development and will talk about the following techniques:

Database refactoring: Evolve an existing database schema a small bit at a time to improve the quality of its design without changing its semantics.

Continous Integtration: Why not test you database creation and migration scripts as part of Continous Integration and apply the same rigor to the database artifacts that you apply to the application code. You should fail the build when the developer/dba makes a mistake doing a database change

Evolutionary data modeling: Model the data aspects of a system iteratively and incrementally, just like all other aspects of a system, to ensure that the database schema evolves in step with the application code.

Database regression testing: Ensure that the database schema actually works.

Configuration management of database assets: Your data models, database tests, test data, and so on are important project artifacts which should be managed just like any other artifact.

Database Schema Deployment: Ensure that the scripts used to build development environments are the exact same as the used in QA, UAT and production. Ensure deployment to production is not a surprise and not a project in itself.


About Pramod Sadalage

Pramod Sadalage is the co-author of the 2007 Jolt Productivity Award winning
“Refactoring Databases: Evolutionary Database Development”, a Martin Fowler
signature series book and author of “Recipes for Continuous Database
Integration”. Pramod works as a DBA and developer at ThoughtWorks. He works on
large custom-developed applications that use agile methodologies. While on these
projects, he pioneered the practices and processes of agility in the database.
Pramod writes and speaks about these concepts and practices to help those
interested in using agile practices on databases. He has written and presented
about database administration on XP projects, the adoption of agile processes
with databases, and the impact of agile practices on database administration and
design. Pramod is the owner and founder of the agiledatabases Yahoo! group; he
moderates group discussions and helps group members learn about agile databases.
When he is not working, you can find him spending time with his wife Rupali and
daughter Arula, and trying to improve his running.

More About Pramod »