For Programmers: Free Programming Magazines  


Home > Archive > Software Engineering > August 2006 > domains in the software industry









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author domains in the software industry
javacc2@gmail.com

2006-08-16, 9:59 pm

In the software industry, what are the major domains? I try to
understand more what are the major domains and popular ones in the
industry?

1) Enterprise software development
2) Commerical software development

I am always with the terms.

Please advice. thanks!!

Phlip

2006-08-16, 9:59 pm

javacc2 wrote:

> In the software industry, what are the major domains? I try to
> understand more what are the major domains and popular ones in the
> industry?
>
> 1) Enterprise software development
> 2) Commercial software development
>
> I am always with the terms.


Two good ways to chart these are:

- distance to the end-user
- distance to the metal

For games, or shrink-wrapped software, the programmer must submit code to a
publisher, who exploits distribution channels to get to the user. The
distance is very long. For enterprise software, the programmer and user are
under the same enterprise, so the programmer uploads a new version to a
server, and the user downloads it. The channel is very short.

Now for a cellphone, or any embedded appliance, the programmer must directly
access hardware, and must not exceed that hardware's limits. The distance to
the metal is very short. For website software, running on the internet, the
programmer writes high-level scripts, and a lot of hardware runs these
scripts, in various sites, including the user's own computer. The distance
to the metal is very far.

So these two criteria form axes, and you can place any specific software on
this chart. If increasing distance from the user is Up, and if increasing
distance from the metal is Right, then a website should occupy the lower
right corner. The software is close to the user, and far from the metal. A
cellphone is in the lower left corner; close to the metal and to the user.

If you place a lot of software on this chart, they will form little clusters
representing the known industry domains.

--
Phlip
[url]http://c2.com/cgi/wiki?ZLand[/url] <-- NOT a blog!!!


H. S. Lahman

2006-08-16, 9:59 pm

Responding to Javacc2...

> In the software industry, what are the major domains? I try to
> understand more what are the major domains and popular ones in the
> industry?


The Big Three are: Information Technology (IT), scientific, and
Real-Time/Embedded (R-T/E). These can be further subdivided in any
number of ways, depending on the context...

>
> 1) Enterprise software development
> 2) Commerical software development


"Enterprise" usually refers to internal infrastructure that support
other applications in all aspects of the business (e.g., databases) in
an IT environment. Commercial usually refers to any software products
that are sold externally. Commercial products may be generated in any
of the Big Three environments.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
info@pathfindermda.com for your copy.
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH



JXStern

2006-08-16, 9:59 pm

On Wed, 16 Aug 2006 15:02:23 GMT, "H. S. Lahman"
<h.lahman@verizon.net> wrote:
>
>The Big Three are: Information Technology (IT), scientific, and
>Real-Time/Embedded (R-T/E). These can be further subdivided in any
>number of ways, depending on the context...
>
>
>"Enterprise" usually refers to internal infrastructure that support
>other applications in all aspects of the business (e.g., databases) in
>an IT environment. Commercial usually refers to any software products
>that are sold externally. Commercial products may be generated in any
>of the Big Three environments.


Completely agree.

Would also agree that Phlip's "Games" is another category, though I
suppose it fits within the R-T/E category by some lights.

Another axis might be application versus system, that crosses the
enterprise/commercial axis. A third anchor might be networking, or
that might be a differentiator within system.

Within the enterprise space, you might divide by tier, something like
database-middle-surface, and within surface divide by
framework-protocol*-artwork, though with the newer frameworks the
pathological framework-protocol is merging back into a single
category, the way it was with old rich clients (or character mode
apps, for that matter)

Oh, let's see, you might have reporting versus transaction, you might
have transaction versus OLAP, ad-hoc analysis, you might have
mission-critical versus, um, well, who doesn't think their system is
mission-critical? What I was trying to work around to was something
like informational versus life-critical, eg medical systems where
failure is not an option, or at least has to be heavily mitigated.

Another category might be "Apollo moonshot", where there is only one
try, with huge implications for quality and testing.

J.

*protocol being a non-standard term for the data entry and editing and
presentation aspect of a web page, distinct from the html transport
and rendering, which is also distinct from the photoshop artwork
required by any commercial presentation.
Scott Frye

2006-08-24, 7:00 pm

H. S. Lahman wrote:
(snip)
> The Big Three are: Information Technology (IT), scientific, and
> Real-Time/Embedded (R-T/E). These can be further subdivided in any
> number of ways, depending on the context...
>
>
> "Enterprise" usually refers to internal infrastructure that support
> other applications in all aspects of the business (e.g., databases) in
> an IT environment. Commercial usually refers to any software products
> that are sold externally. Commercial products may be generated in any
> of the Big Three environments.
>


In the IT section, under Enterprise Software development, I would argue
that Enterprise doesn't USUALLY refer to software that supports other
applications, though this is an important segement.

I've seen many manufacturing companies that have developers on staff
that spent the majority of their time creating and maintaining custom
applications that are distinct from other software products. They
usually manage information that there is no "canned" application
available to handle and they usually grow from excel spreadsheets that
someone threw together or a quick application an intern whipped up one
summer. Many more of these tiny to midsize applications exist than I
think most we think most people are aware of. In fact, in my
experience, I've seen more of these than the "glue" applications you
refer to.

-Scott Frye
-------------------------------------------------
"The person who says it cannot be done should not interrupt the person
doing it."
Chinese Proverb.
-------------------------------------------------

H. S. Lahman

2006-08-25, 7:00 pm

Responding to Frye...

>
>
> In the IT section, under Enterprise Software development, I would argue
> that Enterprise doesn't USUALLY refer to software that supports other
> applications, though this is an important segement.
>
> I've seen many manufacturing companies that have developers on staff
> that spent the majority of their time creating and maintaining custom
> applications that are distinct from other software products. They
> usually manage information that there is no "canned" application
> available to handle and they usually grow from excel spreadsheets that
> someone threw together or a quick application an intern whipped up one
> summer. Many more of these tiny to midsize applications exist than I
> think most we think most people are aware of. In fact, in my
> experience, I've seen more of these than the "glue" applications you
> refer to.


I would argue these people are doing IT but not Enterprise Development.
IME 'enterprise' refers to software that provides architectural
infrastructure that is shared by many applications. The most common
example is an enterprise DB accessed by many applications but I've seen
it applied to things like a common network interface, inventory control
for multiple remote clients, shared infrastructure for multiple POS web
clients, and interoperability backplanes.

OTOH, OS vendors, RAD IDE vendors, DBMS vendors, and most everyone else
are rushing to automate as much of the "enterprise" software as possible
since, by it nature, it is generic. As more and more enterprise
software is provided OTS, that raises the level of abstraction of what
enterprise developers do. So instead of providing a software for
physically storing and accessing data they provide schema definitions in
a DBMS' RAD IDE.

*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
info@pathfindermda.com for your copy.
Pathfinder is hiring:
http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH



Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2010 codecomments.com