Early in the evaluation process I found myself looking for a formal definition of “enterprise-grade” software.
Any number of Google searches brought up only terabytes of white papers, press releases, and other marketing materials promoting various “enterprise-grade” solutions. At last, in frustration, I searched for: “what the f*** is enterprise grade” … and hit paydirt.
Here’s one of the better explanations, courtesy of the P5EE Project:
Enterprise Systems are systems which have the attributes enumerated below.
When systems have these attributes, they are such that large enterprises can invest substantial corporate resources in them.
- Availability – the assurance that a service/resource is always accessible
- Scalability – the ability to support the required quality of service as the load increases
- Reliability – the assurance of the integrity and consistency of the application and all of its transactions. The ability to provide a required reliability service level depends on the close coordination of the hardware, networking, operating system, storage subsystem, application framework, and application software.
- Security – the ability to allow access to application functions and data to some users and deny them to others
- Interoperability – the ability of the system to share data with external systems and interface to external systems.
- Leveragability – the ability that stored data, programmed logic, and other system resources available anywhere in the enterprise should be accessible from everywhere in the enterprise
- Maintainability – the ability to correct flaws in the existing functionality without impacting other components/systems
- Extensibility – the ability to add/modify functionality without impacting existing functionality
- Manageability – the ability to manage the system in order to ensure the continued health of a system with respect to scalability, reliability, availability, performance, and security.
- Portability – the ability of the software to run on a variety of hardware and operating system configurations
- Accessibility – the ability to access system functions through different user agents and in different human languages
Other attributes suggested have been:
- Longevity – the assurance that the tools and technologies the system is built with will continue to work and be supported far into the future
- Popularity/Buzz – the assurance that since other people are using the same technologies that (1) there will be a sufficient talent pool to maintain it, and (2) if there are problems, the manager who selected the technology won’t be hurt politically within his organization
And here’s a (mostly serious) summary courtesy of warpspire.com:
So let’s set this straight here. Enterprise Software is software running on an Enterprise Architecture which itself is defined as a software architecture exhibing attributes of an Enterprise System which is defined as Enterprise Software running on an Enterprise Platform which is simply a Enterprise Software exhibiting qualities of an Enterprise System.
So there we have it … “enterprise-grade” defined. Now we have some kind of standard by which to evaluate the “enterprise-ness” of candidate products. This should be interesting!
Thanks a ton………helped me to get inisght into enterpise systems