Big Learning Up Front is wrong too

There’s been quite a bit if debate recently about the high barrier of entry that exists for TDD. I don’t disagree that there’s a lot to know to do it well but I don’t think that this should stop people from just jumping in there and doing it.

I’ve been writing code on and off for almost 30 years. But even with all of this experience if I look at something that I produced 6 months ago I am often not very happy with it. And this is good! That is because I keep getting better. More importantly as I have to maintain and change what I wrote (and that includes during the development process) I received important feedback as to what was good…and what was not. So next time I will try to do it differently.

Now I wrote my first unit test about 4 years ago. So my unit testing skills are no where near as well developed as my general coding skills. And I have significantly changed the way that I write tests many times during the this period. But I believe that I have learned more in this time than I have at any other period in my career. The main reason is that TDD has enabled me to improve at an accelerated rate because it highlights any flaws in my design.

Regarding my philosophy for development in general I believe in incremental design over BDUF. And I’m going to apply this principle directly to TDD, in fact to learning in general. Therefore I hypothesize that if BDUF is bad then BLUF (Big Learning Up Front) has to be bad too.

It’s not realistic to expect anyone to know everything about something before they start to use it. Experience is the best teacher. Why can’t TDD be used as a mechanism to learn SOLID etc.? “So you made a change and broke 50 tests. Well if you had have tried this approach then…”.

One thought on “Big Learning Up Front is wrong too

Comments are closed.

Proudly powered by WordPress | Theme: Code Blog by Crimson Themes.