Enterprise Software Sucks but it Doesn’t Have To

07 Jul

Very frequently we hear IT professionals complain about the poor quality and experience of enterprise software packages when compared to the simplicity and always growing innovation of consumer software, and rightfully so!

Enterprise software is, for the most part, archaic, boring, expensive and rarely innovative. As a result, IT environments keep distancing themselves from modern social and consumer dynamics to a point that they almost seem like two different worlds.

Most people will blame the big enterprise software vendors for the lack of innovation in the space but I think the truth is slightly different. Having thought about this problem for a while and having even started two companies to try to address it, I firmly believe that enterprises are more responsible for the lack of innovation in enterprise software than enterprise software vendors.

Here are some of the aspects of IT initiatives that, in my opinion, have consistently  harm the evolution of enterprise software.

Relying on Big Budgets

For 20-30 years, IT has developed a big spending mindset. We’ve all witnessed ERP implementations or J2EE “modernization” efforts that range in the multi-hundred million dollar price mark. While it is great to see organizations spend big capital in their IT infrastructure, I firmly believe that those big-budget, multi-year IT efforts have caused more harm than benefit to IT organizations.

The argument here is pretty simple, most IT organizations rarely invest that big capital in their R&D efforts and, instead, spend to adopt the old and well-established enterprise technologies which, in turn, puts very little pressure on the enterprise vendors to innovate. Seriously, why would SAP, IBM or Oracle bother to innovate in their technologies while we keep paying hundreds of millions for the same painful technology packages they developed 10 years ago?

Business Focused Not User Focused

A good software technology makes good Xs, a game-changer software technology makes great users of X!

For years, organizations have adopted enterprise software solely focused on business centric functionalities and have paid little attention to the user experience of the technology itself. This seems almost ridiculous once we realize that users are the key element to bridge software technology and business processes. Making enterprise users more productive is very often the fastest path to make your business more productive.

The thing to realize here is that, regardless of what industry you are in, most business concepts like HR or Sales are boring in nature and very slow evolving compared to technology concepts. By always focusing on business and not users, we have created the perfect recipe for designing boring, archaic software.

Forty Years of Neglecting Open Source

What is the last disruptive enterprise software technology that you‘ve seen from Microsoft, Oracle, IBM or SAP? Nothing comes to mind? You might have to go back 11 years to the release of the Microsoft .NET Framework which, arguably, is not an enterprise technology. On the other hand, the open source world as seen a non-stop revolution of software technologies. Ruby on Rails, NoSQL databases, Node.js, Android, Hadoop are just some of recent open source technologies that have changed the way we build software applications in recent years.

For decades, lots of large enterprises have been fearful to adopt open source technologies and, instead, have focused on embracing commercial software from big enterprise vendors. Consequently, those organizations have missed the opportunity to embrace various waves of innovation in the open source world that would have helped enable new types of business agility.

By neglecting open source, enterprises has closed the doors to a lot of fresh, new and innovative enterprise software solutions that could have drastically improved their organizations.

Risk Averse Mindsets

Let’s face it, most IT organizations are really afraid of change. Haven’t you heard that “nobody ever got fired for buying IBM”? Well, maybe people should get fired from “buying IBM” from time to time. By only adopting IBM, Oracle, SAP we are fomenting a culture of safety, a culture of fear of risk, a culture afraid of change and innovation. Innovation doesn’t happen without taking risks and without a few failures.

By always “buying from IBM” we are giving the IBMs of the world the perfect excuse to keep building crappy software.

Always Cutting Costs

Investment in IT is, very often, not very high in the priorities of organizations. Very often, IT initiatives are subjected to drastic cost cuts due in order to prioritize other business initiatives. Budgetary constraints tend to more routinely affect areas like infrastructure systems which don’t directly deliver business value but they are instrumental in order to enable business applications. This type of mindset has caused IT organizations to rarely focus on innovation and, instead, prioritize other business focused initiatives. As a result, those IT organizations keep constantly falling behind the times in the technology cycles and losing the passion for building great applications.

It is important to realize that innovation requires systematic investment and is not something that you solve by exclusively throwing money at it. Innovation requires more than financial resources. It requires talent, passion, knowledge and having a solid infrastructure to build upon.

Long, Big Technology Adoption Cycles

Most IT organizations still have the same long technology adoption cycle of the 1980 -1990s when enterprise software was almost seen as a luxury. Given the fast pace of technology, these long cycles have caused organizations stay behind the technology curve. Additionally, taking long periods of time to adopt enterprise software technologies significantly affects the capability or organizations to innovate and to stay youthful.

