Enterprise Work Is Complex. The Software Doesn't Need to Be.
Two things get called “complex” in enterprise software — the work, and the software. Only one of them is unavoidable.
the domain
the system
Enterprise work has always been complex. Enterprise software doesn't always need to be. Yet the two are often treated as if they're the same thing.
After years of designing enterprise products for highly specialised domains, I've come to believe that we often use the same word — complex — to describe two very different things. The first is the complexity of the work itself. The second is the complexity introduced by the software. Only one of these is unavoidable.
Two kinds of complexity
Software engineering has long distinguished between essential complexity (the complexity inherent to the problem) and accidental complexity (the complexity introduced by the solution). Fred Brooks described this distinction nearly four decades ago in No Silver Bullet. The same principle applies just as strongly to the interfaces we design.
Professionals working in enterprise environments solve inherently difficult problems every day. Geoscientists interpret uncertain subsurface data. Engineers evaluate technical trade-offs before making operational decisions. Analysts synthesise large volumes of information where accuracy matters far more than speed. Their work involves uncertainty, dependencies and judgement. That complexity belongs to the domain. Good software should respect it — not try to oversimplify it.
What doesn't belong to the domain is the effort spent navigating inconsistent workflows, searching for information scattered across multiple screens, remembering system-specific exceptions, or performing repetitive steps simply because the interface evolved that way over time. This is avoidable complexity.
The adaptable expert
One observation has stayed with me throughout my career: experienced users are remarkably adaptable. They learn complicated workflows. They memorise shortcuts. They create personal workarounds. They develop mental models that help them navigate systems that have grown over many years.
I remember working with a petrophysicist who had spent more than twenty years in the field. She was trying to answer what sounded like a simple question:
How do these wells compare?
To do that, she exported the data into her own spreadsheet — every single time — because the application couldn't present the values side by side. Taped beside her monitor was a handwritten list of the exact steps needed to get there. She didn't see it as a problem. It was simply how the work was done, and over the years she had taught the same routine to every new member of her team.
That workaround wasn't a sign the software was working. It was a sign of how much expertise, patience and adaptability the people using it brought with them every day.
Enterprise products rarely become difficult overnight. Complexity accumulates gradually. New capabilities are added. Customer needs evolve. Regulations change. Different teams contribute to the product over many years. Every decision makes sense in isolation. Over time, however, those well-intentioned decisions can combine into an experience that demands more effort than the work itself.
This is what makes enterprise product design such an interesting challenge. The objective isn't to make sophisticated work appear simple. It's to ensure the software doesn't become another problem experts have to solve.
Every unnecessary click, context switch or workaround consumes attention. On its own, the impact seems insignificant. Across hundreds of users, repeated thousands of times over months and years, that cognitive overhead quietly becomes slower decisions, longer onboarding, inconsistent ways of working and reduced confidence in the product.
Good enterprise software doesn't reduce the number of decisions people make. It reduces the effort required to reach those decisions. The most valuable enterprise software doesn't make experts less expert — it allows them to spend their expertise where it creates the most value.
Fixing problems like this is rarely about designing a better screen. It means making the case — across product, engineering and domain experts — that a workaround people have quietly accepted for years deserves priority over the next new feature. That's often the real work of enterprise product design: not adding more, but deciding what deserves to be simplified.
When enterprise software removes unnecessary friction, experts can spend their expertise where it creates the most value. That's what great enterprise UX is really about. Not software that hides complexity. Software that refuses to add to it.
Enterprise work will always demand expertise.
Our software shouldn't demand expertise of its own.






