To quote from a Christine Lavin song I was listening to the other day:
In Arizona at the turn of this century astromathematician Percival Lowell was searching for what he called "Planet X" because he knew deep in his soul that an unseen gravitational presence meant a new planet spinning in the air joining the other eight already known circling our sun up there
Now, if you’ve paid attention to the outcome of Christine’s silly song, you know that Pluto is no longer considered a planet. The first verse of her song (along with other bits elsewhere) get at an important point. It really doesn’t matter what we call Pluto – planet, dwarf planet, etc. That’s our naming system. The universe really doesn’t give a darn. Pluto has mass, exerts gravity, revolves around the sun… those things are facts. Whether it’s a planet or not, that’s subject to the vagaries of operational definitions.
Why bring it up? What’s it got to do with software development? Well, what’s the difference between a defect and an enhancement? In either case we know that the user wants something changed. They don’t like how the system currently works. Those are the facts. Some things seem clearly like bugs, like when the system crashes, other things seem clearly like enhancements, like the user wants a new web page added. But there are things in the middle, lots and lots of things, that most people could make a reasonable argument for either case – bug or enhancement.
Frankly, it doesn’t matter. What’s important are the facts – that the system does something and the user doesn’t like how it does it. Therefore, it needs to be changed. Now, one might argue about whether it’s economically worthwhile to change it, or that there are other things of higher priority to do, but to lob whatever it is back and forth between bug and enhancement is not a worthwhile activity.
Sometimes, we spend far too much time trying to argue that it’s an enhancement in order to avoid the shame of having created a bug, but to be fair, the user still doesn’t like it. Call it what you will, the result is no good. Instead of focusing on what it’s called, learn why you made the choices you made that got you there and figure out if there’s a pattern of behavior which could be changed to avoid the same type of mistake again. That’s a far better use of your time.
Pluto, for whatever we call it, will still be spinning out there, doing its thing, long after we’re gone and long after anyone’s around to call it a planet or a dwarf planet. In the end, it won’t matter.