As a final sign-off on my talk, before it’s released fully to the world, I wanted to discuss the feedback I got and direct people to other thoughts on TDD. It’s all in the interests of openness, so feel free to add any further comments.
First of all, I would like to say that my slide decks and code are now available on the Developer Day Scotland website (Thanks Colin):
Speaker: Craig Nicol
Title: TDD – I don’t have time
Overall the feedback was fairly positive, and it seems that a lot of people got a good sense of TDD from the demo, although I accept that the pacing was a bit wrong and it was bad form to end the session with some failing test. Still there were some good questions in the Q&A so I’d rather have finished a couple of minutes earlier and had more questions than push on with the coding. I few people suggested that fewer slides and more code would have been good. I’m all for that, I’m a nervous speaker, and it’s been a while since I last presented, so more typing and less speaking works for me, especially when it gets interactive.
I do accept that I probably spoke too fast, and it’s not the only time I’ve been told that, but I hope that will resolve itself with a bit of practice and some better breathing.
For the person who wanted a better comparison of tools, I wish I’d had the time for that, but all the tools worth using have free trials, so have a look at this list from my previous post and try them out yourself:
I don’t know what tools to use
For the person who wanted a take home message to answer the point over “I don’t have time to test”, I think I mis-sold the talk a little, and I should have made the mythbusting part more prominent than my original catchy title. I hope I answered a few points about why it can save you time in the long run, but my apologies if I did mis-lead you.
Thanks to Richard for this review. Glad you found the live coding helpful.
10:45 – “TDD? I don’t have time” by Craig Nicol Craig talked about TDD from baby steps and I gained a lot from it. Was a real shame that the tests he wrote ultimately didn’t pass but the promise of code to finish off gives me something to dig into!
If the talk has whetted your appetite for TDD, have a look at the books linked from my previous post and have a look at these three links to help you join the discussion.
TDD Tests are not Unit Tests
Let’s start with the distinction between TDD tests and unit tests. On the surface, TDD tests are very similar to unit tests. This is not surprising, since you use a unit testing framework such as Visual Studio Tests or NUnit to create both types of tests.
good design is far more beneficial and important than the practice of unit testing. However, good design + TDD/Behavioral Driven Development/Acceptance Test Driven Development? That’s where the real rewards happen. Don’t settle for mediocre efforts. Do both and reap the rewards.
If you do want to dive into TDD, you should also look at Behaviour Driven Design (BDD). I’ve heard it called TDD without the T-word, or an extension and refinement of the philosophy, but however you see it, if TDD is your thing, you owe it to yourself to have a look at the BDD road to design and testability. This link has a lot of good onward links, and it’s a podcast so you can listen while you work, or on the bus. It’s a bit more interesting than Eurovision.
This week on Herding Code, Scott Bellware educates and entertain as only he can. Scott talks about Behavior Driven Development (BDD), Test Driven Development (TDD) and Lean Software Development, gets “all preachy” and donates to the show a nearly endless batch of outtakes.
Thanks again to all the organizers and attendees of Developer Day Scotland.I’ll shut up about TDD for a bit, unless anyone’s got any questions. If you decide you want to use this presentation, it’s open via the Creative Commons license, but please let me know, as it’s interesting to see where it goes.