InfoQ

InfoQ

Presentation

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Recorded at:
Recorded at

Refactoring Databases: Evolutionary Database Design

Presented by Pramod Sadalage on Mar 06, 2009 Length 00:58:17
Sections
Process & Practices,
Architecture & Design,
Operations & Infrastructure
Topics
Architecture ,
Database Design ,
Agile ,
Configuration Management
Tags
Database Management ,
Database
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
Summary
For years the norm for developers was to work in an iterative and incremental manner but for database developers to work in a more serial manner. The predominance of evolutionary development methods make it clear that the two groups need to work in the same manner to be productive as a team. Pramod presents material from "Refactoring Databases " on implementing evolutionary database development.

Bio
Pramod Sadalage is the co-author of the 2007 Jolt Productivity Award winning "Refactoring Databases: Evolutionary Database Development" and author of "Recipes for Continuous Database Integration". Pramod works as a DBA and developer at ThoughtWorks on large custom-developed applications which use agile. He has pioneered the practices and processes of agility in the database.

About the conference
QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community. QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

  • This article is part of a featured topic series on Agile
Refactoring Databases by John Owens Posted
Re: Refactoring Databases by Jim Arnold Posted
Re: Refactoring Databases by Fadzlan Yahya Posted
  1. Back to top

    Refactoring Databases

    by John Owens

    The techniques employed in Refactoring Databases might well achieve all that is implied in this article. However, I think that the approach as outlined is flawed in that it suggests that changes to the corporate data structure can be determined from within a computer system.

    A change is only required within a computer system when the existing system does not meet a business need or a business need changes or a new business need occurs.

    So all such needs are driven from outside the system. If the overall data/information structure of the enterprise does not meet this new need then it must be amended. If that part of the structure supported by the computer system is amended then the system must be amended to make it support the structure.

    So change is always driven by the information needs of the business. Systems must change to support the business. They are not the business, they do not drive change.

  2. Back to top

    Re: Refactoring Databases

    by Jim Arnold

    John,

    I don't see any conflict here; the users request a feature, the developers need to change the system in order to support the new feature. Refactoring is driven by change, and its goal is to reduce the cost of change.

  3. Back to top

    Re: Refactoring Databases

    by Fadzlan Yahya

    John,

    Did you watched the presentation? What the presenter proposing are methods to cope with changes that are driven by business needs.

    I understand your concern if you are talking about refactoring per se, without any external events that triggers it, just for the sake of refactoring.

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.