Question: How can you take an ordinary dish, jazz it up a bit, and make it suitable to fit in a Thanksgiving feast?
Answer: Add sauce.
Even something like mashed potatoes can be made significantly more palatable by adding gravy. Not to say that mashed potatoes are not an enjoyable food on their own, but when that little bit extra is added (whether it’s gravy, cheese sauce, a bit of cream and garlic, or cream cheese and parsley) it suddenly becomes that much better. Software is no different. Allow me to explain.
Let’s take an ordinary application that has a particular feature set: let’s say something that tracks inventory. Let’s say we have a warehouse worker named Jimmy. Jimmy’s boss comes up to him and asks him how many of a particular type of widget they have in stock. Now Jimmy hasn’t been working there too long, so he doesn’t know the widget’s SKU by memory yet. He has to ask Daryl, his co-worker what the SKU is in order to look how many widgets there are. Either that, or he has to go grab a widget off the warehouse shelf, carry it back to his desk (or memorize the SKU) and then look it up. Now on paper, the software’s features would read something like “Allows users to look up existing inventory levels”. But, from the story you just read, there’s definitely some usability missing. It’s not that the core feature is missing – it lacks flavor. It lacks sauce.
Let’s take that same scenario, and that same feature – looking up inventory levels, but with a tweak. Jimmy’s boss comes to him and asks how many of a particular type of widget they have in stock. Jimmy looks at the inventory program, and starts typing in “Widget”. Before he’s done, it’s generated a list of possible types of widgets. He clicks on the right type of widget, and all the related inventory information is pulled up.
Both pieces of software have the same basic feature – looking up inventory levels, but one has the extra “sauce” – features that make it that much more usable. If both pieces of software were sitting in boxes on a shelf, they could both have the same feature listed on the back of the box, but clearly the one piece of software is a much better product.
So how does one find their own “secret sauce” to make a software project that much better? I’ll talk about that in my next blog post.