Things are Changing

Despite all of this, it is important to mention that I don’t consider enterprise software a lost cause. On the contrary, I see enterprise software as one of the biggest opportunities to drive change to the business world. If you think about it, companies invest 2 trillion dollars every year in enterprise software. The US Federal Government alone spends around 80 billion dollars in IT. That’s significantly more that most consumer markets.

Every day companies like Atlassian, Thoughtworks Studios, Box, Yammer, Jive, Tellago Studios and dozens of others go to work trying to bring innovation to the enterprise space. Although we have to battle a lot of the circumstances examined in the previous sections, there are a few elements that are bringing a new wave of change to enterprise software.

Generational Changes

As new generations come into the workforce, companies will be forced to embrace new communication, social and learning patterns that are more tailored to newer generations. Hopefully, those generational changes will start driving more simplicity and better usability to enterprise software packages and to businesses itself.

Cloud Platforms

The emergence of cloud computing platforms has opened the door for massive waves of innovation in enterprise software.   Whether we are talking about platform, infrastructure or software as a service, we have to realize that these platforms are playing a key role in democratizing technology and infrastructure. Nowadays, startups have the same technology at their disposal than the big enterprise vendors.

Social Computing

Social networks are part of our everyday life and it’s just a matter of time before they become mainstream in the enterprise. Companies like Yammer and Jive are leading a movement that will, inevitably, end up making social computing a key component of any enterprise software package. By introducing social computing aspects in enterprise applications we will implicitly start changing those software packages to be simpler and better suited for collaboration.


I will argue that most enterprise applications in the upcoming year should have a mobile component. Mobile interfaces will inevitably drive simplicity to enterprise software packages. Fortunately, as powerful as some of the big enterprise vendors are, they can’t change the size of the screen or the touch interface of an IPhone. In that sense, enterprise software technology will be forced to adapt to the new world in which mobility is an essential component of how we conduct business.

What do you think?

Does enterprise software sucks?

 Can we change it?


Posted by on July 7, 2011 in entrepreneurship, startups


Tags: , , , , , , ,

