Why is our enterprise software so terrible?

Jenn Taylor
Design and Tech.Co
Published in
7 min readApr 1, 2021

--

Pictured: Statues of two men in traditional martial arts poses facing one another, ready to fight. Photo taken in front of the Standard Chartered building, Forum, Hong Kong, Central.
Pictured: Statues of two men in traditional martial arts poses facing one another, ready to fight. Photo taken by the author, in front of the Standard Chartered building, Forum, Hong Kong, Central.

Awhile back, a New Yorker article (“Why Doctors Hate Their Computers”, November 2018) lodged itself in my brain and wouldn’t leave. The article shares an insider’s view of a large-scale technology project that did not have the desired consequences. It reads like a laundry list of the problems that I keep fighting, one way or another. Every time I think I understand a root cause, or have some kind of insight, some new manifestation of this crops up in my own practice, and I fall back to try to figure it out. You could say I’m obsessed.

Nobody should ever have to say, like the author does, “I’ve come to feel that a system that promised to increase my mastery over my work has, instead, increased my work’s mastery over me.” How many people in the world would say exactly that, though? Probably most of us.

“I’ve come to feel that a system that promised to increase my mastery over my work has, instead, increased my work’s mastery over me.”

— Atul Gawande, writing for The New Yorker

What is an Enterprise System, Exactly?

Enterprise systems touch millions — maybe billions — of people’s daily lives. An enterprise system is the collection of tools (computerized systems and paper forms) and processes that workers use to get a job done. An enterprise system spans multiple departments or divisions, and tries to create a cohesive set of information that is intended to reduce inefficiencies and provide information organization-wide.

Often, however, enterprise systems that show up in our offices, schools, and government agencies are designed from a purely technical perspective — screens to get data in, screens to get data out, code that doesn’t fail when the unexpected happens, data storage optimized for mining. The needs of the data consumers and systems maintainers are typically prioritized above the needs of the data producers.

Bad Design = Predictable Problems and Unintended Consequences

As we’ve known in manufacturing and engineering for decades, poorly designed systems experience very predictable problems:

  • local optimizations that cause chaos with organization-wide coordination;
  • whack-a-mole problem solving where you just chase problems from one location to the next;
  • one group’s needs or demands dominating and causing inefficiencies for all others

to name just a few.

These predictable problems lead to unintended negative consequences for users.

  • Experienced staff feel a loss of personal agency and efficacy over their work.
  • They feel that “the system” is making all the decisions and they’re powerless.
  • They spend more time keying in data than doing their jobs.
  • They burn out and become disillusioned.

If a digital system is not first and foremost an operational support tool that actively provides value and benefit to its end users, then it is highly likely that it is getting in their way.

Enterprise systems are more than the data storage and programming — they are mechanisms to translate between many different competing worldviews.

Enterprise Systems Embody our Organizational Tensions and Tradeoffs

Enterprise systems are so much more than the data storage and programming — they are mechanisms to translate between many different competing worldviews that arise from all of the areas of deeply specialized knowledge required to make an organization work well. In the New Yorker article, the doctors and administrators and actuaries all have valid and important points of view, areas of expertise, and understandings of the world that come together to allow very large numbers of people to provide high quality medical care while not bankrupting or exposing the hospital to unnecessary risk.

Tensions and conflicts are inevitable when those areas of expertise weigh in on the same question because, while everybody shares the goal of providing quality medical care, there are sometimes very stressful and difficult trade-off decisions that must be made. And the armies of technical specialists — who have likely never performed surgery, assessed actuarial risk, or sat through a discussion that had to balance those things — bring yet another area of expertise and set of tradeoffs to the conversation.

Sadly, technical specialists often unintentionally optimize their work for expert computer users, software engineers, and data analysts — which is why hospital data systems often behave like data systems that have hospital-y words on the screen instead of behaving like systems optimized to support physicians and systems optimized to support actuaries and systems optimized to help those two decision-making groups detect a potential conflict that they should resolve.

If a digital system is not first and foremost an operational support tool that actively provides value and benefit to its end users, then it is highly likely that it is getting in their way.

Are We Just Too Clueless or Lazy to Fix It? Well, It’s Complicated.

Why is it like this? After all, we have a multi-trillion-dollar consumer electronics industry that churns out apps and games and easy-to-use-this and the Uber-of-whatever every other second. Technology is easy and fast and cheap! Our workplaces must be in the dark ages, or the purchasers and programmers utterly clueless, if they can’t keep up. Right?

Not exactly. Consumer technology typically has one purpose. One primary goal or use case, one big idea. Microsoft Word lets you write stuff on the computer. Gmail lets you send and receive email. Slack lets you chat in real time. They rely on shared assumptions and shared knowledge to minimize user training. Yes, you have to learn where the buttons are, but you don’t have to learn what a car or driver or destination or credit card is when you use Lyft. You already know all of that. Lyft just makes it easy to put all of that pre-existing knowledge together to get a ride.

We can do many things with consumer tools, but fundamentally they are meant for an individual person to use in solving one single problem. As such, they can appeal to billions of people who have the same need. When people think “technology,” they increasingly picture consumer-focused applications.

Enterprise systems exist to link many activities and many people together in ways that accomplish many activities that coordinate under the organization’s shared strategy or goal. Enterprise systems have highly specific business purposes, and must operate at an extremely high degree of uptime, precision, and loss avoidance while being maintainable and upgradeable at scale. An enterprise system is the embodiment of thousands of decisions that may encompass legal, regulatory, efficiency, proprietary process, expertise, and other factors. Most industries have language and concepts that take awhile to learn, and accepted practices or norms that their digital systems must represent and conform to. None of this lends itself to an “intuitive” experience.

Many of these systems have a Goldilocks problem — too much information or too little, but never the right information in the right amount at the right time. That’s frustrating, and wears us all down when we have to deal with it day after day.

Insisting our enterprise technology behave like our consumer technology is as misguided as demanding industrial machines have the same cost and ease of use as a household screwdriver. They do not serve the same purpose, and are not subjected to the same demands.

What Can Be Done?

Can anything be done? Enterprise software tends to be on a much slower change cycle due to its sheer complexity but we are also living in the era of massive computing power and rapid change, so I firmly believe that yes, we can change this for the better. We can’t solve the problem by simply insisting our enterprise tools behave like our consumer tools — that is the same thing as demanding an industrial machine have the same cost and ease of use as a screwdriver. They do not serve the same purpose, and are subjected to very different demands. Your household screwdriver is fine enough for the occasional use, but it could not handle thousands of precision actions every day for years. To scale with precision a tool must be designed, engineered, used and maintained differently.

But we can learn from consumer tools about focus, usability, design process, and testing. We can prioritize the user’s experience above everything else. We can educate, teach, engage, and be transparent about the tradeoffs we face. I am inspired and encouraged by a movement of systems designers who bring a more holistic design-and-implement approach to very large scale enterprise.

I have personally seen over time that when I put data and technology last, and instead prioritize translation, clarity, and understanding, people and organizations avert many technology problems. I do believe that we can foster new ways to design our enterprise systems that revolutionize the way people experience their work. Right now I’m toying with how we borrow more radically from consumer designs to present a consumer-like experience that is connected to a powerful set of enterprise data tools in the nonprofit sector. Maybe that’s AI and bots, maybe it’s something else entirely. But it has to come, because our workforce increasingly demands tools that are easier to use, and are increasingly savvy enough to just build their own shadow system when they don’t get what they expect.

--

--

Jenn Taylor
Design and Tech.Co

Operationalizationer — one who defines a fuzzy concept so it becomes clear, measurable, and empirically observable. Founder @ deepwhydesign.com