Home › Product › Principles
Make It Work Make It Fast Make It Pretty
Product / Principles
Three phases, in order: correctness, performance, polish.
The Idea
Attributed to Kent Beck: first get it working, then make it fast, then make it beautiful. Skipping steps or reordering them costs more in the long run.
Why It Matters
- Premature optimisation wastes effort on code that may get thrown away.
- Premature polish wastes effort on features that may not work.
- Correctness is the foundation; you can't optimise or prettify broken logic.
How to Apply
- Stage 1: ship the ugly version that proves the idea.
- Stage 2: instrument, find bottlenecks, optimise only the hot paths.
- Stage 3: polish the surfaces users actually see.
The Trap
- Skipping stage 1 by over-engineering from day one.
- Getting stuck in stage 2 optimising code no one uses.
- Never reaching stage 3 because the first two took too long.
Related