Editorials

The Agile DBA – Collaboration

When working on a project of any size, the only way a DBA can keep up with a team of software developers is through delegation and collaboration. This is contrary to how we traditionally like to work, as a DBA. We like to be in complete control. We like to be the final gatekeeper, making sure nothing is added to the database that is not properly normalized, and that no database code is created that uses sub-optimal SQL syntax. The reality is that this mindset will either require a lot of DBAs, or you will be a roadblock for the rest of the project. That last thing you want to be a part of is the critical path of any project. You’ll end up attending a lot of meetings with people trying to figure out how to get you out of the critical path.

The solution to this problem is to release your strangle hold on the database. Just like the rest of the software, the database needs to be something that the entire teams owns, contributes to, debugs, and fixes.

The cool part is that people tend to like to do what they are good at. So, if you have a developer who is good at SQL code, you need to let them do it. If you collaborate together for the database design, who cares about what person creates the table, or creates the necessary migration scripts. You need to reserve your skills for the difficult or performance sensitive tasks.

Spend your time optimizing statistics, indexes, fragmentation, and tuning for performance. Let others do the mindless grunt work, and you’ll find that a single DBA can support a large project all by themselves. This is also an opportunity for you to mentor others who do not have your skill set when it comes to SQL, Database design, and optimization. Don’t let your developers be restricted from the database. Authorize and enable them to be a part.

Cheers,

Ben