Taking a user-centric design approach within software engineering is about focusing on the users’ needs, instead of just asking what they want, insists Russell King.
When I started at HSBC I had a lot of conversations with software engineers, project managers (PMs) and business analysts (BA) about how I was the User Experience (UX) designer and not the User Interface, (UI) person.
People assumed UX professionals simply designed UIs. So I came up with an analogy – if your end-user is a driver, UI is the car and UX is how it feels to drive it.
A car may look fantastic, be well-engineered and reliable, but if it's slow, noisy and uncomfortable, the dashboard's confusing and you have to take your eyes off the road to adjust the radio, then the driving experience will be poor.
The same concept applies to software; UX covers all aspects of the end-users' interaction with a software solution, not just the UI.
Ensuring our developers had a clear understanding of UX design was the first step in introducing a user-centric design approach.
We did the same thing with stakeholders who were used to getting exactly what they asked for.
While this sounds like a user-centric approach, it lacked one key aspect-design.
I worked on a project to replace a legacy vendor trading platform with an in-house-built solution called Vesper in the Securities Financing area of HSBC's investment bank. The platform lends stocks, bonds and other financial instruments to a third party in exchange for cash and vice versa.
With Vesper it could have been easy to use the existing design as the basis for the replacement. Users can be very comfortable with legacy platforms and they develop habits, workarounds and routines which can be hard to break.
Wants x Whys = Needs
To adopt a user-centric design approach, first focus on what the users' actual needs and problems are; for every user's WANT keep asking WHY, until you get down to what they actually NEED. Then you can start on the design, quickly stripping away preconceptions and limitations that can be associated with an existing legacy application so you get a clearer picture of what users really need.
Design for users, not developers
In the past, without agreed and tested specifications to work from, developers were left to design and create the UI themselves. In contrast, an iterative UX design process means the UI is researched, devised, created, tested and validated by end-users before a single line of code is written.
The power of prototyping
A key output is the UX prototype, a testable simulation of a proposed design or concept used to gather user feedback to establish which designs work well, and which don't, as thoroughly, quickly and cheaply as possible. Prototypes keep the whole team on the same page; when end-users review prototypes, so do stakeholders, BAs and developers.
Prototypes can be a simple, low-fidelity simulation of a single component through to a high-fidelity, interactive walk-through of an entire workflow process built using a rapid prototyping tool.
Prototypes dramatically reduce the risk of developing something stakeholders don't need. They cut development time and allow testing by a much wider audience of end-users. By 'visualising the revolution' stakeholders get a real feel for what their upcoming solution will look like which in turn creates excitement and positivity.
Prototypes also remove ambiguity for developers as they can be used as an interactive design specification. Complex UI interactions can be difficult to describe in writing, but with a prototype, a UX designer can simply say to the developers "Make it look and work like this."
The best ideas come from everywhere
My job is to facilitate, not dictate design. Everyone has a valid opinion and the best ideas can come from unexpected sources. We don't stay in our own lanes. We brainstorm, question and debate to design and deliver the best possible solution.
So everyone was involved in the Vesper UX design process; end-users, stakeholders, system owners, BAs, developers, PMs, support engineers and UX designers. Design assets like idea boards, wireframes and interactive prototypes were shared and published for all to review, test and comment on.
We continue to design during and after implementation. This iterative and Agile approach ensures that Vesper is continually improving, offering a better user experience and increasing business value.
User-centric design delivers real business benefits
By embracing UX and adopting a continuous, collaborative user-centric design approach we want to:
- Get the application right first time including validating and testing designs with users.
- Cut development time and cost because there's less time spent fixing or reworking designs.
- Lower support costs through a well-designed application that's intuitive and user-friendly.
- Increase productivity through an easy-to-use application.
- Create a flexible UX design framework that's consistent, modular and reusable.
With a shift from third-party vendor applications to more in-house solutions like Vesper we've pursued a great opportunity to invest in dramatically improving the user experience across our enterprise business applications.