Well-crafted and craftly tested software

A while back, I submitted my article Software Testing Craft to the Agile Record. Having coined the zeroth law of professionalism in it, ever since I heard about Uncle Bob‘s call for craftsmanship I believed that the craft of software testing had been formed far longer than the emerging software craftsmanship movement. Having followed the great work in the testing field from Michael Bolton, Cem Kaner, James Bach, Matt Heusser, and the many, many more professional testers out there, built early on the picture of a very well developed craft about software testing.

It definitely pleases me to see a blog entry from Uncle Bob listening to a talk from James Bach. Uncle Bob immediately got the point that James is talking about craftsmanship in software testing. Though, there is one point in which I disagree with him:

I like the fact that testing is becoming a craft, and that people like James are passionate about that craft.

Testing is not becoming a craft, it always was as Jon Bach put it in the comments. I share Jon’s view on this. And it pleases me to see testers talking about their craft for more than a decade now.

Another stream of thought on the comments discusses the fact, that Uncle Bob called for developers to strive to deliver software that put testers out of business. Knowing Uncle Bob as the lead developer on FitNesse, I know that he is not saying to get rid of the testers completely. Far from it. As he stated in his Craftsmanship and Ethics talk, programmers should strive to the ideal that tester do not find any problem in the software they’ve produced. Of course, this does not mean that testers will not find any problem at all. Testing is still necessary. You can’t fool yourself by skipping testing. As Weinberg put it in the Quality Software Management series:

Actually, it ain’t nothin’ ’til it’s reviewed.

Weinberg just provided half the truth. It might be nothin’ ’til it’s reviews, but it still ain’t nothin’ ’til it’s tested, too.

Uncle Bob initially called for the craftsmanship movement with the call for

Craftsmanship over crap.

At around that time, Lemmy Kilmister stated in the song “Teach You How To Sing The Blues” from his band Motörhead

There’s no excuse for bullshit.

Later on, Uncle Bob refined his fifth value to

Craftsmanship over Execution

in order to reflect the nature of the Agile manifesto. Back in November I heard a famous German quote for this from Jens Coldewey:

Operative hectic replaces windlessness of the mind.

(It doesn’t translate that well, but it basically says that shouldn’t try to run before you walk.)