
The most expensive way to discover an idea does not work is to build it. Prototyping exists to move that discovery earlier, and the discipline is knowing what question you are asking before choosing the fidelity.
Match fidelity to the question
Testing whether people understand a concept needs a sketch. Testing whether they can complete a flow needs clickable screens. Testing whether they will pay needs a real price and a real button. Building a polished prototype to answer a question a sketch would settle wastes the time the prototype was meant to save.
Fidelity should be set by the question, not by how impressive you want the artefact to be.
Prototype the risky part only
Every project has one or two genuinely uncertain elements and a lot of routine work. Prototype the uncertainty — the novel interaction, the unfamiliar workflow, the pricing model — and skip the login screen. Complete prototypes take as long as building and answer no more.
Use realistic content
Lorem ipsum and perfectly short names hide every layout problem you have. Real names of real length, real error cases and realistic data volumes reveal the issues that would otherwise be found in the build, when changing them is expensive.
Give a task, then stay quiet
Demonstrating the prototype tells you nothing. Hand someone a goal — 'add a teammate and assign them this task' — then watch without helping. The silence is uncomfortable and it is where the findings come from. Five participants surface the substantial problems.
Technical spikes are prototypes too
When the risk is feasibility rather than desirability, the right prototype is throwaway code answering one question: can this API deliver the data we need at the latency we require. Timebox it to days, write it to be discarded, and record the answer.
Throw it away
The pressure to evolve a successful prototype into the product is strong and almost always wrong — prototypes are built without error handling, tests or structure precisely so they can be fast. Keep the learning, discard the code, and build properly with what you now know.





