Dear reader, you are an intelligent person. So I'm going to save us both some time and skip several paragraphs where I regurgitate what consultants and books on creativity have said for decades, namely that there's a benefit to thinking about things that might be very, very wrong.
Though the wind is not made by leaves flapping, as some children guess, the theory is sufficiently profound that it should not be dismissed out of hand. In fact, disassembling erroneous concepts is one of the best ways to find new ideas.
I'll also skip the part where I list the number of things that were known to be very, very wrong and turned out to be right.
The statements that make people mad are the ones they worry might be believed. I suspect the statements that make people maddest are those they worry might be true.
And so after taking several paragraphs bragging about how much writing I was going to skip, here are the ground rules for this little creativity game:
Find the extremes. We're interested in the outliers, the data points and ideas that live in the fringe. If somebody says that Extreme Programming works in 98% of the organizations that adopted all of its practices for a complete project, forget about what those 98% can teach us. Don't even argue with the number 98%. But those 2% that still failed... What's up with that?
Play the ball, not the (wo)man. Disregard the author of any source I quote. This works both ways: if you respect the author, don't forget they may be wrong. Or right. Or it doesn't matter, because the benefit is in thinking about the idea, not patting yourself on the back for agreeing with or disagreeing with someone else. And this is really the same point: Popularity is irrelevant. Disregard whether an idea is popular. You may be suspicious of anything popular. Let go of that. Again, the benefit is in thinking about the idea, not patting yourself on the back for agreeing with or disagreeing with someone else.
And finally... create extremes. Become a reductionist. Embrace the Tar Pit. Reject postmodernism. Look at an idea. Take one element of it, right or wrong, good or bad. Preferably wrong (see above). Ask yourself: "if this were not just true, but universally applicable, what would that mean?"
Ok, so here is the first heresy: software architecture sucks wind. Or blows chunks. It's resume-driven design.
How about: 'Frameworks are useful because they place a structure on you so that later developers will easily be able to understand your application' I've yet to see two Struts apps that even remotely resemble one another...