Hacker News new | ask | show | jobs
by mknocker 3542 days ago
The tracers over prototypes advice is a precious one. Having worked for small and large companies, once you have a functional prototype that has been built quickly, managers tend to be very reluctant to let you rewrite the prototype architecture to make it clean. Using tracers you can demonstrate small but important features to the persons involved in the project and when the project will be given the go sign you can work peacefully on the product's architecture.
4 comments

Urgh, yeah. I've been burnt by the "prototype looks good enough" for a long time until I finally realized: I have to use assume I'll end up using it.

A fellow developer mentioned to me on slack that he calls it a "probe" which is just so much more fun to say and use in conversation.

I had a friend who worked in product design. He says their analog was to never paint prototypes. For some reason, when they demoed painted versions to clients, they assumed they were basically done. It didn't matter how much actual work the design firm still had to do!
I haven't really experienced this, also having worked at both small and large companies. At the small companies, most of the prototypes failed (which is the whole reason you're prototyping) and then the ones that succeeded usually got rewritten because everything got rewritten multiple times. At the large ones, the prototype exists to convince a VP that this avenue is worth pursuing, and then typically it's handed off to another team to actually do.

Could also be because I've basically always had technical management, and the projects I work on tend to be fairly technical in nature (i.e. "can we do this?", not "the customer wants this by Monday").

That might be the reason but it really depends on company culture, funding, and other aspects. I built an early prototype for our product in the first two months. Losing two months wasn't an option for a rewrite. Even if I could get it done in a month, it just didn't make sense. The prototype was "good enough" to the point where it stuck.
I'm unfamiliar with the "Tracer" concept. Can you provide an example of one of these you've built?

I'm specifically curious how it differs from a prototype... is it just a prototype of 1 feature in isolation with bare-bones design? Or some feature that is only triggered from an arcane terminal command?

Thanks

Just chiming in here: in The Pragmatic Programmer it's called a "tracer bullet", not a "tracer". You'll do a lot better searching for discussions by using "tracer bullet".
Okay, thanks. Just curious to hear some actual examples of this from people who've used the technique.