TDD Training!

April 8, 2011

We’ve had yet another busy week, but at least this week involved a few days of learning something new... I’m very grateful to Steve Ropa of VersionOne, who spent three long days with us providing Test Driven Development training as well as speaking at our TechMaine Agile Users Group one evening. The training was excellent, and everyone came away with a solid understanding of Test Driven Development, refactoring, and a renewed appreciation for software craftsmanship.

In fact, it was Steve’s comments about the importance of software craftsmanship that convinced me he was the right person to provide us training in the first place. And I wasn’t disappointed! Steve worked well with our staff, challenged their thinking when appropriate, and helped everyone understand what Test Driven Development was all about. Some developers used this class as an opportunity to refactor some legacy code so that it was simpler and (now) validated by automated unit tests.

The training was held in-house, so we had dedicated time with Steve and a focus on our code. Our staff enjoyed the experience, and there were those who enjoyed sharing coding experiences with others outside of their immediate team, something we need to think about doing more in the future.

I’m glad to see that my untrained eye was on the mark. Like writing the simplest code to make the test pass. Or that TDD code tends to be more loosely coupled and more understandable. And we did learn that "running a test to watch something fail" at the outset (because there is no supporting code) is a step that people bypass rather quickly in actual practice, particularly with a good development platform like Visual Studio.

Steve and VersionOne were great to work with throughout the process, including discussing our needs and tailoring the class to meet those needs. And Steve even made some in-course adjustments to maximize our learning. We kept him busy, but at least we were able to reward him with a lobster dinner! Thanks again Steve and VersionOne.