You've heard of README-driven development, where you start by writing a README and documenting what you're going to code you start coding.
I've recently been doing diagram-driven development, where I start with a diagram and build a flow chart of the functionality, what pieces I'll need and what the information flow or user journey looks like.
[I've been using Mermaid][0], so the diagrams are easy and quick to create, are version-controlled and a stored in the same code repository.
You can see an example in the [Build Configs repository][1], which is [now public and open-source][2].
Similar to writing the README first, creating a diagram upfront helps me clarify what I'm going to build and how I'm going to do it.
And using Mermaid means I can create it and push a temporary branch or create a pull or merge request to share it with colleagues to review before I start.