What does "enterprise software" mean, anyway?
-
What is "enterprise software" and how is it different from any other kind of software ever? Some context: I'm a Software Engineering student in University, and I've taken an "Enterprise Application Architecture" course last year and have read book cover to cover. I'm not satisfied with the http://en.wikipedia.org/wiki/Enterprise_Software, either. As far as I can tell, "Enterprise Software" is no different from any database-driven software project. For example, web sites like http://del.icio.us that track bookmarks and sites from millions of users... they have to deal with all the same scaling issues as a huge corporation but it's not "enterprise" software. Another example is content management software for a big site. (Does "enterprise" just mean "big"?) The patterns in the aforementioned Fowler book are all characteristics of any decently designed database-driven application, and I don't see what makes them "Enterprise" at all. J2EE is "Enterprise Edition", which would imply that it's used in "enterprise software", but plenty of non-business applications use J2EE, which throws out the "business software" argument. Ruby on Rails has a lot of Fowler's enterprise architecture patterns in it, but what makes a Rails project "Enterprise"? Is blogging software "enterprise"? As far as I can tell with my (limited) experience, "enterprise" just means the software is overblown, buggy, has a lot of messy code and costs a few million dollars. (I read a lot of http://thedailywtf.com and I'm interning at an "enterprise"). So when a teammate on a school project says "We should use C# because it's 'more enterprise'", I cringe and ask "what does that mean"? I still haven't heard a satisfying answer. Does "enterprise software" mean anything to you, hive mind?
-
Answer:
From a technical standpoint, especially in regard to scaling, Enterprise applications *do* share a lot in common with large-scale consumer applications. However, consumer applications don't need to address smackfu's list, and they also neglect a few key concepts that are integral to (good) enterprise software. These are the goals that smackfu's feature list are in service of: * Manageability * Reliability * Predictability * Scalability * Measurability There's also an enormous difference in the way this kind of software is marketed, sold, and distributed. These applications are typically deployed through professional services organizations, after having been sold through a consultative selling process. (See http://en.wikipedia.org/wiki/Sales for info on types of selling.) Often, distribution is through major software distributors, and there are explicit commitments to support and service levels. Finally, most enterprise software vendors also make substantial commitments to their customers in regard to product roadmaps, stability of customization or programming interfaces, and even commitments to development methodologies.
DrSkrud at Ask.Metafilter.Com Visit the source
Other answers
I'm a systems analyst at a reasonably large company, and in my company's context "enterprise software" tends to mean large, scalable, "vanilla" software packages (like our client management system) that allow for easy rollout at various nationwide sites with little in the way of "hands on" implentation support. "enterprise" just means the software is overblown, buggy, has a lot of messy code and costs a few million dollars. Welcome to corporate America. Most "enterprise apps" probably started life as a beautiful, shiny kernel of code that sang arias, but over the years became patched, added on to, and torn apart and rebuilt so many times that it bears little resemblance to the original - and the original developers are probably not around any more to make sense of the mess.
pdb
See http://ask.metafilter.com/mefi/51967 posted half an hour before yours...
kindall
Enterprise software that is sold, rather than in-house: is scalable.has central administration.is customizable.uses standards like LDAP.checks all the boxes on an RFP, like SOX and SAS 70.
smackfu
See this thread posted half an hour before yours... I don't want to frighten you, kindall, but I think you may be able to time travel.
cowbellemoo
In a lot of cases it's just a talking point, a way of saying "this sounds important". In other contexts it does have a shred of meaning to it, along smackfu's list. You can definitely classify some software as "hobby grade" or what-have-you, e.g. if it doesn't have a large organization backing it and selling support contracts, it can't be remotely administered and silently installed/upgraded, etc. But more often than not the word just falls into meaninglessness when used in any kind of non-specific context, when it's not referring to some specific set of features.
Rhomboid
Scale, as others have noted, is key here, as (typically) is uptime/availability, which has led to the concept of "five nines," (99.999% of uptime per year, or about 5 minutes downtime) as a holy grail for enterprise level systems. Small office/home office, and consumer level software/systems don't typically have those kinds of expectations.
kimota
An Enterprise Application often comes with a support package. In other words, some one to yell at/take the blame/fix for free any problems that arise. As an added burecrat bonus, this allows dodgy IT groups to collect/generate requirements rather than solutions, and blame vendors when the solutions don't measure up (regardless of the actual requirements produced). I wonder if that section made it into your text book?
forforf
Scale is a big one. Can the product in question handle thousands or tens of thousands or millions of whatever entities it manages/manipulates? Could you imagine a company like IBM or General Motors with hundreds of thousands of potential users be able to use this product effectively. Control is another one is that is key. Can a centralized group of people control what all the appropriate users can do with a system. Can the appropriate permissions be delegated to others effectively or to scale out administration do you have to handle the keys to the kingdom to too many people.
mmascolino
As far as I can tell with my (limited) experience, "enterprise" just means the software is overblown, buggy, has a lot of messy code and costs a few million dollars. My thoughts exactly. While the answers above are well-thought out and really get to the heart of the question, they lack the required snarkiness of Metafilter, esp. when something as loathsome as "Enterprise software" is being discussed. Without a single exception, every piece of "Enterprise software" my company has purchased has been a horrible choice. It's just unholy how much money we've spent for buggy, messy code that only partially fulfills our requirements. And, anyone that talks about using C# because it's more "enterprise" clearly has little interest in programming. Double goes for J2EE. Your favorite Enterprise software sucks. Really, it does.
mcstayinskool
Related Q & A:
- What is enterprise market solutions?Best solution by en.wikipedia.org
- What is an .emz file and what is the software I need to open it?Best solution by Yahoo! Answers
- What is a 3G network anyway?Best solution by whatsag.com
- What does a software engineer do?Best solution by tryengineering.org
- What are junior software test engineer jobs in the UK?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.