4 ms·
I fully agree that we don't really understand why TDD or Pair work (when they do work) or don't work (when they don't). Solving that is important in its own ri
by mpyne 14y ago
I fully agree that we don't really understand why TDD or Pair work (when they do work) or don't work (when they don't).
Solving that is important in its own right though, not because people do or do not like them.
I don't like doing push-ups, even though I understand at a basic level how they improve my upper body strength. I'm pretty sure that even if we should someday understand why TDD works (or doesn't) that there will still be good software developers that don't (or do) like it.
- raganwald 14y agoI was thinking that people championing and rejecting these practices was more a telltale sign that we don't understand them than anything inherently wrong with disliking things. So wrt pushups, it's as if millions of people were saying, "pushups don't work" and millions of others were saying, "pushups made me strong." I think if we solve the problem of understanding why these things sometimes work, we will discover some deeper, more important thing. Maybe pair programming isn't about pairing at all, maybe it's really that we suck so bad at code review, and "soling" pair programming will actually make it obsolete. I don't know, but as they say, "The best way to predict the future is to invent it."
- mpyne 14y agoOK, I see what you're saying. Something to the effect of "they can't all be right", so let's figure out what we're missing?
- joerayme 14y agoWhat you're assuming here is that everyone is doing pushups in the same way. Some of the difference between people liking/disliking certain approaches has to be related to not understanding it and applying it in the same way, surely? I myself couldn't get my head around TDD for ages and then it suddenly clicked and I became a complete convert.
- quanticle 14y ago>Solving that is important in its own right though, not because people do or do not like them. Is it? I tend to think of writing software as something like writing literature. Or composing music, perhaps. I don't see people up in arms saying, "Our understanding of writing is broken because some people like to write structured outlines before they write, whereas others just start free-writing and come back to edit." We don't say, "Our understanding of music composition is broken because some songwriters write the lyrics first but others write the melody first." Why is it so important to understand why different programmers employ different techniques?