Mama Cass Elliot wrote:


> <snip>
> Find out exactly what the End-user (or equivalent) is needing.


This step here is the impossible one.

The end users for Mozilla are potentially:

- developers (Mozilla as a platform!),
- businesses, and last but not least
- everyone in the world who uses the web

Now... trying to write a set of requirements for Mozilla for these 
potential users is a vast task, one that would take years to accomplish 
on its own... let alone writing any code.

 

Worse than that is that people are fickle.  Consider the following: 
You've got your spec.  You write your code.  It's perfect, bug-free, and 
100% to spec.  And then the users all simultaneously cry: "Ya, it's 
good, but it should be able to do <insert unforseen feature here>". 
You've just got yourself millions of potential new bug-sources, and the 
users won't be happy until you give them what they want.

Writing bug-free code is within the realm of the accomplishable for 
smaller projects, or ones where the requirements are well defined and 
are unchanging... and your friend's courses would apply beautifully to 
those projects.  The problem is that Mozilla doesn't fit into either of 
those categories.


> <snip>
> Of course this all depends on accurate and complete systems analysis, and 
> an accurate, complete description of the application's internal logic prior 
> to writing the first line of code - something that many [most?] programmers 
> seem unwilling to do.


Strangely enough, many will.  Or at least the good ones will try.  The 
problem is with those changing specs again.  When the specs change, the 
systems analysis has to be redone... and that isn't practical.

You're right in that we should always strive for bug-free code... but 
that's in the same realm as the weight-lifter always wanting to lift one 
more pound... he never quite gets to infinity, now does he?

Eric


Reply via email to