For those who don't know, the Pareto Principle is that thing that says 80% of effects come from 20% of the causes. So, while ten goths may have collectively used all the eyeliner, two of them (we'll call them the Bogart Twins) used 80% of it between them.
The Pareto Principle has been applied to software developers by saying that we spend 80% of our time on 20% of the work for any given project. I've come to the conclusion that this is hooey. We do not spend 80% of our time on 20% of the work. We spend 10% of our time doing the entire project and the remaining 90% is consumed by some minute detail that should have taken five minutes and ends up eating three days.
I once did a little project where I knocked out the code that did the actual work in a couple of hours. I then spent days battling the generic installer so I could deploy the thing. Which was frustrating, but not even close to the stupidest of the examples I can offer.
If you want to see me levitate with anger, let's talk about the time I couldn't get something to be the right color. It was a simple RGB setting. It was even called RGB. I checked my value over and over again. I tried multiple syntaxes. I pored over the documentation. I cursed the gods. Eventually, I stumbled upon the problem. Some clever soul had decided that RGB values should really be specified in alphabetical order, i.e. BGR. They also decided that this was so obviously correct, it didn't need to be documented. I'm not making this up.
I've also spent absurd amounts of my time filling out structures. Filling out structures isn't a problem. Needs to be done. However, filling out structures where many of the members must be set and there is only one valid value for each one and it's cryptic and it doesn't default and you have to go look up what The Magic Value is for each one of them makes me want to take up drinking just to see if it all makes more sense with a bottle of Scotch in me.
I could go on. And on. And on and on and on and on and on. We all could. As I publish this, I'm actually a bit concerned that the planet will be knocked off its orbit by the sheer force of all the programmers nodding their heads.
So remember, when you pay a programmer for an hour of their time, remember: 90% of that is to pay a person to sit at a desk with their head in their hands weeping at someone else's remarkable stupidity.
No comments:
Post a Comment