I am reading the book The Pragmatic Programmer and read about the Tracer Code and Prototyping, but I don't understood when to use Tracer Code instead of Prototyping.
As I understood about Tracer Code, I try to hit the target implementing a code that the customer can test in practice and provide me feedback in real time, and the implemented code is a part of the final system. When I do Tracer Code it must be as a standard project with all good practices and a architecture(a skeleton, not all implemented). However Prototyping is a disposable code where I use it only to learn requirements from customer. After learning from the customer I must throw away the prototype.
When I must use Tracer Code instead of Prototyping? Can I use both?