> It is folly to believe something you have never
> experienced directly.  

I certainly feel that way about some things. 
Sometimes, though, I think a certian amount of folly
is necessary to generate a wild idea that actually
turns out to be true.  I don't know that any wild idea
will work, but I have to beleive in it to try it.

That's worked for me.

>       First, define defect-free.  Do negative user
> experiences count as "defects"?  Is the set of
> defects merely the set of all calculations?  Is the
> inability to deal with data corruption a defect? 
> You could define an infinite amount of unit tests
> for any given application, so "defect-free" is an
> unqualified statement.

I'd rather go with an empirical approach.  Whenever
I've tried to define 'defect' with words, I've fallen
flat.  What I do know is, and my experience has shown
it to me, is that a group of customers and programmers
can get together, look at all the 'stuff that goes
wrong' and decide what is a defect and what is a new
story without too much debate.

Now, if we fix all those defects when they are found,
and then make sure we do things to stop them from ever
occuring again, is it a far stretch that we can get
defect free software?

> 
> But I believe that some notion of software that
> will satisfy everyone and will never in any
> situation crash or run through a bug, is a goal that
> is inherently unreachable and is an illegitimate
> perversion of reality.  

First, I don't think that software should satisfy
everyone.  I think that it should satisfy your target
market.  That's part of what business value is about.

Second, my team has written software that does not
crash.  One of the first user stories was "Software
does not crash ever, ever, ever".  So it doesn't. We
thought that was a really silly requirement, to be
precise.  But our first coach didn't think so.  And so
he pushed us to find a solution.  And we did. Now, we
fail fast, get a rich set of information about any
problem that occurs, and the software continues on. 
If we didn't beleive it was possible, we may never
have done it.

> Everything is essentially untrustworthy to some 
> degree, ... Everything is in constant change, and
> although the fabricated realities we create in code
> would seem to belie that, they still exist in a
> world that is predicated on time and change.

Everything changes. Sure.  But that doesn't mean that
solutions can't be right for certain points in time. 
It also doesn't mean that evolutionary design is about
making a flawed system less flawed over time.

Chris.




=====
---------------------------
C H R I S  W H E E L E R
Extreme Programmer & Coach


                
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - Find what you need with new enhanced search.
http://info.mail.yahoo.com/mail_250


To Post a message, send it to:   [EMAIL PROTECTED]

To Unsubscribe, send a blank message to: [EMAIL PROTECTED]

ad-free courtesy of objectmentor.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to