The Artima Developer Community
Sponsored Link

Test-Driven Development
A Conversation with Martin Fowler, Part V
by Bill Venners
December 2, 2002

<<  Page 3 of 4  >>

Advertisement

Monological Thinking

Martin Fowler: A phrase I've coined for Kent's new book is monological thinking. By monological, I mean using one style of thought, one style of logic, at any one time. When I was creating the specific example, I was just thinking about how to make a very concrete example work. When I moved into a refactoring mode, I was thinking about how to abstract the working concrete example. I wasn't thinking about how to make the example work and how to make an abstract solution at the same time. I made it work, then I abstracted it. I felt it went quicker and was a much more calm and pleasurable experience.

Bill Venners: It sounds like incremental design is a way of dealing with complexity given our limited brains. To what extent do you think whether you write tests first or second is a personality choice? Are some people by their nature more suited to this style of dealing with complexity versus another?

Martin Fowler: That may well be true. It could well be that there are personality differences. However, I think it is hard to tell at the moment because not enough people have tried the test-driven development approach. Test-driven development is common in the extreme programming community, but that's still a very small slice of the programming population.

I recommend you sit down with somebody whose done test-driven development, so that you do it pairing with somebody who knows that style. I think you'd get a much better appreciation of how it works that way, because it is so very counter-intuitive. Unfortunately we won't have time to do something like that, but I'd love to do that with you. I can almost guarantee that you'll say, "What we're going to take that small of a step? It's not worth going such a small step." And I'll say, "Just trust me. Do these tiny steps." I've seen it so many times. I remember watching someone pair program with Kent for the first time. This guy had read up on XP and was pretty much in favor of it. He was very positive about XP already. There were times when his jaw was dropping at the tiny little moves Kent was making. He came out of it realizing that there is a whole style to test-driven development that he didn't expect.

<<  Page 3 of 4  >>


Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us