TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Matthew S. Whiting" <[log in to unmask]>
Reply To:
Matthew S. Whiting
Wed, 6 Nov 1996 20:46:40 -0800
text/plain (99 lines)
I've read the greatly increased number of messages the last 48 hours with
some interest.  I work for a Fortune 500 company that, until recently,
developed virtually all of its manufacturing systems (real-time process,
machine and motion control; plant floor information systems, etc.)
in-house using 3rd generation languages and tools.  As the leader of a
group that develops real-time control systems, I've been trying for 10
years to introduce Ada into the solution set as a replacement for Fortran
and now C.  I don't have great expertise in Ada, but I DO have some
expertise in software engineering and some of the topics discussed here
the past couple of days.

Regarding COTS (buy) vs. custom (build), I'm not yet a big fan of COTS in
a broad sense.  My experience is that COTS solutions are invariably slow
and inflexible if used in any way outside the exact design target for the
software (which is virtually any use as all).  My employer recently went
through the most recent management fad known as re-engineering (aka
downsizing) and at the same time jumped whole hog on the COTS bandwagon.
 Two years into it, we're now starting to take on water heavily and are
running short of buckets with which to bail.  Many of our best software
people left the company when they saw that their most likely career path
was little more than a glorified assembly job (albeit software assembly)
and the rest became COTS package configurers (is that a word?) and are
rapidly losing any real software engineering skills.  Sounds good, right?
 Buy some packages at what seem like bargain basement prices and then
plug them together and go.  Trouble is, most software companies don't
work well together and there is much "glue" required to hold the pieces
in place.  Guess what skills are required to write the glue code?  The
same ones formerly used to develop custom software systems!  Guess what,
those skills disappear quickly when management makes it clear that
software development is no longer valued activity.
And the skills required to troubleshoot the glued up COTS solutions are
also the same skills formerly required to develop software.  Guess what,
people whose only skills are configuring packaged software, aren't worth
a plug nickel when it comes to debugging complex networked systems of
packaged software from myriad vendors.  And, guess what else, the vendors
aren't real interested in solving your "system" problems, only in proving
to you that the problem belongs to the "other guy."  Before you tell me
that the answer is "system integrators", I'll simply say, "been there,
done that."

As for making a business case for virtually any decision in corporate
America, this is basically a euphemism for making the "lowest initial
cost" decision or the "everybody else does it this way" decision.  We
switched from Fortran to C, based almost entirely on the rationale that
"everybody else uses it."  We've paid for that decision many times over
in our custom control systems.  Every financial calculation has myriad
assumptions behind it, and, IMHO, the biases of the financial types who
are decidedly short-term oriented.  Sometimes you have to do what is
right simply because your experience ("gut feel") tells you it is right.
Almost no new product or technology was developed because there was a
"business case" for it.  It was developed because someone had a vision
and knew it was the right thing to pursue.  Everything from the light
bulb to the Apple II...

Lastly, I've seen some intimation that software maintained by a
commercial vendor who sells to the commercial market will somehow be
magically maintained indefinitely at low cost.  Not true!  Software and
hardware products companies only maintain a product while it makes
"business" sense to do so.  Having had two generations of hardware and
operating systems obsoleted by the vendor (a major computer company with
ties to an old textile mill :-) ) with virtually no advance warning, let
me tell you that the only thing more costly than maintaining a product of
your own design and construction, is doing an emergency port of your
system from one vendors solution to another's!  And this was in the case
of owning the source code.  If you are using a commercial software system
that is obsoleted, you don't have the option of a code port, but must
re-implement from the requirements level.  Trouble is, when people start
assembling systems from purchased components and software packages,
especially if they are "visual programming" environments, they get sloppy
and often don't write requirements specs.  After all, it doesn't take any
"real" engineering to assemble the system so why apply any engineering
rigor.  Trouble is, reverse engineering an assembled system "developed"
by many people, often contract labor who leave at project's end, and then
re-implenting on another COTS system is IMO MUCH more difficult than
porting 3GL code to a new operating system.

Sorry for rambling on and I don't like $500 DOD hammers any more than the
next taxpayer, but when I see comments hinting that life will be cheap,
simple and good when the DOD starts emulating the commercial work, I get
nervous ... very nervous.  I've worked 14 years in the commercial world,
am just now seeing the full ramifications of moving to packaged solutions
everywhere from control systems to general ledger.  It isn't a pretty
picture.  I'll predict that this fad too will pass, but only after some
very large companies get suitably burned.  Keep in mind that virtually
every Fortune 1000 corporation in American went through re-engineering
within the last 10 years.  My company was somewhat late in the cycle and
about mid-course some of the data from the early adopters became
available suggesting that 87% of those re-engineered companies were worse
off than before!!  I remember when our CEO was asked about this data at a
communication meeting.  After a long silence, he said "well, we'll be
part of the 13%."  Well, we're now unable to hire the skilled engineers
and technicians we need to take advantage of market opportunities.  $500
hammers look pretty attractive to me when I think about a DOD that begins
to follow the commercial model.  That will be TRULY frightening!  Almost
as bad as universities that now try to follow every whim of their