Dave Thomas says, "A prototype is like a town in a western movie. It's all facade. There's nothing behind it. You cannot move in a raise a family in one of those houses."
Read this Artima.com interview with Pragmatic Programmers Dave Thomas and Andy Hunt:
http://www.artima.com/intv/tracer.htmlHere's an excerpt:
Dave Thomas: The software analog to firing heavy artillery by calculating everything up front is saying, "I'm going to specify everything up front, feed that to the coders, and hope what comes out the other end is close to my target." Instead, the tracer bullet analogy says, "Let's try and produce something really early on that we can actually give to the user to see how close we will be to the target. As time goes on, we can adjust our aim slightly by seeing where we are in relation to our user's target." You're looking at small iterations, skeleton code, which is non-functional, but enough of an application to show people how it's going to hang together.
Basically, it all comes down to feedback. The more quickly you can get feedback, the less change you need to get back on target. What do you think of Dave and Andy's comments?