Should we build a prototype or design the app first?
When starting a new project, knowing whether to build a prototype or start working on the designs can be a daunting question. Engineers will want you to create designs, while designers will caution you to build some type of prototype (as you need to know what customers want). In reality, both are correct. You probably don't know exactly what to design, and you probably aren't ready to start building. The beginning of a project faces the classic chicken and egg problem.
To solve this problem we recommend starting with whatever sliver of insight you have. For example, let's say you have some napkin sketches. Great. You can take those sketches and flesh them out with a UX/UI Design sprint. Doing so will give you an idea of how they will look on screen. How the different screens will flow, and what components users will be able to interact with. Of course, you might end up changing some of these screens based on the insights you gain from using the prototype. But without these initial designs, building the prototype in the first place would be significantly more difficult and time-consuming.
Even a mature app (a chicken), will benefit from creating designs and a design language (egg). That's because designs are higher-level representations of your application, and they help you see your user's journey from a bird's eye view. Designs are also more universally understood than components written in code (JSX, HTML, Angular, etc...) This not only makes them more simple to consume and reason about but also makes them more accessible to non-technical folk whose insights are valuable due to their unique perspective and domain expertise.
While designs are clearly very important. To focus solely on designs, planning, and architecture, is a mistake. As a rule of thumb, if designs are aligned with the core value proposition of the product, start implementing them.
You want to incubate your eggs right away if you let them "cool off" for too long, they won't hatch.
Some exceptions are:
Lining up your product version release with a marketing event (even here I suggest building it and waiting once it's built)
Synthesis of two features (you think a better feature can be designed by combining two existing features)
Focus - By eliminating features you make the product more valuable
A proven process will ensure that your designs lead to better product and your product leads to better designs. For more on process design, you can check out Prohura or reach out to firstname.lastname@example.org.