by John Schrag
Usability lies in the details. If you’ve worked in the UX field for a while, you’ve probably heard that spoken. While it is important to build the right features in your software, it is equally important to build the features right – to take care of the details that make the difference between a user flowing effortlessly through a task, and that same user getting completely stuck at step one.
Unfortunately, this property of usability work can make it very difficult for the work to get done at all. From the high-level view, we all know that reaching a certain level of usability is critical for the success of a product. Many usability teams fight hard to get usability bugs treated just the same as functionality bugs. But there are drawbacks to this approach: in the trenches of development, individual detail-changes that leads to that usability can seem inconsequential when compared to the “real” bugs competing for developer time. “Yes, we know that people have trouble figuring out how to use the feature, but at least it’s possible.” UX fixes can get pushed further and further down the priority list, until they fall off the end of the development cycle.
Usability practitioners aren’t the only ones with this problem. Have you ever wondered why so many health care practitioners are in such bad shape physically? They of all people know how critical it is to eat well and get regular exercise, but many of them never do. It’s not because they’re lazy (have you any idea how hard nurses work?) but rather because they are faced with the same problem. They know that exercise and good eating in general is critical, but every day they (and we) are faced with prioritization choices. It’s easy to justify skipping a good meal this one time (I have to do the grocery shopping!), or not exercising this one-day (I have to pick up my sister at the airport!). Tomorrow we’ll get back on track, right? But tomorrow something else always seems to come up. A series of completely logical small decisions turn into a health disaster over time. What’s to be done?
There is a third area where this problem is prevalent, and also where we find clues to some solutions. That third area is money management. We all know that we need to save regularly for our retirement, but we know people who never do – they live paycheck-to-paycheck, never able to save, even though they may earn good money. Again, this comes from what seems to them like a series of completely logical decisions: “No money in the retirement fund this month, because we need to pay for cousin Sue’s wedding present. Next month we’ll get back on track.” But next month, there’s always something else. In personal finance, however, there are well known and widely used solutions to this problem. I’ll talk about two in particular: “Pay Yourself First” and “Budgeting”, and see how they might apply to UX.
“Pay Yourself First” is where you set up automatic deductions from your pay or your bank account. So the money is removed from your awareness before you get a chance to spend it on something else. This is probably the best technique for ensuring that you have long-term savings – it prevents you from ever having to make those kinds of prioritization choices. “Budgeting” is where you decide in advance how you are going to divide up your resources (money) into each category of spending. It’s a way to make sure that line-by-line prioritization decisions don’t lead to ridiculous outcomes. (Imagine if a government had to compare the relative priority of every line item in their spending --- all money would be spent in critical health care. Is fixing the potholes on that road really more important than saving Grandma’s life?)
Can we apply these principles back to our UX problems? We sure can.
For Usability Practitioners, “Pay Yourself First” can happen a few ways:
- If you have outstanding usability fixes from a previous release, try scheduling them early in the next development cycle – before new bugs are coming in.
- Whenever possible, try to do your usability testing and improvements on paper prototypes of your designs, so that by the time development starts work, the usability problems have been fixed.
There are also a few ways to use the idea of “Budgeting” – these will require the cooperation of the development team:
- Budget by time: set aside one day a week (or every two weeks) where the development team does nothing but fix little usability bugs. A concentrated effort can plow through a large number of bugs in a short time, leading to real improvement. Towards the end of the development cycle, it is likely that development may decide that “regular” bug fixing is more important, but by that time a lot of the required usability work will already be done.
- Budget by person: Have one developer (this is a great job for an intern or summer student) who is dedicated to fixing small problems, including usability problems. It works even better if this developer reports to the usability team, and can’t be pulled onto other duties.
In the comments section, let me know how your team gets its usability fixes in. Let's get a conversation going.