Menu

Team-based Database Development: Playing Nice With Others

Here are the slides and links to awesome resources for my presentation, “Team-based Database Development: Playing Nice With Others”

If you need a summary of what’s covered in the session, the abstract is as follows:

As soon as you have more than one person on a development effort, you’re basically guaranteed to see collaboration and integration issues. Most commonly, you won’t always know what other people are working on, your changes may break their code, and your team is actually LESS effective than the individuals. In this session, we’ll cover how development practices such as version control, unit testing and continuous integration can help ease some of your database team-development headaches. We’ll go over demonstrations of how to implement these practices in your environment (using Red Gate tools in this case) to improve the efficiency and quality of your database development process, and play nicely with the other developers on your team.

Slides:

Click on Start Prezi and click right or left arrow to browse through the slides.

Additional Resources:

The following are links to resources for each of the sections covered that help you learn more and implement/configure these practices in your environment.

Source Control

I talk about the importance of putting database code and lookup data under Source Control and demonstrate it using SQL Source Control from Red Gate.

Rocking your SQL Source Control – One of my favorite articles is from Troy Hunt. Even though it’s an old article using older version of SQL Source Control, the arguments he make are still valid and valuable.

Unit Testing

If you’re in the session, you’ll recall that I compared cooking with coding and tasting with unit testing (a.k.a test driven database development). We used tSQLt as the database testing framework. You can download tSQLt for free from tsqlt.org. However, I used another Red Gate product, SQL Test which provides a user interface for tSQLt.

Test-driven Database Development (TD3) – Why Bother? and Why tSQLt? – I love these two articles from Greg Lucas published on simple-talk.com. Greg does a wonderful job convincing about the benefits of both TD3 and tSQLt.

Continuous Integration

I highlight the necessity for developers integrating their work more often, automating the build and test processes. We used TeamCity as the build server and Red Gate’s SQL Automation Pack including a TeamCity plugin to make Database CI happen.