Software quality: why you shouldn’t ignore the small things
When your product to-do list (aka the product backlog) is very long, with “urgent” items or requests from your biggest or most demanding users, the natural path is to focus on the high value work.
New features that could bring in new users or retain existing ones. Major bugs. Quick wins.
Everywhere I’ve worked, and in fact in most software projects I’ve heard of, there’s always more to do than you can actually get through. You can’t do everything, so you have to prioritise what to work on next.
As part of gathering feedback from users, QAs, or your own product review cycles, you’ll sometimes identify issues or potential tweaks which, in the grand scheme of things, seem very minor. Perhaps there’s a small layout bug on iOS. A little-used setting doesn’t work for a small number of users. An old page that hardly anybody goes to doesn’t look right with a recent design overhaul. Or a page is retired and removed from the navigation links – but it’s still accessible if you visit it directly.
I’ve heard numerous excuses for not dealing with minor changes such as the above. It’s not important. We’ve got bigger fish to fry. We’re too busy. Etc. However, if you ignore all of these small issues, they can build up and collectively give users the impression that the product is being neglected.
It’s a broken window situation.
In The Pragmatic Programmer, there’s a section called Software Entropy that mentions broken windows. I’d like to highlight this quote:
Don’t leave “broken windows” (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up. Perhaps you can comment out the offending code, or display a “Not Implemented” message, or substitute dummy data instead. Take some action to prevent further damage and to show that you’re on top of the situation.
If something’s broken, fix it. If it’s not used anymore, remove it. To help with this, gather feedback to see if users are finding pain points that you’re not aware of. Use analytics to see which parts of the product are being used.
Don’t ignore the minor things. While one small UX quirk might not make much difference if you fix it, lots of UX issues in the same area of the product can really annoy your users. Leaving this unresolved can make software feel awkward and frustrating to use, or just plain broken.
Is that the kind of product you want?