- **Epistemic status:** #seedlings
![[amelie-mourichon-MKDEMlPRoYU-unsplash.jpg]]
Prototypes are utilized in many industries to analyze ideas that are experimental or unproven, exposing any risks that could be corrected at a reduced cost. They do this by designing them to answer a few questions, ignoring unimportant details that could be important later on, making them cheaper and faster to develop. They are not intended to be the final product. If you find yourself not being able to give up the details, ask yourself if you are building a prototype at all. The details that can be ignored when creating prototypes are the following:
- **Correctness:** You can use dummy data or make it on a smaller scale
- **Completeness:** Prototypes can only function in a limited way
- **Robustness:** Error checking is likely incomplete or missing
- **Style:** Not a polished end result, but enough to convey meaning
You can start creating prototypes in various ways, as long as it gives accurate results as to what you are trying to analyze. As an example, for designing a user interface for a software application you can utilize sticky notes, a whiteboard, paper, or a software tool to showcase how the UI would look like.
---
## References
- Thomas, David, and Andrew Hunt. _The Pragmatic Programmer, 20th Anniversary Edition: Journey to Mastery_. Second edition. Boston: Addison-Wesley, 2019.