I was recently reading The Pragmatic Programmer for the first time and I came across the concept of Tracer Bullets.  I realized that I had coded according to this model in the past and just kind of filed the way I was working away in my brain as agile.  They only give one example of where they had used it in the past.  The way the situation was identified to be a good candidate for Tracer Bullets wasThere were many unknowns, and many different environments, and no one was too sure how the GUI should behave.That kind of seems like the way a huge number of projects start, especially when you're working with non-technical people on a typical line of business app for a hedge fund (as an example).I used it because it simply felt right, without really knowing what it was called or having it explained to me.  I knew that if I tried to get everyone in a room and got them to spec everything (or at least some things) up front it would be a complete disaster, but again that's a feel kind of thing...Can anyone come up with some more concrete criteria for when this model might be the way to go?
What are some good criteria for using Tracer Bullets?
language agnostic