3/11/2009

Extreme Arguments and the Slippery Slope

So often we hear doubters ripping into ideas for their "potential" for destroying the world we know. Why the crazy extreme?

Most recently it was argued that code refactoring was bad because a programmer will spend so much time "perfecting" the code that they will never finish the project.

Another, states that we spend so much time unit testing that we don't write production code.

Another that you have to "corrupt" your beautiful domain design so much to make it testable that it makes OO irrelevant.

The Republicans are doing with the whole stimulus thing. A few billion spent means that we are on the slippery slope that results in the government owning every house in the country.

The "Slipper Slope" argument is the favorite argument of the person that doesn't have an argument for the proposal on the table.

Perhaps we should attempt assess the benefits of a proposal based on the proposal.

If you don't understand why something is bad you should not announce your opinion about your fears of what it might lead to. If it ends up leading there, announce away, until then, lets improve our world one step at a time.

Sticking to the facts is the single hardest thing we do. Especially, since facts can be a little slippery themselves.

1 comment:

Anonymous said...

Hmm, comparing politics with TDD and refactoring is a slippery slope also :-)

From a politics perspective you have one bunch of idiots promoting agendas that look a lot like socialism/communism, and a different set of idiots promoting fear. The world has already tried government run organizations, and we have plenty of examples of these failures. Of course, fear never helped anyone, and politicians are all very good at pointing out the stupid ideas of others, but not very good at coming up with good ideas of their own.

So, as I understand it, you are comparing a bunch of people who degrade ideas that have proven to be stupid with people who degrade ideas that have proven to be good.

TDD and refactoring are proven to help both quality and time-to-market of a software project. The nay-sayers of these techniques are more similar to the proverbial ostrich with his head in the sand. They are not interested in craftsmanship, and thus attempt to ignore proven techniques in order to justify their own laziness.

A more realistic comparisons of the dolts who run the country and the dolts who write bad code is that neither understand systems thinking, and both try to get quick, short-term wins at the sacrifice of legitimate, long-term success.

Goals of politicians:
1. Make money for me and my friends
2. Get re-elected in two/four years so I can make more money for me and my friends.

Goals of hack programmers:
1. Have fun writing code that looks like it works
2. Find the next project so I can have fun writing code that looks like it works

Just as politicians pass laws that exempt themselves from living under the laws that they force on the rest of us, hack programmers write bad code and then try to move on to the next fun project before it all blows up on them.

When people have to live with their creation they are much more likely to come up with ideas/techniques that make it better not worse.

- Rob