Agile, Early Feedback, Sprint.
functionality but is not throw away code. It is of production quality and rest of the iterations can build on this code. If you are following Agile, I would recommend the tracer bullet approach because you get the benefits of doing a spike and that too which results in production quality code. It