> There is a thing called "Quality Assurance" - each stage of
> development must be complete and 100% correct *before* moving
> on to the next stage of development.
This really reveals that you've not worked as a programmer. If moz was
developed this way, we'd be lucky to see 1.0 before the 22nd century.
It also requires a fixed system design before coding begins. The design
of software is very rarely fixed for any period at all. Someone always
pipes up with "but can't we just add this?". In moz's case, several of
the standards being aimed at are moving targets, not to mention the
Operating Systems being aimed at - we've had at least 3 new versions of
windows since the Mozilla project started (Win 98 SE, Win ME, Win2K) with
another to come in the near future (Win XP). How many iterations has the
Linux Kernel been through? Mac OS has changed completely (to OS X). Not
to mention patches to system libraries left, right and centre. Every one
of those changes will have knock-on effects.
Very often, flaws in the design do not become apparent until people start
to write code, or even until the code is up and running. This is
unavoidable. Fixing design flaws may then require changes to code already
written. Those changes may then have knock-on effects.
There are also instances where it is impossible to prove that a chunk of
code works properly UNTIL several other chunks have code have been
written. There are instances where a single typographical error can cause
a subtle problem which is only noticable in certain very rare
circumstances.
Scientific American did an article on software development about 12 months
ago : it was referring mostly to Win2K, which is considerably bigger than
Moz, but most of the points made apply to any software development.
In short : no battle plan _ever_ survives contact with the enemy.
Something always goes wrong. Yes, programmers can code in ways to reduce
the probability of errors occuring, but there will still be problems.
Good design helps, but there will still be flaws in the design. The
bigger the programme, the more errors you get.
In simple, absolute, terms, mozilla is a HUGE project (I assume there are
people about who can give us a rough line count on the source code?).
Yes, there are bigger projects, but Moz is still BIG.
The aerospace industry goes to extraordinary lengths to ensure that their
software is bug free (quite rightly, because bugs in their software can
literally KILL PEOPLE).
They end up with 60kb programmes, with only a few hundred or thousand
lines of code, which operate on fixed hardware, that have been designed
down to the Nth degree, reviewed every which way but sideways, tested for
months on end in both simulated and real environments, and STILL have bugs
in them.
Perfect software is not possible within reasonable timescales and costs.
Period.
</rant>
--
gav
Playing: Deus Ex; TFC1.5; Now Reading: Don't Panic etc., Neil Gaiman;
Just read: Yes, School's Out, Michael Sheard; The League Of
Extraordinary Gentlemen, Alan Moore et al.;