Usability

us·a·bil·i·ty
/ˌyo͞ozəˈbilədē/
noun
the degree to which something is able or fit to be used.

 

Architecture

ar·chi·tec·ture
/ˈärkəˌtek(t)SHər/
noun
the complex or carefully designed structure of something.


Usability Architecture in Software

Usability Architecture directly reflects the 'user experience' of an application in software development. Meeting the needs of the user in an intuitive fashion and allowing for them to achieve their objective in using the application is of utmost importance. From the Product Discovery stage through Development and into Implementation, Usability should be considered at all times and validated at each stage of the process. Applying this allows for the needs of the user and the design of the application to be considered and realized in the final deliverable of the product.

My Experience

My passion for the last 10 years has been in designing and developing eCommerce, Point-of-Sale, Kiosk, and Administrative applications for the Theme Park industry. I started out as an assistant UX Designer and worked my way into Development, Management, Senior Leadership, and finally, Usability Architect. I worked for the last 18 months on reviewing different methods of Usability Processes and how to apply them within an Agile/SCRUM development environment. The process produced was derived from multiple methods, but mainly Human Centered Design and Google Design Sprint Kit.

As a Usability Architect I have a unique understanding of design and development to help build better user experiences in products and provide support to design and development teams in creating more friendly and accessible interfaces with which to work. I've worked on e-Commerce, Mobile, POS solutions, Kiosks, Reporting, and Back-of-house applications, among many others solutions, to enhance the user experience and build better products for the end-user.

Usability Process

For our development environment, which was Agile/SCRUM, I found that pulling in the aspects of Usability that focused on the User Needs was of most benefit and allowed us to fit the process within a 3-week Sprint cycle. Now, this is what worked for our environment, but it's not expected that all software companies have the same development cycles and needs. Understanding this allows for the process

The process consisted of eight (8) steps:

  1. Use Cases & Requirements
    Gather the known needs for the change request and/or what the use cases behind the project are.
  2. Design Research
    Research what the user currently uses to complete their tasks. Review competitive software solutions and possible new solutions and/or technology in the industry.
  3. Observation & Interviews
    Observe the user in their environment to better understand their needs and how they currently interact with their software. Interview both lower level users and expert users as their perspective of the application are often different. Build Personas based on these observations and the known use cases.
  4. BrainStorm/Swarm & Technical Feasibility Review
    Brainstorm/Swarm the use cases with Product Owner, Development, Design and Stakeholders. Review possible solutions for technical feasibility and white-board possible design concepts.
  5. Design Concepts & Ideation
    Design concepts for the solutions from the review and ideate upon them with Stakeholders until all use cases are covered. This should be done using wire-frames and ideation sessions are short meetings to check off the needs and use cases.
  6. Prototype & Usability Testing
    Once a concept is approved, create High-Fidelity and interactive prototypes (InVision, Super Nova) and if needed perform Usability Testing. Usability Testing can be used to validate the concept, perform A/B tests, or to gather metrics on user experience. At this stage, based on feedback/metrics, further ideation of the concept can occur.
  7. Usability Design Documentation (UDD)
    A UDD is a detailed writeup of the design concept. Interactivity, components, and data are fully fleshed out in the document and Personas, use cases, prototypes and the design are also documented. This document is then reviewed with development and QA teams for initial estimates and questions.
  8. Development & Production Validation
    During development of the concept, our team is part of the Pull Request and builds for sign-off. After the concept is live/delivered, a review is done to validate the concept was developed and implemented correctly.

The results of this process:

  • More accurate estimates
    Through the process the estimates from development were 35% more accurate. This was accredited to the UDDs, the technical feasibility reviews, and the detailed use cases and Personas.
  • Streamlined Product Discovery
    The process allowed our Product Owners to focus more on gathering of requirements and working on administrative side of the development process. Having this dedicated Usability Process in place produced a rapid and trusted flow to aid in Product Discovery.
  • Detailed Documentation for Development/QA
    The development team loved the process as the documentation provided a far deeper level of detail than they would normally get. It allowed for the QA teams to better understand, through the use cases and Personas, more effective testing patterns and automation also.
  • Less research/downtime/mistakes for Developers
    Developers when working on an item would often have to research how best to implement a concept or to spend time figuring out which component to use. Time is lost when they have to go back and make changes for the Stakeholders or when they developed something in hte wrong way. The Usability Design Document relieved much of this pressure and time consumption.
  • Quicker turn around on Design Concepts
    There were multiple projects that had been back and forth to the drawing board for months. When we applied the Usability Process to them, we saw defined turn around and Stakeholder sign-off within a single Sprint (3 weeks). This was because we made sure to always include the right people in the meetings, address the real needs of the users and properly document what the design concept was so everyone was on the same page.
  • Proper A/B Testing
    Using Prototypes, we were able to test different approaches to an eCommerce solution with users and gain valuable metrics that helped us define the best solution in the end.
  • Clients Loved it!
    Through performing the observations & interviews with clients, we gained a new level of trust and partnership. They felt that their needs were important and that we were not waiting for them to come with requests, but instead we were making sure we provided the best solution possible for their needs.
  • Ideation really shines
    In reviewing the design concept and making sure they meet the needs of the user, use cases, and Personas, we would ideate and re-approach our solution. This allowed us to take small ideas and really expand upon them. We had a concept that started out as a though, but became such an integral part of the overall project after multiple rounds of ideation, that the executives wanted to make T-shirts to celebrate the concept.
  • Much, much, more...
    Honestly there are many more wins that resulted from applying a Usability Process into our development environment, some of which are described in the Projects below (soon). Overall applying Usability to anything can only make it better and when it comes to the users of the product, that should be the most important thing.

Why Usability is Important

Understanding Need
An aspect often missed is the need of the end-user. In software development, time after time, executives, designers and developers create products that they feel meet the needs of their users. The issue is, they often don't fully understand what those needs are. Through observation, interviews, Personas, and immersing one-self in the environment of the end-user, you can gain a deeper insight into what is really needed. Often, there are environmental aspects or guest needs that are not taken into account that can have a dramatic impact. Realizing this and being able to understand these use-cases can allow for more intuitive interfaces and smoother roll-out in the end.

Bridging the Gap between Design and Development
Having the experience as a UX Designer, a Developer and a Manager, I have a unique understanding of the various aspects of the Product discovery process and applying Usability. Being able to recognize when design may overreach or when technical feasibility is not achievable from a concept is important. Knowing how to work with both design and development teams in understanding what the overall goals and how to ideate concepts that can be achieved.

Following Through on a Concept
Doing the research, observations, and understanding the need of the end-user is important, but just as important is seeing the concept through to completion. Often design is handed over and pushed through development, but then forgotten. Concepts should be reviewed during development as part of the sign-off and then confirmed once live to make sure they meet expectations.

Get in touch

I'm in sunny Florida, come join me or call/text/high-five me!