?

Log in

beer

TDD is hard

I've told a lot of people that learning to do TDD was one of the hardest things that I've ever had to learn. Partly I say this because people don't like testing or consider testing something too hard and by saying this I admit that it is hard and so we can get past that point. I do really believe that it is hard too, but since it is hard maybe we should look at why.

There is a common thread in the TDD community that "TDD is about design! It is only minimally about testing!" I think that that statement is exactly why we find it hard. TDD you are trying to specify what the design is going to have to do. That means that you are going to have to think at the specification level. Most of us have almost no training at that level. We immediatly start thinking about how we want it to work instead of thinking about what it is supposed to do.

I still have problems when TDDing. My biggest problem right now is that I very quickly loose sight of the bigger picture. I miss that there are other things in the design that I'm going to have to tackle once I figured out this one thing that I am currently laser focused on. I get tunnel vision and then in the euphoria of getting it working I skip some things that should have been done as well.

And that is then where pair programming comes in.

Comments

beer

December 2007

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
Powered by LiveJournal.com