Test Driven Development (TDD) has always been a subject that I have heard lots about, and thought of as a very idealistic almost academic approach to software development.
However, when I heard that Seb over at AltNet was organising a TDD workshop with Roy Osherove (ISerializable) the TDD guru himself, I couldn't resist trying to expand my knowledge and get in on the action.
The AltNetWorkshop was the first day of Roy’s usual 5 day TDD course and was a great introduction to TDD along with the reasons, values and tools of the trade. One of the really interesting sections of Roy’s presentation for me was listening to his a case study whereby two teams were delivering a module of software in parallel. The TDD team initially took more time (i think a matter of days longer) to deliver the application, however the app was delivered with less bugs being raised / needing to be solved. The really great part comes when integrating the app’s into other solutions the TDD group took much less time to do this as the tests allowed them to instantly identify why and where their code was failing.
During the course of the day Roy deliver not only a fantastic presentation and a explanation of TDD but also used a hands on lab with his code kata (article coming soon) to really prove the benefits that TDD had for writing code.
Throughout the day various techniques were used to make the class more efficient and effective at writing code. We coded in pairs and this also being my first poke at pair programming and was pleasantly surprised, once I got over the initial shock factor that I had to code in front of the ever judging eyes of another dev (Ryan was actually really cool) I really relaxed into it and found that the extra brain and pair of eyes kept me sharp and more effective. No mice policy and correctly using some great tools also helped with the speed at which we ended up cranking out the code.
I have to admit that I left this one day class with some real sense of achievement and felt that I had improve my skills in a number of areas. I am envious of the guys who attended the full weeks training (see a review here).
I will definitely be attending more AltNetWorkshops and talks from Roy in the future.