Efficiency Vs Effectiveness

Most of us have seen the following (in)famous tree swing cartoon (or several versions of it here and here) depicting the software development process. I even found a website that lets you add your own captions to it!

Tree_swing_development_requirements

Back in my full-time coding days not too long ago, this cartoon always used to hang on my cubicle wall. It always managed to get a chuckle or two every time someone walked passed but it was more of a reminder for myself to always focus on the user’s needs. As programmers, we tended to care more about getting the specs, writing the code, testing it, deploying it and going through several iterations of the process. This is kind of how I used to think – in code:
for (int i = 0; i < numberOfRequirements; i++){     CodeRequirement(i);     TestRequirement(i);     DeployRequirement(i);} if (budget > expectations && client == happy)     Celebrate();else     PassTheBuck(buck);

A lot of programmers I have met did not think about the contextual needs of the end users while writing code. It was all about getting the requirements coded and shipped to the client. There was no concept of giving some thought to the end user who possibly might be a 65 year old truck driver who hates his job and hates using his on-board touchscreen job despatch system for 14 hours a day.

Here’re two very simplistic scenarios involving the same client and the same project: 

Programmer, talking to the client

     Client: I need a calculator.

     Programmer: What do you want it to do?

     Client: Add, subtract, multiply, divide.

     Programmer: No problems!

[After a few weeks]

     Programmer: Here’s the fastest calculator in the world that can add, subtract, multiple, divide and you can save your calculations in the Cloud!

 UX designer, talking to the client

     Client: I need a calculator.

     UX Designer: Who is the calculator for?

     Client: For blind kids who don’t understand English.

     UX Designer: What are they going to use it for?

     Client: To learn to add, subtract, multiple and divide in their native language.

     UX Designer: Do they have fingers?

     Client: Only some of them.

I know it sounds heart breaking, but that’s not the point I’m trying to make. Now, the calculators created by the programmer and the UX designer will essentially do the same basic things – add, subtract, multiply and delete. But the solutions provided by those two products will be completely different. The super-fast calculator created by the programmer can do everything a calculator would do and even save data in the cloud but the non-English speaking blind kids wouldn’t have much use for it. And what are they going to do with the Cloud features if they don’t have Internet access? Sometimes, even the client does not know what their users want. Scott Adams hits the nail on the head with the following strip:

Dilbert.com

I have come across a lot of business stakeholders who don’t understand user experience (UX) design. They think that developing the fastest and the most feature-packed software system is the only way to success. And some think that it is only about designing pretty UIs. Well it’s more than that. It also involves, but is not limited to, considering the needs of the user as a whole:

  • What is their context?
  • What are they are trying to achieve?
  • What is their ultimate motivation in using your software?

I’m not sure how much thought Microsoft put into their end users when they developed Windows Mobile (a screenshot below to refresh your memory) and tried to squeeze their desktop operating system into a tiny phone. They ended up paying for it by losing a lot of their customers, sick of carrying their tiny stylii around, to Apple’s iPhone and Google’s Android which had much superior user experiences. It is very sad to see so many great software products not making it just because the UX of the product was neglected.

Windowsmobile

Investing in UX design is like a long-term financial investment. It is a proactive process that might not give you immediate financial returns but will definitely earn the respect of your users from Day 1. A sustained number of happy users means better financial ROI. But a household that’s struggling to pay the bills would seldom think about investing. They would rather want to pay their water bills today so that their water supply doesn’t get cut off tomorrow. Unfortunately, a lot of software houses are also caught in this vicious cycle and are too busy fixing last-minute critical bugs, putting out fires and resolving crises that UX design is the last thing in their minds.

If you want to create a successful software product, you MUST connect with your users and see what they see and feel what they feel. Efficiency alone does not cut it anymore, nor does a long list of features or superior hardware.  It’s a combination of all those plus a good understanding of your user’s needs in the context they are in that makes great usable software that is both efficient and effective – and therefore satisfying.

This entry was posted in Uncategorized by Nirish Shakya. Bookmark the permalink.

About Nirish Shakya

Nirish is a User Experience Consultant at Objective Digital. When he’s not designing experiences for his users, you’ll find him completing missions on the latest stealth games on his PS3, testing his wife’s patience.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s