|
Re: Religion's Newfound Restraint on Progress
|
Posted: Oct 11, 2007 12:35 PM
|
|
I agree with Cope that we have to be cautious, however, I think it's easy to overestimate how much we can settle with studies.
If we look back at all of the movements that could have be regarded as religious in software, object-orientation would have to be on the list. How certain are we now that objects are really the "the answer?" And, if we don't know, how much did our uncertainty as an industry keep us from moving in that direction? Not much, it seems. I think we've had a net benefit, but we also have to realize that we did act on incomplete knowledge, something akin to faith.
I was at JAOO a few weeks ago also, and I was very glad to meet Trygve Reenskaug for the first time. He had a wonderful session on model-level patterns, but the things that I'll remember the most from his session are the off-hand comments he made about the level of understandability in object-oriented code -- how do we really understand what is going on? Will everyone on a team understand what is going on?
It was great to hear that from one of the pioneers of OO. Some people (perhaps the majority of developers) are just much more comfortable with procedural code. Others drink up OO as it if was water. Maybe there is something we can learn from that.
I think that far more is contextual in software development that we'd wish.
I also think that that all human systems suffer something I call "social signal loss", whenever we write or talk about something, the signal that carries is something simpler than was transmitted. Some people will hear what Cope is saying now and say "well, he's saying that all Agile is baloney" when, in fact, he didn't say that. Some people, as well, will hear that "TDD helps you arrive at better designs" and not realize that TDD, like any other practice, requires people. Their experience, attitudes and skill can affect the outcome as much as any other variable introduced in the mix. It's just the way that it goes. People are central in our endeavor.
I realize this is running on... (I should've turned it into a blog), but I just wanted to mention also that one of my favorite books is The Deadline by Tom DeMarco. In it, his protagonist gets to do something that we never get to do. He gets to run large-scale controlled experiments in software development. I don't think that will ever be in our reach, but that doesn't mean that we should stop trying to gather as much empirical evidence as we can. And, I do think, however, that we have to make peace with the idea that there may not be any universal answers.. that no practice is universally good for every context and no practice is universally bad. I think that we'd all admit that, but in conversation we don't act like. Myself included. Human nature strikes again.
|
|