DEV Community

Ladislav Szolik
Ladislav Szolik

Posted on

Why enterprise software is so bad?

Why most enterprise apps are so bad? ... I was thinking about this recently.

Both, MS Outlook and MS Teams are super slow on the Mac. It is noticeable that they are not native apps and they are buggy. For MS Teams sometimes even the cmd+Tab does not work.

Another example are Jira and Confluence web applications. They both are very complex and require employee training.

I believe, Microsoft and Atlassian have many smart developers, yet quality of these apps is ... off, why?

I've worked on complex applications and I noticed a certain requiring theme:

  • The stakeholders want to deliver on their imaginary deadline
  • They find weird ways to reduce the budget

The result? > The pressure they create cascades to the developers. Maybe not all developers are skilled, or maybe they are distracted by the large amount of meetings thanks to agile. The quality of their work goes down and the new software quickly becomes yet another slow legacy system which is hard to maintain.

The project becomes so painful that people start to leave. The new hires spend their energy to understand the mess, but eventually they get tired too and the circle continues.

Of course, the salary is good, so there will be always somebody who is willing to struggle with that app for 2-3 years.

Maybe sometimes we could ask ourselves more often if we want to continue on this route... I think we always have a choice.

P.S. https://dev.to is an example of good software.

Top comments (17)

Collapse
 
ekeijl profile image
Edwin

There's a huge difference between consumer vs. B2B apps: in enterprise software, the person using the software is often not the person who's paying for the license. They are both stakeholders, but with very different requirements.

Managers usually want this software to be implemented company wide, because everyone using their own tool would turn into a big mess. They just want their business process covered by the software and have some reporting workflows to send status updates up the chain. That's what matters to them: staying in control of their teams so they can meet their commitments.

This means the actual end user has no choice which software is used at their company. The supported business processes are often complex, which leads to the software/UI itself being complex. As a result, end users need training or even certification to work with the software. How insane would it be if your average smartphone app would require days of training before you can use it? The lack of feedback loops doesn't help either. You're lucky if there is a (functional) feedback mechanism or community forum for the software.

That said, I think smartphone apps did raise the bar for UI/UX quality a bit. People are now used to simple touch interfaces and expect the same quality/ease of use from the software that they work with.

From a developer side of things... it really depends if the management cares about building a maintainable product or are just shipping to meet deadlines. No matter how much developers raise issues about unresolved technical debt and how it turns the software into a monolithic ball of mud, the house always wins.

Collapse
 
senthilmpro profile image
Senthil Muthuvel

Simple.. The enterprise software becomes bloated with too much features in few years after initial release.. Each customer asks for a feature and soon it becomes bloated and unusable.

Good related article.

mailbox.my/blog/posts/why-enterpri...

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

The answer is $$$ - pure and simple. JS/web developers are a dime a dozen, and it makes no business sense to hire really good ones who actually understand and care about performance issues.

Sadly, this is the main driving force behind modern development... actively encouraged by the vicious cycle of more powerful hardware enabling worse code, and worse code requiring more powerful hardware. This is great for the profits of hardware and software companies, but utter s**t for the quality and efficiency of software generally

Collapse
 
ladislavszolik profile image
Ladislav Szolik

that is resonating with me very much. Our senior developer needed to leave, there was no budget for them... only business feature is founded...no budget for refactoring :(

Collapse
 
siy profile image
Sergiy Yevtushenko

You don't see majority of enterprise software, so your assessment is incorrect or, at least, not grounded on the facts. From my experience, most enterprise software I had experience with is quite good.

I'm trying to avoid software written by Microsoft exactly because its quality usually is quite poor. This is a specific of particular company, not enterprise software in general.

JIRA had issues with the design from very beginning. What we see now is an attempt to fix design by adding more and more features. But initial bad design strikes back and we see all those inconveniences, inconsistencies and slowness. I guess that initially they had better sales than development. Commercial success trapped development into endless feature adding cycle, while sometimes it is necessary to abandon existing solution and redesign everything from scratch.

While making conclusions like "Why enterprise software is so bad?" it always worth keep in mind that bad examples are much more visible than good ones. This makes observation bias and leads to wrong conclusions. Enterprise software is all around us and serves the purpose perfectly well. Just look around: we buy online and offline, use public transportation, banking, services, etc. etc. All of this served by enterprise software.

Collapse
 
ladislavszolik profile image
Ladislav Szolik

Thank you for commenting. I think you are right, that's why it is good to express what we think and get some feedback.

I think, I wrote this article because I wasn't fortunate enough to participate on a project which creates quality examples. On all my project we were limited by old systems and budget. We could not achieve the quality we wanted...

Additionally, I might be exposed too much to those 'bad' software/tools. In the country actually the banking softwares are really not that great :)

Collapse
 
jwp profile image
John Peters • Edited

The reason this happens is the people that make decisions are not deep enough in the trenches to know the strengths of the software. For example Jira is 10 years behind Azure Devops but Jira is a major player. Why is that?

Collapse
 
jzombie profile image
jzombie

And install the web version on the desktop and have the icons sitting on the dock as well, with less overhead than multiple electron environments, and always up to date with the latest version.

I love the web.

Collapse
 
ladislavszolik profile image
Ladislav Szolik

ah, ok. thanks for the tip

Thread Thread
 
jzombie profile image
jzombie

My one exception is the Slack client, because the web version always makes me appear offline if I don't interact with the window every so often.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Enterprise apps also often have enough clout behind them to be able to get away with bullying their users into doing things in a certain way so that the developers don’t need to worry about certain edge cases.

Sometimes this is a reasonable thing (for example, ZFS insisting on ECC RAM if you want any bug reports to be taken seriously), but sometimes it results in objectively stupid behavior (for example, the database software my previous job used for inventory tracking not being able to provide ACID guarantees unless the network it was running over was functionally perfect).

Collapse
 
_hs_ profile image
HS

JavaScript. Most of the desktop apps are now electron. Whatever argumen JS defenders might have I remember using Skype before MS takeover and using Office before new styles where added so please spear us the detalis. Atlassian had more server side prerendered stuff for Jira than today's SPA-alike

Collapse
 
syeo66 profile image
Red Ochsenbein (he/him)

And Teams, Jira or Confluence are even some of the better examples in the realm of "enterprise software"...

Collapse
 
eljayadobe profile image
Eljay-Adobe

A friend of mine that used Jira 1.x said it was fabulous. Easy to use interface, super-fast.

I'm using Jira 8.x. Somewhere along the way, those things went by the wayside.

Collapse
 
ladislavszolik profile image
Ladislav Szolik

Interesting. It might be that certain companies pay certain version. I might use an outdated version.

Collapse
 
darkmukke profile image
Mukke

I didn't pay for dev.to so it is not enterprise software

Collapse
 
ladislavszolik profile image
Ladislav Szolik

I was trying to use the natively installed apps