Questioning Traditional Data Management
I found an interesting article by Scott W. Ambler on Doctor Dobbs Journal today called "Questioning Traditional Data Management".
Scott points out 6 assumptions data management professionals often make and points out why he believes they are not valid assumptions. Assumptions like: It's expensive to evolve a database schema and Review and inspections are an effective way to ensure quality.
At this point in my career I have worked as a DBA about as long as I was a Software Developer so I can see both sides of this issue.
Developers and DBAs are usually at odds. Developers are working on software and usually see DBAs as a drag on their development process. DBAs usually see Developers as a threat to the integrity of their database. I think a lot could be learned by walking a mile in each others shoes. DBAs can't forget they are part of the development process. Software Developers can't forget that they are solving a problem for the customer, that includes creating the software and making sure it performs well in a production environment.
While I was developing software I used agile methods and team programming. Luckily our databases were small and malleable. As time went on it was still easy to make changes to our local development databases but as production databases grew more downtime was required to make changes. As a DBA I can point out many places that can be improved in the schemas I am responsible for. Unfortunately I would need to double my staff to implement the changes and I would also need to convince all the software development groups that use the schemas that it is worth their while to update their applications.
Scott's book 'Refactoring Databases' got good reviews on Amazon. I already know the benefits of refactoring for Developers, maybe its time to put my DBA hat on and give it a read.