When it comes to software development, some people hold a dated belief that programmers dream products up and write super cool code to bring them into the real world. These people would be correct if we were living in the 1970s or ‘80s.
Today, the scenario is completely different. Modern day software development, as we all know, is focused on user experience over technology and market data. Back in the day, developers and programmers wrote code for themselves and their peers. They were in charge of what got built at the end of the day, how it behaved, and how it looked. Life was simple, though very confusing to outsiders.
Entrepreneurs soon realized that there were plenty of non-technical people who had tasks and goals that could be accomplished by running nicely written code on a computer. This was a new way of making money that marked the beginning of a new era and the first major environmental change for developers. Project managers came into existence, and developers were no longer in charge of what got built.
Still, many projects failed miserably in this era. The reason being, developers treated their new set of users as their very own technocrat peers. The non-technical class had emotional needs. They wanted the products to treat them with empathy, which the products were totally incapable of at the time. What followed was another change in the software development process and the second environmental change for developers.
Desperate times forced entrepreneurs to bring in graphic designers tasked with designing icons, interfaces, and visuals that would help the product connect with the user. GUI was born, and while the products of this era performed better, a graphical interface or a pretty icon was not the ultimate answer to solving the problems users were experiencing. This realization brought us into our current environment, where concepts like user-centered design, UX, and usability have made life easier for everyone. The products being built today are technical gems that can also show empathy for users.
Though it’s the job of an experience designer to create interactions and interfaces and perform usability tests, developers should realize that making good software is a combined effort. Developers don't need to be UX specialists or great designers, but they should contribute to making the product valuable.
So how can developers add value to the product? For starters, they can shift their focus from user tasks to user goals. An error message like, “The file cannot be accessed by the system” does not solve a problem. It’s like announcing the user has failed in his or her task. Making matters worse, the user has to acknowledge this failure by clicking “OK.” A more helpful message would tell the user how to solve the problem.
If a developer is working on an email service product, for example, the focus should be on the ultimate goal of composing and sending an email, rather than tasks like creating an account, logging in, etc. There are several different ways to accomplish a task and the task flow should line up in a way that helps the user to accomplish their final goal. When the focus is on the individual tasks, the consistency in the task flow sometimes tends to get lost somewhere down the road.
While building a product, developers should keep in mind these five Ws:
- Why? Why are we building the product?
- Who? Who are we building the product for?
- Where? Where will the user use our product? (At work, home, etc.)
- When? When will they use it (the situation/condition the user is in when they use our product) and how will they use it (on a phone, tablet, etc.)?
- What? What features will the user expect from our product?
Developers tend to forget the first four and focus on the What? More features do not necessarily ensure a better product—useful features do. It’s all about eliminating the unnecessary so that the necessary can speak. Think product, not features.
Getting to Know UX
Developers can also familiarize themselves with Peter Morville’s UX Honeycomb. The UX Honeycomb takes us to the core of UX, which is ensuring that users find value and meaning in what we provide them. Morville explains that in order for there to be a meaningful and valuable user experience, information must be:
- Useful: Content should be original and must fulfill a need.
- Usable: Ease of use is vital. Hence, the product must be easy to use.
- Desirable: All design elements should stir up emotion and appreciation.
- Findable: Content must be navigable and locatable, so that users can find what they are looking for.
- Accessible: Content must be accessible to people with disabilities. It’s good for business, and an ethical thing to do.
- Credible: All design elements should influence trust, and users should believe what we tell them.
It’s inevitable that the software development process will continue to evolve and the environment developers work in will continue to change. In the future, it’s likely that designers will get more implementation savvy and developers will get more design savvy. For today, developers need to realize the benefits of the product design philosophy, because in the end, it’s the users that matter the most. Giving users what they want creates a base of passionate customers that accelerates your growth and helps achieve market dominance.
Image of hot glue courtesy Shutterstock.