So what is an Enterprise system? Standard definitions go from the almost tautological:
A system that supports enterprise-wide or cross-functional requirements, rather than a single department or group within the organization.
And into the circular:
- Enterprise System — Enterprise Software running on an Enterprise Platform (which, by implication, has the Attributes of an Enterprise System as defined below)
- Enterprise Platform — A set of computing and networking resources which enable installed Enterprise Software to exhibit the full attributes of an Enterprise System (most often referring to availability, scalability, and reliability)
Even the definitions are over engineered:
A software product designed to integrate computer systems that run all phases of an enterprise's operations to facilitate cooperation and coordination of work across the enterprise. The intent is to integrate core business processes (such as sales, accounting, finance, human resources, inventory and manufacturing). The ideal enterprise system could control all major business processes in real time via a single software architecture. Enterprise software is expanding its scope to link the enterprise with suppliers, business partners and customers.
I've generally preferred a slightly different definition:
An enterprise system is one which will have a major impact on a business whether it fails or works
The sort of major impact that I mean here is generally measured in dollars. It's the sort of major impact that has to be discussed at a board meeting and the sort of major impact that causes notes to appear in the company's annual accounts.
By fail I don't mean a system that goes down for a few hours, although that sort of downtime could of course cause a wider business failure. By fail what I really mean is a systematic failure of the system to manage to perform the task that it needs to do. This in term causes the business to suffer an operational failure which often means the business itself fails.
Of course when these systems work they enable new business areas, or greater efficiency leading to greater profits. Occasionally enterprise systems are required for compliance reasons¹ [1For example the Sarbanes-Oxley Act rules in the US or the FSA regulations in the UK.], but these are much rarer than operational systems.
One consequence of this definition is that the same software in one company would be considered enterprise, whilst in another it may not be² [2This theme of the same thing being interpreted with different severity in different contexts is one that I'll return to many times.].
Enterprise systems have a very bad press these days. A quick read through the posts on http://thedailywtf.com/ shows a huge number of mistakes made in the service of making things enterprisey. Many of the most egregious errors are caused by a simple failure — people thinking that enterprise systems are about technology.
The big news, which really is no news, is that enterprise systems, as much as any other kinds of system are about the users and the business context. They aren't about clever technology, clever programmers or clever anything else.
They are all about a ruthless focus on the business goals and helping the users of the system achieve those goals. The moment that a project team loses sight of that the game is over.