The Importance of UX in Custom Software
Perhaps you've decided that a custom software solution is the way forward for your organization,
it's time to consider the complete User Experience (UX) that you want to provide.
UX is about how people feel when using a system.
Can they move around easily and get things done, or is the navigation awkward and confusing?
Can they find what they're looking for and do they understand how it responds when given specific input?
User experience is more than 'human interface', it's about the complete experience and it requires some real thought to get it right.
A positive user experience can have a profound impact on whether your product is successful or not. All things being equal, simply being correct isn't good enough and it's not something that can be easily applied at the end of a project. Good UX has to be included in product design from the outset of any software development project.
Software products need to be easy to use, intuitive and nice to look at.
UI vs UX
When we start talking about User Experience, it's important to distinguish between User Interface and User Experience. The two subjects are often confused as they tend to overlap a little in the middle. The UI is only one part of the experience, but the UX is all encompassing and is the user's lasting impression.
Top 6 reasons to think about UX during Software Development
Building custom software is about increasing efficiencies for your employees and your customers. If the tools you provide work well and make their lives better, it shows that you value their contributions and their time.
You've elected to develop custom software for a reason, so maximise that investment and make the workflows within your application as efficient and intuitive as possible. Create intuitive workflows that fit how users think about their processes. Leverage their existing knowledge by designing a system that makes them more productive and drives usage of the software solution.
When the users don't need to think about the system they're using and can focus on getting the job done, their productivity skyrockets. If behaviours within the system are not easy to understand and it appears to do things differently every time they use it, they'll quicky become frustrated and fall back to familiar, manual ways of working.
Easy to Learn
If a program looks like something they already know, it will feel familiar and require less training. Reduced training requirements help drive adoption and facilitate a smooth transition to new software.
We all know what brand recognition means for national brands or designer labels, but there's brand recognition in software too. Good UX is like a calling card and can drive customer loyalty. For internal use software a quality user experience can make employees feel that their time and efforts are valued. It can instil brand values and help staff provide responses in a common voice.
Custom software shows users that a company is willing to invest in its clients and is trying to provide the best tools for its employees. These systems can be expensive and take months to implement but speak directly to a commitment to their business. Customers appreciate and will recognize an effort to provide a positive UX for them. Such an effort will often translate into increased conversions and can influence users to share their good experience with others.
At the end of the day, companies are in business to sell something, it may be a service or a product, but improving the efficiencies and making it easier to continue doing business directly affects the bottom line. Good user experience can result in increased sales, an increase in repeat business and positive word of mouth.
Starting your software development project with a mind to user experience will elevate the quality of the finished solution. It is generally understood that there are five stages to design thinking. It's important to note that stages may be run out of order, run in parallel, and repeated as needed.
1. Empathize - Research the needs of your users
Think about the problem you're trying to solve and the users who are directly affected. Put these users at the center of this process and put aside your own assumptions. Once you see the problem from their point of view, you can gain an empathetic understanding and more fully appreciate their needs.
2. Define - Document their needs and problems
Write down the information gathered in the previous stage. Analyze it and define what you believe to be the root problems to be addressed. Document the problems from a human point of view, not as technical problems.
3. Ideate - Challenge assumptions and create ideas
By the time you've completed stage two, you're probably ready to start throwing ideas around. Using the information collected so far, consider alternative ways to view the problem and come up with creative ways to address the problem statement created earlier.
4. Prototype - Start creating solutions
The fourth stage is about experimenting to find the best solution to each of the problems defined in prior stages. You may need to produce several rough prototypes, so keep them small enough to develop quickly, but with enough detail to properly demonstrate how it should solve the problems.
5. Test - Use each solution
Exercise each of the prototypes and measure them against the stated problems. Would it be feasible as a complete solution? Would it statisfy the needs of your users? Did you miss anything?
Keep in mind that this is an iterative process. At any time designers can go back to a previous step and add new information, revise their understanding, update prototypes and eliminate solutions that don't work out.
Developing for User Experience isn't like loading a spreadsheet where it either worked or it didn't, there's more nuance to it than that. Creating a poor user experience can be expensive and have lasting effects. Winning users back after a bad experience is not an easy thing to do. We know how to develop applications and solve difficult problems - even when the most difficult part of your software project isn't writing the software!
Mark has been doing database design and building custom software for over twenty years. With a background in electronics, he quickly moved into software development and has been building database software solutions ever since, on many projects of all sizes.