A complex software application often involves multiple personas, several user journeys, and complicated interactions between different user groups. Without a thoughtful design, these complexities can be overwhelming and frustrating: Users are forced to deal with a cluttered UI with overloaded features, or to search for an obscure button or command, or to figure out a user flow that’s hard for laymen to understand. As a result, they get lost while using the software and are forced to seek help or go through trainings.