It’s Not an Issue. It’s a Bug.

When something goes wrong, do you or do you not say something like this:

My bug crashed the system. Our bug crashed the system. Some bug crashed the system. There’s a defect. We don’t know how to use it.

Or do you tell your client that you’re “having an issue”?

There is no issue here! The feature is broken! There’s no need for discussion, understanding, and compromise here. The feature is broken.

Let’s work together to stop deferring blame and start accepting responsibility!

I often wonder how the word issue (as a noun) began replacing bug or problem in developers’ vernacular. Outside of development, I generally hear the word applied to fuzzy political or economic topics. It implies, “There’s no right answer, compromise must be found, and debate and discussion will bring us to compromise.”

Development might be more fun if every problem we ran into was worth a hearty debate and discussion, but in reality, problems are usually a bug. Or the person using a library isn’t using it the way it’s meant to be used. We write a failing test, fix the bug, and move along.

Perhaps the word came into use because it comes across as a bit softer than the word bug. “We fixed an issue with the Apache web server,” sounds a lot better than, “We were using the Apache web server incorrectly, and the application was crashing.” It’s a subtle way of deflecting responsibility onto another party.

Upon further thought, this behaviour comes across as fairly petty, doesn’t it? That must be it. It isn’t the overuse of the word or the dilution of the definition that bugs me, but the deflection of responsibility. Indeed, how petty.

I’m thus going to add the word issue to the list of weak language. I’m removing from my vocabulary. Other words and phrases include like, kind of, sort of, and I guess.

Why don’t you add issue to your list as well? Let’s use more accurate words instead and take back responsibility for our actions and mistakes.

Don’t forget to share!

Reference: It’s Not an Issue. It’s a Bug. from our JCG partner Matt Fletcher at the Atomic Spin blog.

Share and enjoy!
  • jroper

    Sometimes things are issues.

    “We have to load the data out of system X, but the call to get it is very slow and doesn’t scale, we went to developer of system X but then got into trouble from that developers manager because that manager says all communication should go through the manager instead of to the developer. Then that manager said that that developer is doing something else that is way too important to prioritise our needs over it. So instead we cached calls to system X, but occasionally that means we’re seeing stale data, which is what caused the bad behaviour you observed.”

    For some people, the above is the story of their life. They have issues. I’m glad I’m not one of those developers.



© 2010-2012 Java Code Geeks. Licenced under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.