ERP, CRM, ECM – Enterprise software can be incredibly frustrating. For some reason, special rules seems apply. I think it is somehow related to the fact that enterprise things tend to change rather slowly. And even more so in Germany. But they do change, no matter whether vendors object and stick to historical principles. The motivation for this post originated from one of the worst enterprise software experiences I encountered. It summarizes what I personally expect from a contemporary product.
Get you started easily
It should be in the best interest of any software vendor to offer a pleasing user experience – in general and for developers in particular if enterprise software is your kind of business. Usually the product will have to integrate somehow. I expect to get playing quickly and painlessly. Provide me with a download and a basic installation procedure. At the try out stage, I don’t care about all the bells and whistles which might need tweaking at some point. I want to get a basic feeling of the product. Please don’t tell me the product is super sophisticated and powerful and hence requires one week of your consultant to set it up. If that happens to be the case, the product is broken. Check out MongoDB, Riak or Elasticsearch (or even Alfresco) to get an idea what I am talking about – delightful in this regard.
Given that enterprise software requires integration work carried out by developers, you should better make sure not annoy them too much. Major painpoints include long turnaround (probably involving server restarts) and lack of public access to (read : googleable) documentation. Why developers matter ? Because at the end of the day, truth is that developers often end up using what they want to use. Their influence on how things evolve is quite strong. You may want to check out the Redmonks predictions page from the references. John Newton from Alfresco seems to have realized that years ago – engineering culture matters … and the enterprise needs a little overhaul. That does not necessarily mean github punks have to invade. Just look at the Alfresco-EMC vendor comparsion and choose for yourself.
Obey the Unix Philosophy
Implement functionality exceptionally well, leverage others where they are really good at and prevent overlap. At the very least, follow the “Rule of Composition” (but the others should not hurt either). I could come up with countless examples of useless features shipped with enterprise software. Paying customers expect serious functionality unless explicitly stated otherwise. Do not frustrate them with immature solutions not labeled as such – not even for free. It will fire back. At the Alfresco Devcon Keynote in Berlin, John Newton said Alfresco will be focusing on what they do really well. That has not always been the case in the past.
Provide excellent support for RESTful HTTP communication – client and server side. The glory days of CORBA, DCOM and RMI are over. Today we know HTTP has beautiful properties for general interprocess communication. On top of that it is the protocol of the cloud.
Embrace the Cloud
Like it or not, applications are moving to the cloud. Cloud issues (legal, security, extensibility) are all being addressed. The application in the cloud will soon be a massive competitive advantage for various reasons – TCO, availabilty, manageability, scalability etc. Sure some people operating on-premise systems might not like the idea, be scared of the cloud and hence object. But it is too late for the most part : “The suits have taken over”. ;)
Open Source is of course what we all like most. But it is not a must. I can happily work with closed source software which has a healthy community and information I can find using google. Conversation behind closed doors raises suspicion something is wrong with the company or the product.
No Marketing Nonsense please
Terms such as “integrates seamless” or “modularity” seem to be popular among software marketers. To me, they immediately make an ugly smell when they are not backed reasonably. Sure nobody wants a seam or a huge monolithic island. Everybody wants it smooth and pluggable. But please marketeers – back these terms or leave them. And please if you say “future proof due to standards” – drop at least one word or two which standard you are referring to. Standards are not a good thing per se. In fact, praising them in general also makes a smell for me.
The best (very special) feature advertised in my case was the fact that “data is safe in your RDMBS”. Great, I really appreciate my data being safe. In practice, that boiled down to roughly 40 “meaningful” named tables per tenant. Meaningful in this context meant most of them were called “data_n_m” with a bunch of columns “value_m” and n being the index of the tenant.
- Unix philosophy
- IDC-Studie: Cloud Computing in Deutschland 2012 – Evolution der Revolution
- Cloud decisions are no longer in the IT department’s hands – the suits have taken over
- Redmonk predictions and what we really do in IT
- Cloud-Security [quora]
- Does a good engineering culture matter?
- The Enterprise Is Cool Again, and Box CEO Aaron Levie Is Loving It
- Documentum to Alfresco Migration – Comparing Company Visions