
"To err is human," said Alexander Pope. As humans, we tend to learn most effectively through making mistakes. I was on a project to design and build a new web application for an Intellinet client. The client had an existing app which was severely limited. They asked us to examine it and replace it with something that would enable them to grow. During our initial meetings the idea of "enabling growth" was front and center and we were told, "as our business grows, we will need to grow our internal team. The application needs to be ultra-intuitive so new users will not require training."
Our UX folks really took that requirement to heart. The application we designed was tuned to those "new users" and employed a wizard approach, splitting their workflow into several small steps, which provided an error-free guided walk-through. We felt good about the approach because we created a lot of wireframes to show the users and received only positive feedback. Ultimately, with some minor tweaks, we received sign-off to build what we showed them.
And build we did. We were several months in when we finally got to user acceptance testing. The initial feedback we received when the users tried out the application was, "There are way too many clicks to do my job. Can't we just condense all these steps into one screen? I can't possibly imagine having to click this many times, all day every day."
Ugh. An explanation of, "You told us to design it for new users, not your current users." wasn't going to win any hearts or minds. Instead, we listened to what their current users needed and went back to the drawing board.
That experience emphasized for me the importance of employing human-centric design in our projects. In short, human-centric design is an approach to solving problems with solutions that are both relevant and beneficial to your users. It focuses on the needs of your users, encompasses a creative process to identify a relevant problem to solve along with viable solutions, and provides a testing process to validate that the results are actually beneficial to the intended users.
In our process, we had good intentions and we did some things correctly.
- We sought to understand the human problem. The problem as we understood it was the new application needed to be intuitive so new users would require less training and make less mistakes.
- We iteratively tested our ideas with our human audience. We showed the users static wireframes to demonstrate how users would use the application.
Our error was, our testing methodology fell short. Static wireframes can convey what an application looks like and sometimes how an application is intended to be used, but they cannot validate how the application will be used when a real user starts to interact with it. So, as a result of our insufficient testing methodology, we built an application that had been validated multiple times based on wireframes, but ended up having significant adoption hurdles.
Since we were designing an application for people to interact with we needed to employ a testing methodology that would capture actual human behavior when using the application. A better approach would have been to employ a rapid prototyping methodology to build clickable, interactive prototypes that would allow us to test our assumptions about human behavior. We would have discovered that our assumptions were incorrect and pivoted much earlier in the process.
We learned this the hard way. We're only human, after all.
Human-centric design - done the correct way - is a critical component of our corporate philosophy at Intellinet. Whether we are implementing software for a client or helping them define or change business processes, we believe in an empathetic approach that revolves around the needs of the users, and we validate often to ensure we are delivering intended outcomes - acknowledging that our designs must actually benefit humans.