Test Driven Development (TDD) is a development process that suggests we write tests before we write our code to ensure that the code works as expected. While I've often read blog pieces praising the benefits of TDD, today was the first time I've really had a chance to experience it for myself.