jrefactors said:
I try to compare enterprise application development with traditional
software development. Looks like the major difference is that
enterprise application development has deployment phase, but not in
other applications such as desktop applications.
Where are you getting this stuff?
"Enterprise" development is a big sexy word for "in-house" development.
Compared to "shrinkwrap", you can cheat on a few issues.
The pipeline to your customers is much shorter. You typically don't need to
find a way to make them pay for your software. In return, you give them
_exactly_ what they ask for, not what your marketing department tells you
might sell.
Because the pipeline is shorter, you can take many shortcuts. You might need
to build full-featured installers, or localize to many languages, or adapt
to many different kinds of databases. Because so many technology decisions
are already made, you can save time hard-coding links to specific databases
and other "enterprise" applications. None of these links must be
"productized", or made optional.
These forces allow you to focus on giving specific customers exactly what
they need. That's why "enterprise" is lucrative if you do it right, like
Thoughtworks does. And it can be lucrative if you do it "wrong", too. The
right way is to deploy teams to enterprises to help customize the computers
at the centers of their businesses. The "wrong" way is to build One True
Program that can configure and tweak and deploy to any possible enterprise.
That kind of program is typically very lucrative to tune and configure for a
very long time, but not very lucrative to its clients.