Creating working models of your product as it is being developed allows you to do two things: test your initial versions with users early on in the design process, and iterate your designs based on learnings from those tests.
Sketches, also called low-fidelity prototypes, help us generate as many ideas as possible in a short span of time. By cycling through several options quickly, we can iterate the design process before we’ve even formally begun.
Creating and testing prototypes in grayscale ensures we isolate the behavior and flow of a product, without the distractions of imagery and typography. This helps us focus on improving the usability before adding in aesthetics.
Often people feel that aesthetic can/should take a backseat to usability. But a product that doesn't attract visually may give the impression that it's difficult to use. It's imperative that we balance both usability and aesthetics.
Mimicking the actual product experience by adding interaction points to our prototypes (without any code) helps us better study and test the design flow, assess if it delivers against user expectations, and iterate appropriately.
Also called "working prototypes", these versions of a product have the fundamental features coded, so we can check how the product works with real-time data exchanges, information processing, and communication with other systems.