views:

324

answers:

5

Duplicate of:

What makes an application an “enterprise” or “enterprise-level” application?

After reading Wolfbyte's answer on Enterprise FizzBuzz I have thought about what constitutes a program as "Enterprise".

What makes an application or a software development process as Enterprise?

EDIT: It seems like there is a lot of negativity around the word Enterprise. Are there anyone who actually enjoys writing Enterprise-Level applications?

+5  A: 

Slow. Hard to use. Expensive. Based on obsolete technology. See the rails plugin "acts_as_enterprisey"

I kid.

Seriously though, it generally refers to things written for use by Fortune-1000 types, where there are large numbers of users and complex business rules.

Tim Sullivan
+3  A: 

An Enterprise Application usually something that has multiple tiers and runs on many machines and is designed to fulfill the needs of an larger organization. In practice it usually has a database backend, business logic middle tier, and some kind of frontend like a web interface. Likely has performance and high availability requirements, as well as backup, logging, auditing, and authentication.

John Ellinwood
+6  A: 

What "enterprise-level" really means is:

  • Compatibility with architectural schemes and long-term technical plans that overarch anything you or your team will ever do, and thus cannot be changed.
  • Conforms to governance requirements
  • Expensive to build and maintain ;)

Has the following qualities:

  • Maintainability
  • Scalability
  • Functionality
  • Reusablility
  • Reliability
  • Understandability
  • Usability
  • Modifiability
  • Testability
  • Portability
  • Efficiency
  • Flexibility
  • Modularity
  • Interoperability

As far as "enjoying" writing Enterprise-level apps, it can be difficult to do so because one of the characteristics of an enterprise system is that it's larger than any one person. People usually enjoy their work because they can take ownership of it, but enterprise development isn't really "owned" in that sense, rather it's "produced" through a rigid, complex project path guided by acceptance gates and steering committees and business project owners.

Rex M
Does "Enterprise-Level" application also have to follow rules like, say like Section 508 for web sites?
Sung Meister
"Enterprise-level" is a very vague, fuzzy term that *implies* the things I listed. It doesn't mean they *have* to have anything, necessarily. Enterprise is about complying with governance requirements, which could include 508 compliance.
Rex M
Thank you for clarifying the concept.
Sung Meister
The majority of people who work on such software probably don't even use the term. In a sense they're a little bit like one ant in a colony, but mostly its because they seldom get involved in anything else like departmental software or office level automation tasks.
Bob Riemersma
+5  A: 

Think about all the things that you, as a programmer, care about in a software product. Now think about all the things that you, as a user, care about in a software product.

Now forget about all of those things. Enterprise software isn't purchased by users or programmers. Requirements like "intuitive", "fast", or "interoperable" just don't apply.

Instead, they must meet requirements such as, "vendor published big fat whitepaper full of words like 'fast', 'intuitive', and 'interoperable', so when the peons complain that it makes their jobs more difficult we have something to point at while writing 'difficult' into their employee records".

Shog9
+1: And "vendor has been in business a long time" and "vendor has code escrow with indemnification clauses in their contracts" and "vendor just bought competitor with better product"
S.Lott
+1: That's a mind-twister ;)
Sung Meister
Enterprise *can* mean that, but it doesn't always have to.
Rex M
+3  A: 

If you're an ordinary developer, it's anything bigger than what you're working on now.

If you're an architect, it's the stuff you did at the last client.

If you're the CIO, it's all the stuff that "really matters" -- the stuff above baseline, keep-the-lights-on operations.

If you're in sales, it's what you're bidding on.

If it's your product, of course it's enterprise-ready. You just spent a year making it "scalable" so it would grow to support "the enterprise".

If it's open source, of course it can't be enterprise-scale. Nor, for that matter, is your competitor's product.

And, of course, it varies by client. For the $1B per year companies, a few Oracle financial reports was an Enterprise Initiative. For a Fortune 100 company, almost nothing is really "enterprise" because the entire enterprise is so big and globe-spanning that it's hard to comprehend any one thing that actually fits all the nooks and crannies of that conglomerate business.

Usually Enterprise is used in the negative. "Your software/service/product/offering isn't enterprise ready" or "Open source isn't suitable for enterprise computing".

S.Lott
I belong to the very first category - an ordinary developer.
Sung Meister