Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^4: Does anybody write tests first?

by chromatic (Archbishop)
on Feb 22, 2008 at 21:34 UTC ( #669649=note: print w/replies, xml ) Need Help??


in reply to Re^3: Does anybody write tests first?
in thread Does anybody write tests first?

Those workmen have nothing to do with “the compiler.” To continue your peculiar analogy...

Construction workers take the complete design for a structure and build it, in the same way that the compiler takes the complete design for a system and builds it.

If natural-language specifications were sufficient for design, we'd feed them to compilers. (We'd also call that source code.)

When people spend $30,000 or so on an addition to their houses, they take for granted this sort of discipline.

I don't believe that. I've worked in construction and two of my friends work in industrial construction. Static, up-front design with no changes allowed after the implementation stage has begun doesn't work there, either... and physical construction is less malleable than source code.

You don't think of your salary as an expense.

If you asked me what I think instead of telling me what I think, you might realize that what you think I think and what I actually think are two very different things.

Replies are listed 'Best First'.
Re^5: Does anybody write tests first?
by doc_faustroll (Scribe) on Feb 22, 2008 at 21:41 UTC
    chrom,

    Don't get testy. ;-)

    Tell us what you think. I presume that this is sundial's style of discussion. nothing more/

      Okay.

      I think that the common definition of success with regard to software projects -- did it meet its original schedule? did it meet its original budget? did it meet its original goals? -- is fatally flawed.

      A better definition of success comes from asking "Does the project provide real business value to the organization? Is that value greater than the investment of time and resources required to build the project? How soon did the project begin to produce that value?"

      The dangerous part of that definition of success, besides that it's totally at odds with the time/budget/scope question, is that it depends on what's valuable to the organization.

      You may be able to guess what's probably valuable in broad terms eighteen months in advance, but I've never seen the specifics stay static for more than a few months at a time, and certainly not in the detail necessary to write software that takes eighteen months to complete.

        Though your point may be somewhat tangential to a test first or even design first discussion, I do take it.

        One of the rewards of this forum for me is coming across an insight or perspective that has some novelty and fitness both.

        Does an actually existing implementation provide value is exactly the question, and how quickly do we realize such value? Nimbleness and ease of reuse and ease of change are valuable, because both business needs and requirements change.

        One of the points that I have seen sundial effectively make before on other threads is the consequence of business needs and the higher order problem of serving business needs effectively through the building of networks and processes and not just somewhat-trivial specific apps.

        Also, to your point, the higher order problems of a google to take one example are not just the apps but the entire network and the nimbleness.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://669649]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2019-10-20 03:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?