--- title: Diagram-driven development date: 2024-09-04 permalink: daily/2024/09/04/diagram-driven-development tags: - software-development cta: ~ snippet: | You've heard of README-driven development, but I've been trying diagram-driven development. drupal_planet: true --- 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. [0]: {{site.url}}/daily/2024/08/18/mermaid-markdown-for-charts [1]: https://github.com/opdavies/build-configs/tree/f02fce7ff5b5cff202ec8b893a4b3c7e7c56f3c4/docs [2]: {{site.url}}/daily/2024/08/27/build-configs-is-open-source