14 responses to “Enterprise Software Sucks but it Doesn’t Have To

  1. David Abrams

    July 8, 2011 at 2:07 pm

    In my opinion the source of the problem is simple: Consumer software is purchased by the persons who will use it. He or she cares if it is easy to use. Enterprise software is purchased by the person who will only see the reports (printed by someone else). All he or she cares about is the reporting. Thus selling enterprise software is all about reportings and not the user experience.

  2. Wong Boon Hong

    July 8, 2011 at 2:12 pm

    My consumer backup app always works while my company enterprise backup app which cost 100x more either show backup failure or simply freeze up!

  3. jesusmrv

    July 8, 2011 at 2:19 pm


    You are totally right but I think user experience is only one piece of the puzzle. There are many other factors that force innovation in consumer software, not only from the user experience but also from the infrastructure, delivery mechanisms, etc that have no equivalent in the enterprise.


  4. jesusmrv

    July 8, 2011 at 2:20 pm

    Hi Wong,

    Then you have an opportunity to challenge the status quo and change that market 😉


  5. Robert McCarter

    July 8, 2011 at 6:17 pm

    I think Microsoft is actually doing a fairly good job of innovating. Easy examples are LINQ, WPF, Kinect, the Office Ribbon, or the TPL. Microsoft’s MVC framework with Razor is very cutting edge, adopting many concepts and accelerators from Ruby on Rails.

    How much of this is making it into the IBM/Oracle controlled enterprise? Very little; but they are certainly new and innovative technologies.

  6. jesusmrv

    July 8, 2011 at 6:41 pm


    You are right in the sense that Microsoft has managed to stay in the game in a better position than Oracle and IBM but I don’t considered any of the technologies you mentioned a game changer, Kinect certainly is but it doesn’t have a widely adoption in the enterprise yet. LINQ is a super unique technology but not a game changer. WPF didn’t really see any major adoption and ASP.NET MVC is was a reaction to the Rails movement.


  7. lake flambe

    July 8, 2011 at 9:58 pm

    Interesting thoughtful article. But you need to concentrate more on vendor lock in. For example, if
    you are deeply invested in using the oracle database, you can count the interfaces on one hand that can do crud with oracle. Open source doesn’t do oracle! If it did, you’d see way more oracle
    shops using open source software. That’s the problem. What is the solution? If open source were willing to stop avoiding proprietary backends that would be one way out. Since open source doesn’t do proprietary databases, it greatly benefits the enterprise vendors who can compel the customers to use their enterprise interfaces simply because there are no other solutions that talk to their database.

  8. jesusmrv

    July 8, 2011 at 10:21 pm

    That’s a very interesting point and something that is a real problem with some open source technologies. I don’t think adopting open source is a silver bullet to fix enterprise software and I truly hope it come across that way. I was simply expressing that totally neglecting open source doesn’t seem like a good idea either, particularly given the amount of innovations that is happening in the open source space. I personally find pretty ridiculously some of the anti-open source policies that exists in some enterprises. They are mostly based on prejudices instead of in technology quality.


  9. Geraldo Coen

    July 10, 2011 at 3:00 pm

    Very good post. Important ideas.
    I have myself a whole blog dedicated to this serious problem of enterprise software. See my post I started the blog in Portuguese – perhaps you undestand it – but most recent posts are in English. It is a repository of ideas and pointers to papers on this subject and related subjects.
    I agree with your ideas. I think the problem with Enterprise Software goes deeper. It has to do with software for enterprises not being software at all. I mean software that can be extended and modified, not closed proprietary products. The dynamics of the software market for Enterprises has the big vendors developing more and more closed software. Non-programmable. Even by themselves. Customers buy these closed products for the reasons you mentionned in your post: no-risks mentality, short term decisions, believing they will go to market quickly and forgetting that with closed products they loose competitive differentiation.
    I call these products specific machines, as opposed to universal machines: Turing, Von Neuman, and every open source software, not necessarily free software. I think that good Enterprise software should be programmable. Software architects should design an universal machine adequate to their Enterprise customer.
    Thank you,
    Geraldo Coen

  10. PKW

    July 11, 2011 at 12:49 am

    Yes, most open source doesn’t do Oracle.

    It’s not because they don’t want to, it’s because of the cost and the difficulty of getting testers. When the company I work for decided to switch from J2EE to PHP and Symfony we needed to get support for our Oracle database. I spent a couple of weeks testing and filed a number of bug fixes to the Doctrine group and now Doctrine and Symfony support Oracle.


  11. jesusmrv

    July 11, 2011 at 1:48 pm

    Hi PKW,

    I disagree about your comment on Oracle. The DB marketplace its been reinvigorated with a lot of new and exciting technologies such as NOSQL DBs which, most of them, are delivered as open source packages. Whether is true that Oracle and MSFT have dominated that market in the last few years, they are both currently struggling trying to keep up with the amount of innovation in that field.


  12. austin

    July 11, 2011 at 2:03 pm

    @lake flambe
    your claim that open source doesn’t do proprietary databases seems incorrect. for instance on my computer right now is a program called sqsh used to communicate with a sql server database and PHP has, to my knowledge, native support for sql server, there are libraries for connecting to oracle from php, and libraries for building open source software that can connect to oracle databases.
    but there are a lot more for open source software, mostly because its easier (the software is known to a heavy extent so no reverse engineering is needed), its guaranteed legal (no issues that your means of connecting to this databases is somehow breaking a software patent the company owns), and most importantly its free to work on.

    as for the article, i think one of the biggest things holding back enterprise software is the fact that to many of the CEOs and such of major businesses IT is synonymous with magic. they dont know how it works, may not even be able to tell if its NOT working, and in the case of security certainly cant tell when it IS working (because not being hacked and no one TRYING to hack them looks the same from the outside) generally you get something like this:”person a says they need program X” then they run the budget and if they can afford it they get the program, no time is spent on “is there a cheaper version” or “is their a better version” case in point earlier our art department wanted to make a 3d animation from a model made in another software, they wanted to get 3Ds max for a cost of a few thousand dollars, i suggested blender for a cost of 0 dollars. so often you get those things where someone wants to do something and just pick a name they have heard, 3ds max could certainly do what they want to do but why would you spend that much for it.

    and IT is no exception, so often you get people in IT and when they need a server they think “IIS” when they need to make a program they think “.net” so a good amount of that is just the way businesses think, CEOs or veteran IT have a certain way of thinking about these problems and thats how they always think about them, they lag behind advances in software because they are focused somewhere else.

    i think for this reason, enterprise is where software companies go to die, like a star shedding its outer layer and shrinking into a dwarf star, companies that cant keep up with technology, that cant keep up with the increasing demands of users and quickly adapt, find resources from other businesses who ALSO cant keep up with technology before both slip into obscurity.

  13. CoreAn_Crack3rZ

    July 20, 2011 at 4:58 pm

    I think its because companies want to get softwares fast and cheap (which should not be the case). Worst part, developers always say “We can do that in no time! (with a big smile)”.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: