Skip navigation.

I'm giving a Keynote at STARWest in October 2007...

events
Hope to see you at STARWest where I'll be one of the keynote speakers...

Why was "Test Driven Development" Not Driven by Testers?
Wednesday, October 24, 2007 10:00 a.m.

Here's a taster of what it's about...
For years, testers implored developers to do better unit testing. Our pleas seemed to fall mostly on deaf ears. Testers were constantly frustrated, finding bugs that should never have escaped the developers they worked with. Then, out of nowhere, a few developers started preaching Test Driven Development-test early and often, write unit tests before writing the code. Suddenly, unit testing was cool!

Why did testers fail to entice developers to test earlier, more, and better? Why is Test Driven Development a practice that was not driven by testers?

I examine these questions and explain how I think the testing community can become a driving force in improving software development practices in our organisations and in the industry.

To start with, if we want to be more influential in our projects, organizations and the industry at large we must broaden our horizons. We must do this in what we know and what we do and how we 'sell' the benefits of our suggestions.

I'll discuss how I present ideas so that they are seen to make things easier for everyone - not just ourselves. I hope you take back ways to demonstrate benefits with concrete examples - not just vague requests for betterment - so we are no longer resented as gatekeepers and naysayers but seen as essential to any smooth running, successful project.

Hope to "see you at STARWest!

My apologies for baseless statements

Antony you are right. Not only I missed to describe (details below) the basis for the suspicions, I don’t even have them in my conscious mind. Knowing your background I may have prejudged that those suspicions are wrong, but I didn’t. Thank you for putting my mind at peace now (let me skip reasoning one more time). I’m really sorry for not even mentioning this context originally.

I see the process of describing basis for any idea following. What I document is not the reasoning (or at leas not only reasoning) that my brain used originally. So anyone could make a small job to search for reasoning instead of myself... Roots in this particular case may even be school years. In Soviet Union those were typical Kremlin practice (and still are but that’s not the story): buzzwords (equality, bright future, rotten capitalism), manipulating history, telling half-truth... etc.

It's about answering the question in the title...

[textile]I think it would be useful if you stated some basis for your suspicions. I can only assume that you've been to conferences where people have cheated you with buzzwords and left you feeling let down. This shouldn't be a reason to prejudge all conferences or speakers. Ainars wrote:
So let me ask following: Is it about tester’s influence/being driving force, etc. using TDD as use case or about TDD with some general conclusions at the end?
Why does the talk have to be about one or the other? The talk is not 'about' either or both. It is about answering the question posed in the title. I do this by discussing: * the history of TDD (from its origins in tape-based data processing systems to Beck's re-invention of it for modern programming) * my experiences (which shape my perception of my observations) * my observations of the characteristics of how TDD was sold * why and how I personally believe that has resulted in making unit testing apparently more popular * why I believe testers appear to have been less successful at making unit testing popular * how I've learned from that and how I've applied that to influence developers on my everyday projects in regards to unit testing and more.... A small part of this will involve me proposing some ideas on how the community might abstract my experiences to potentially apply the lessons I've learned to influencing developers across our organisations and the industry at large. But until I have personally had that level of success, that aspect of the talk cannot be presented as anything more than just ideas... Ainars wrote:
Or let me ask you a direct question: can’t it be that they want it to be about TDD, you – about influence?
Not at all. I was in complete control of the content. If I wasn't, I wouldn't give the talk. The background is quite interesting... They (in this case Lee Copeland) wanted me to propose a talk for STARWest and I wanted to give a talk on something that I felt passionately about but there are so many different things. Lee and I had several telephone and e-mail conversations which were more of a discussion about notions in the community but also bouncing around ideas on what I might talk about. During these conversations, something I said prompted a question from Lee. He asked me why I thought testers failed to get developers to test earlier/more/better and then Beck et al, took a long-lost approach to programming and reinvented it for modern OO languages, branded the idea as TDD, wrote a book (or two) and now developers test earlier/more/better. He found my response to his questions interesting and insightful and thus asked me if I'd turn my response into a talk proposal. That's how it all began. Lee encouraged me to: (a) emphasise my experiences and observations of how TDD was presented and how this influenced developers to do more unit testing and (b) spend less time explaining the practice of TDD. People can read books or go on training courses to get an introduction to TDD or the theories of social sciences and influence (the latter of which I am in no way qualified to lecture on). There would be nothing unique about the talk if my keynote was a lecture about those topics. What my talk is about (which is also what makes it unique) is my own take on the answer to the question posed in the title and the experiences, perceptions and observations I've made that have resulted in my answers to that question. I hope that I can present that and help the audience absorb it in a way that they can abstract it sufficiently to their own circumstances. That is more my style. So, really, the opposite of what you suggest is true. Ainars wrote:
If that would be peer conference and I would be there (both are wrong) I would argue about using this as example how to change the influence (I mean I think you are somewhat cheating using it).
Sorry Ainars but I usually find what you write very hard to decipher (decode/understand). This statement is even harder than usual... Are you saying: if you were attending and the format of the conference gave you the chance to have an open, extended discussion on the topic ...then you would argue that mentioning TDD is cheating by using a buzzword to sell a talk that is actually just a generalised, theoretical presentation on how to influence people? If that is what you are trying to say then this illustrates where the problem lies. The premise that the talk is a generalised, theoretical talk on influencing people is wrong. How can you even say what you would or would not argue if you haven't even heard the talk or even asked me to elaborate on the abstract? A generalised, theoretical talk on what thou shall do or what is the right and wrong way to do something is not my style. If people want a lecture that spoon feeds them instructions and creates the illusion that if they repeat what I've done that they'll be successful in either TDD or influencing people then they will be disappointed. The only theory touched on in this talk are those that have helped me to better understand my own experiences, such as comprehending why one person, apparently saying the same thing as another, might have a greater influence on the person they are both trying to reach. So, in conclusion... Of course, keynotes don't find their way onto the programme unless they help 'sell' the conference (in some way). But it would not be in either my interests or SQE's, nor would it be morally acceptable to me, if it didn't also deliver on the promises made in the title and abstract. I hope that puts your mind, and the minds of others, at rest. Antony

Yep - ditto the above - if yo

Yep - ditto the above - if you do this in the UK I'd be signing up.. :)

thanks,
D.

Actually about politics?

Antony, I will be very direct in my comment, but please don’t think I’m offensive. I really wish you good luck with your keynote.
So let me ask following: Is it about tester’s influence/being driving force, etc. using TDD as use case or about TDD with some general conclusions at the end? Or let me ask you a direct question: can’t it be that they want it to be about TDD, you – about influence?
If that would be peer conference and I would be there (both are wrong) I would argue about using this as example how to change the influence (I mean I think you are somewhat cheating using it). On the other hand it is sometimes worth even to cheat if you are talking about politics. This will provoke thinking hopefully.
P.S. I think the resistance from developers when testers teach them coding practices is the most natural thing. I remember resisting a lot when developers suggested not all defects deserve to be reported, but later I even blogged about it (as about my own idea...)
Maybe those few developers you talked about were enticed by tester’s frustration instead of "out of nowhere". Maybe it was not suddenly but the same frustration that later made it cool?

If someone invites me to, I will.

[textile]If a conference in the UK wants me to give the talk then I'll happily give it... feel free to pester the conference chair of your favourite UK conference ;-)

California is a bit far away...

any chance of this being done in the UK ?



please ?

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.