Everybody hates enterprise apps.
Enterprise is an insult. Why? Because it conjures up images of software with the price of an artistic masterpiece and the soul of a clunky, mass-produced mess.
So, describe a piece of software as “enterprise” and, unless you’re a sales rep, you’re most likely mocking it.
It’s understandable. All of us have fought against a user interface that seemed designed to defeat us. Bewildering arrays of configuration options. Inconsistent behavior. Repeated requests for the same data.
But why has it come to this?
Over the past 10 years, we’ve seen a user-centered revolution in software development. The fluid and responsive software that once only Apple fans enjoyed is now everywhere. Everywhere except the enterprise, that is.
Why Does Everybody Hate Enterprise Apps? It’s Complicated
Like many disappointments, the answer to why enterprise apps are often so bad lies in mismatched motivations and expectations.
In our personal lives, we pay bills using slick banking apps. We book travel with aggregators that effortlessly bring together flight options from hundreds of sources. And, we watch movies an app recommends based on our previous viewing preferences. Every day we see what is possible. Our expectations of software are high because our lives are peppered with fulfilling, intuitive software experiences.
That only explains why we experience such a jolt of disappointment when using enterprise apps and software though. It doesn’t explain why the gap exists. That lies in three traits of enterprise software and one trait of the current tech market:
- You are not the customer.
- Enterprise software is complex.
- Enterprises move slowly.
- Tech moves super-fast.
Those last two are different sides of the same coin: the advances we see in consumer tech are often slow to make it into enterprise software.
Let’s look at them in turn.
You Are Not the Customer
The joke goes that enterprise software is bought on the golf course. As with many such jokes, there’s a thread of truth there.
Think about the contrast between a corporate travel booking system and your favorite flight search engine. The flight search engine is built for you. You could choose any number of alternatives:
- Booking directly with your preferred airline
- Using a traditional travel agent
- Searching with another flight aggregator.
To attract you, the flight search engine must give you a hassle-free path from entering your search terms to booking the ticket.
Your needs and the software provider’s needs are aligned. You want a flight with some combination of value for money and convenience. The flight search engine wants to find you that flight so they can earn a commission when you make the booking.
You Have No Choice
When it comes to your company’s booking system,you have no choice. You have to use that system and yet no one had you in mind when they built it. Instead, at the very least, the customers for that software are:
- Your company’s CFO and head of HR: They want to know that it will enforce their travel policies.
- The procurement executive: They want to know that the provider has the necessary certification and insurance (and maybe that the sales exec can buy them a really nice steak).
- The head of internal IT: They want to know who to call when something goes wrong, whether it will integrate with their existing systems, and how much maintenance it will require.
Those are just a few; often legal is plays a role in the purchase as do others in the organization.
In many large companies, those people might not even be booking their own travel so they are totally separate from the end-user experience. At a macro level, they might consider how much time it takes to book travel using competing systems but only as one trade-off among many.
Purchased Sight Unseen
Most worrying is that businesses often purchase enterprise apps, software and processes without having seen or understood them. The TV show “Undercover Boss” might seem far-fetched sometimes; how can someone in charge of a cruise ship line not know how its navigation systems works, we wonder. But the truth is that corporate structure and, perhaps, complacency can keep those who decide on the systems and the systems themselves far apart.
“Any enterprise CEO really ought to be able to ask a question that involves connecting data across the organization, be able to run a company effectively, and especially to be able to respond to unexpected events. Most organizations are missing this ability to connect all the data together.”–Tim Berners Lee (Source: Brainy Quote)
In extreme cases, such detachment leads to software that’s more than just an irritant and instead becomes a both a productivity drain and a demotivator. I’ll never forget the call center agent who was in tears because a change to the software she used was so badly handled it meant she couldn’t possibly meet her targets.
Enterprise Software Is Complex
Software is process turned to code. And enterprise processes are complex.
First, There Are the Processes
Booking your own flight is simple. You have preferred airports, dates and a price range; maybe a preferred airline alliance. When you get the search results, you choose the flight that gives you the best trade-off between cost, convenience and loyalty program. You have the decision-making criteria in your head.
A corporate travel system must enforce policies in software; policies that change from company to company. This leaks through into a user experience that is designed only to ensure the booking adheres to the policy. How one feels when using it is not taken into consideration.
Even so, corporate travel is straightforward compared to most enterprise processes, many of which are unique to each company. Building software based on those processes becomes just as much about research and analysis as it is writing code. It takes time and specific skills to map a process as it exists rather than as managers believe it to be. Most developers have booked a flight for themselves, and have first-hand experience of the process. However, their understanding of a company’s unique process is necessarily second or third hand.
Then, Time and Budget
In the face of this complexity is a lack of time and budget. A typical CIO will tell you that 80% of her budget goes toward “keeping the lights on.” Remember, most still see software as a cost center. So the 20% remaining has to be super-low-risk. If it doesn’t work, there’s no slack left for do-overs.
That’s one reason why vendors of enterprise apps and software cram every feature possible into their products. That CIO often has one shot at checking off the needs her organization has. Of course, all those additional features make the software harder to use, harder to deploy, and harder to maintain.
If a company built that software in-house, rather than buying it from a vendor, budget and team-size come into play even more. With traditional development, building great quality software is time-consuming and expensive. Even if your team cares about user experience and getting the process just right, they might not have the time or skills to prioritize it.
And it’s only going to get harder. Gartner predicts a five-fold growth in demand for mobile app development services by the end of 2017. What’s more, IoT is bringing with it a whole category of new pressures and demands.
Enterprises Move Slowly; Tech Moves Fast
It can take weeks for very large companies to make even the smallest decisions. Building software in that type of environment doesn’t allow for rapid iteration or agile practices.
Often, the process is captured once; the software is built; the software is deployed. If new information comes to light at the wrong time, it’s too late to make a change.
That can make software feel stagnant or just plain wrong, with old bugs sitting unfixed for years. Over time, the software drifts even further from the reality of the business.
To combat that stagnation and iterate more quickly, most enterprise software teams have adopted agile development practices. These accelerate each iteration but there’s only so much that a new process can do.
That’s because, despite what some conference speakers might like us to believe, agile doesn’t solve every problem. Enterprises remain fundamentally conservative in most respects. Even if a development team can use agile practices to iterate more quickly, they might not be able to use their choice of tooling or platform. Even worse, the contract covering the project could be so restrictive that there isn’t time or leeway to make changes when the team gets new information.
And so enterprise apps and software take on the sense of being from another time. We might book flights using a tool with a ReactJS front-end and sprightly microservices back-end. However, the corporate equivalent insists on Internet Explorer 4 and runs on a machine so old that no one in IT dares admit that they can’t quite remember where on the network it lives.
What Can We Do?
Even when it’s a seemingly unspectacular line of business application, such as a travel booking system, a company’s software is its differentiator. If you can book flights quicker than your equivalents working at a competitor, you can turn your attention back to something productive sooner.
Thankfully, a generational change is happening that might shift the priorities from which vendor can buy the best steak to how best to create a competitive edge. People taking their first CIO position today grew up in a world where software is at the heart of everything, rather than an expensive and poorly understood form of magic. That shift puts the emphasis on building enterprise apps that work just as well as their consumer equivalents.
Trends such as agile development, low-code and open source help vendors and internal development teams alike to meet those expectations. Even when there is limited time, capturing and refining those complex business processes in software is easier.
Over the coming weeks, I’ll be speaking to thought leaders from the software industry. We’ll be examining a number of topics such as why enterprise software is often so bad. And, how we can move away from software that serves only as a distraction on the way to the 19th hole. In the end, we might discover that to hate enterprise apps isn’t to hate them forever.
Is there an industry leader or expert you’d like me to interview? Drop me a suggestion and I’ll see what I can do.