Oh, I
really would have liked it if that were the case in the industry I was in!
In the "mathematical software" industry (ie Matlab, Mathematica, Maple, Octave,
Scilab, etc), the users seem to be highly forgiving, and the support costs are
very small. As long as the core features work, all the advanced features
can be really buggy, it does not matter. There was even a paper published
in the Notices of the American Mathematical Society about this state of affairs
[15 years ago], which helped a little, but its effect has faded with
age.
BTW,
my experience was otherwise the same: bad design or bad requirements were the
overwhelming source of the ``real'' problems. Unfortunately, low customer
pressure has given that industry the complete opposite behaviour: new features
need to be put in, even at the cost of quality, to insure that renewal $$$ come
in. The sad fact is that most of the money in the mathematical software
industry is made from site license renewals. And because those are done by
adminibots, all too frequently the upgrades are not even installed until months
later, if at all !
I
would have much preferred working in an environment where quality
mattered. Because in the environment I was in, the things that mattered
were 1) new flashy features, and 2) backwards compatibility. Extreme views
of backwards compatibility reigned, which meant that all too frequently design
errors were impossible to fix because the buggy behaviour *might* be used by
some user program. Compounded with rapid releases, that produces some
mighty bad software; the only reason that all those companies are still alive is
that ``mathematical software'' is so complex that only highly competent people
can work on such software, and their average coding skills are quite
high.
Jacques
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ruven E Brooks
Sent: March 8, 2005 3:37 PM
To: [email protected]; [EMAIL PROTECTED]
Subject: RE: PPIG discuss: Competence (was: About natural naming)
Regardless of the legal implications, software developers/vendoers DO get charged financially for
the mis-behavior of their software. The charge comes in the form of support costs which in many
organizations exceed development costs.
In my organization, that fact has had a huge impact on the way we do business. As is often stated,
and our experience supports, the biggest source of bugs/support problems is bad design or bad requirements.
Often, those bad requirements have to do with what platforms/other software our products need to support.
Coding errors are relatively few, far between, tend to get caught early in the development process, and are
cheap to fix. Furthermore, brutal experience has shown that we're much better off delaying a new feature
than releasing a buggy version.
In this environment, going off without a reviewed spec, including a test plan, and plunging into the coding will result in the programmer being
offered an opportunity to gain further experience at a different company. They might even be able to take their manager
with them!
Ruven
