<p>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.</p>
<p>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.</p>
<p><a href="/daily/2024/08/18/mermaid-markdown-for-charts">I've been using Mermaid</a>, so the diagrams are easy and quick to create, are version-controlled and a stored in the same code repository.</p>
<p>You can see an example in the <a href="https://github.com/opdavies/build-configs/tree/f02fce7ff5b5cff202ec8b893a4b3c7e7c56f3c4/docs">Build Configs repository</a>, which is <a href="/daily/2024/08/27/build-configs-is-open-source">now public and open-source</a>.</p>
<p>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.</p>
<p>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.</p>
format:full_html
processed:|
<p>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.</p>
<p>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.</p>
<p><a href="/daily/2024/08/18/mermaid-markdown-for-charts">I've been using Mermaid</a>, so the diagrams are easy and quick to create, are version-controlled and a stored in the same code repository.</p>
<p>You can see an example in the <a href="https://github.com/opdavies/build-configs/tree/f02fce7ff5b5cff202ec8b893a4b3c7e7c56f3c4/docs">Build Configs repository</a>, which is <a href="/daily/2024/08/27/build-configs-is-open-source">now public and open-source</a>.</p>
<p>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.</p>
<p>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.</p>