Usability & Flexibility in system design
In my last blog post I talked about how usability and flexibility. Whenever you are working with a system especially in enterprise software you’ll find you have to have a balance between the usability and flexibility in your design. How can you find that balance? Here are some ways that ux techniques have helped me find the right balance for each project.
Always, always, always start with your users. They know what they need to accomplish their goals. They may not be able to articulate that in a way that directly translates to user stories. But your user interviews will provide you with a treasure trove of information to guide you as you work through the design process.
Understanding your users and their needs through user interviews allows you to pinpoint the exact level of flexibility needed. All while making the system meets the needs in order to be the most usable for your users.
Piggybacking on the user interviews I’ve been able to develop user personas that are integral to discussions about our design and software.
I often like to add a section to my personas that pinpoint their specific pains with the topic at hand. What type of software do they already use on a daily basis and what are their pains with that software.
User personas will help you figure out what goals each type of user and each role will want to accomplish. Consider an office worker. This worker is assisting customers will have a very different set of motivations and goals than a field worker. The field worker who is directly working with data entry.
Having real clarity here will keep you from making assumptions that increase flexibility in your system.
Often I see flexibility increasing in a system when we don’t have a clear vision of the user flow of a process. When this happens we have to increase flexibility so that we handle a wide range of scenarios. These various scenarios are needed to capture what these users need to be able to do. Which increases complexity and reduces usability.
Defining the user flows clearly is important to reducing the flexibility needed. And knowing which flows are the most important to the process will help guide you on how flexible they need to be.
Sometimes you have to have a flexible overall system so can you create a flexible system using guided flows that increase usability.
The ORCA process techniques help you reach the right balance at the right time in your project. So this whole section is all about the ORCA process and it’s specific techniques. To learn more check out the OOUX website.
What is the ORCA process?
Really briefly ORCA stands for Objects, Requirements, Calls-to-Action, & Attributes. Working through the 4 rounds of the ORCA process drives you toward clarity around each of these concepts. And at each stage you are driven back to the central concept surrounding your users mental model.
The UX Techniques
By identifying all the objects in your users mental model you get a crystal clear picture on all the pieces involved. And knowing is half the battle. You are able to actively uncover the unknowns early in the process.
By mapping the full mental model and all the objects you are able to see the big high level picture clearer. And when you are specifically thinking about flexibility and usability you need to see the whole picture. Knowing the full picture you are able to reduce the needed flexibility needed to make the system work because you’ve reduced your unknowns.
From the full picture you are also able to use this information to prioritize and scope in the system for each phase easier. I’ve often heard the phrase “we need X” over and over in a project. Before you ever start designing screens this will allow you to have a conversation with all team members. They may be stakeholders, SMEs (subject matter experts), project managers, and developers. You are able to facilitate the discussions that help you reduce complexity.
This allows you to plan for the future phases in a visual way. Thus facilitating conversations with your team. And you have confidence that you are not missing any important pieces. Prioritization of your system reduces the complexity of the system overall improving usability. It cuts the fluff reducing the areas that you may have to make more flexible because it isn’t really clear.
Another beautiful thing that the ORCA process does for your system is it inherently focuses on the relationships between all the objects. This to me is built in flexibility and usability. The relationships your users are able to move naturally through your system in the way that is needed for them at that moment.
In summary, UX techniques can help you find the right balance for your system between flexibility and usability. When you have areas of your system you have determined need more flexibility you have a solid foundation as to why. This helps design a system with the right amount of flexibility and improves usability overall.
These aren’t the only techniques you can use to determine the right level of flexibility for your system. A holistic approach to determining the flexibility throughout the entire design process is the best way to ensure the right balance. Do you have a favorite techniques not mentioned here?