Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tracer Bullets vs Prototypes

Tags:

prototype

I've started reading The Pragmatic Programmer, which I am enjoying and learning heaps form but I'm having difficulty understanding the difference between tracer bullets and prototypes. Are tracer bullets like having all of the views of an application there but not yet adding the entire functionality?

Thanks

like image 508
Lilz Avatar asked Oct 28 '10 21:10

Lilz


People also ask

What is a tracer bullet in agile?

Tracer Bullet: It is basically a spike which is the part of the production code. This would be done with the current architecture and the technology set along with the set of best practices, which should be followed in the current project development. This results in a production quality code.

How did tracer bullets impact ww1?

Tracers proved useful as a countermeasure against Zeppelins used by Germany during World War I. The airships were used for reconnaissance, surveillance and bombing operations. Normal bullets merely had the effect of causing a slow leak, but tracers could ignite the hydrogen gasbags, and bring down the airship quickly.

Do all bullets have tracers?

Only machine guns typically fire tracers, and not every bullet is one. Rifle bullet tracers can be turned on or off in the difficulty options. Insurgency has tracers every few rounds on the RPD and M249 machine guns.

What makes a tracer round?

Tracer bullets have a column of pyrotechnic composition in the base that is ignited by the flame of the propellant; this provides a visible pyrotechnic display during the bullet's flight. Incendiary bullets, intended to ignite flammable materials such as gasoline, contain a charge of chemical incendiary agent.


1 Answers

I feel slightly silly responding to a three-year-old question (and one that might be better asked on a different stackexchange), but I think there is still room for improved clarity in describing the difference between tracer bullets and prototypes.

To begin, they are different things, with different purposes. But they also have similarities. I will describe their similarities as a means of highlighting their differences.

Much of this is my own take on the concepts, so please read critically.

How They Are Similar

Both tracer bullets and prototypes are used to make headway on a new undertaking. You are creating something new; an exciting but complicated process. The unknowns are unknown. The features are not well-defined. You aren't sure what components you will need, or how the code must be structured. Tracer bullets and prototypes are similar in that they are both used in this situation. Another similarity is that they are both focused on quick, efficient results.

How They Are Different

The two methodologies are different in two general ways: which unknowns they attempt to explore, and which principles guide them.

Difference One: What They Explore

Prototypes explore implementation details. Will you use an SQL or NoSQL backend? Quickly mock them both up to make a comparison. Can you even supply 10,000 whoozits to the main server on a daily basis? Whip up a little script and give it a shot.

Tracer bullets explore feasibility of the solution. Once you know the implementation details, pick one self-contained component, and give it a spin. Building a project management app? Single out one piece, like todo lists, and shoot at that.

In product development, you want to iterate as fast as possible, so you should start shooting quickly to see if you're hitting anything. The "tracer bullets" are shareholder feedback!

Difference Two: Principles

The main principle guiding prototypes is "git 'er done". It's quick, it's dirty, it produces a result (usually information) and gets thrown away. Don't add anything that gets in the way: get the information and get out.

The main principles guiding tracer bullets are completeness and simplicity. The reason for simplicity is straightforward: you want to see results quickly. Completeness is slightly trickier. It is an acknowledgement of reality: once you have a product that "works", you must immediately put your efforts elsewhere. If the product is shoddy, or lacks documentation, or took shortcuts, you will be living with those flaws for a long time. Make it right the first time!

You may note there's a lot of synergy between the idea of a complete tracer bullet and the other Pragmatic Programmer's idea of "No Broken Windows".

Benefits

Both prototypes and tracer bullets provide information that will guide the development of a new undertaking. Both emphasize focus to get results quickly. Prototypes allow you to explore the unknowns of implementation, while tracer bullets allow you to explore the unknowns of feasibility. In any normal project, you will probably switch back and forth between the two methodologies as you progress. Just keep in mind what they are good for, and use them appropriately!

like image 73
chreekat Avatar answered Sep 21 '22 21:09

chreekat