You found the perfect solution. It has all the features you need and want and some you didn’t know you’d fall in love with. It makes your life easier… except when it doesn’t.
You hit save or try to move on to the next step and BLAMMO! something locks up or dumps you on another page. Whatever. Something doesn’t work like it should.
You’ve discovered a bug.
That’s what they call it when software doesn’t do what it’s supposed to–a button doesn’t click, something doesn’t drag and drop, some element glitches out. You know. You’ve seen them. Why do they call them bugs? I don’t know, maybe because it bugs you. Actually, it’s not very clear how we came to call them “bugs”. However, we all know what it means. In case you like definitions, here’s what Techopedia says about it:
“In IT, a bug refers to an error, fault, or flaw in any computer program or a hardware system. A bug produces unexpected results or causes a system to behave unexpectedly. In short, it is any behavior or result that a program or system gets but it was not designed to do.” – Techopedia.
Usually bugs show up because of a mistake made by developers or flaws in the design. We get that, but why would anyone deliver a product with mistakes in it? I mean, brain surgeons can perform flawlessly, why can’t software engineers?
Well, let’s talk about that. What are some reasons to roll out a software platform that isn’t perfect?
1. Bugs do not happen in a vacuum.
The truth is that developers can’t always predict what will break and what won’t. There are a bazillion variables that cannot be controlled. Most of the time software relies on other technologies that are less than perfect. Developers are used to messing around with their own stuff, so they interact with it in predictable ways. They need use cases and people who don’t know what to expect to mess around with it–try to break it, really.
2. Finding mistakes requires extensive testing
It’s not enough to run through what you EXPECT users to do, you have to allow real-world experience to drive the development. This can’t happen unless you release it. Now, many teams release a BETA version in order to set user expectations. When you use a beta version of software you know to expect bugs. This helps mitigate some of the poor user experience in launch. However, the product cycle demands a move to production based on market readiness as well as development status.
3. Perfection is expensive
Speed to market is important for the survival and success of any product. If you spend all your money and time trying to get to perfection, you might get out there too late, but worse, you might create a perfect product that doesn’t actually meet the needs or requirements of your audience. How expensive is THAT?! It’s WAY worse to have to go back to the drawing board, especially after spending wasted money on development costs. Marketing costs are somewhat easier to redirect and recover.
When developing new software, it’s really best to get the software to a point it can roll out to production so that many eyes and hands get in there to help discover bugs that developers cannot find on their own.
It’s the best-cost solution for stakeholders because you want to have user-driven features and results rather than a perfect product no one uses.
So, next time you encounter a bug, it’s not meant to annoy you, it means you are a part of the process for making it great.
The important question to ask is not whether or not your favorite software has bugs, but whether the team behind it are responsive in addressing them. That’s the true measure of effectiveness and value over time.
Bottom line: Get to testing as fast as you can!
What’s your favorite software? How do you feel about the bugs you encounter? Do you report bugs you find? Is the team responsive?
Leave your answers in the comments, and let’s talk about bugs!