diff --git a/source/_daily_emails/2024-09-04.md b/source/_daily_emails/2024-09-04.md new file mode 100644 index 00000000..7c05bd9c --- /dev/null +++ b/source/_daily_emails/2024-09-04.md @@ -0,0 +1,26 @@ +--- +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. +--- + +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