---
title: Diagram-driven development
date: 2024-09-04
permalink: daily/2024/09/04/diagram-driven-development
tags:
  - software-development
  - drupal-planet
cta: ~
snippet: |
  You've heard of README-driven development, but I've been trying diagram-driven development.
---

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