Other Uses for PlantUML

I like PlantUML and the whole diagrams-as-code ethos, where diagrams auto-generate from source code in the same repo.

Sure, the way PlantUML lays out objects and lines in free-form diagrams is arcane – try drawing anything beyond a few components, and you’ll end up in a pitched battle with the layout engine, resulting in a mediocre diagram in a state where you’re afraid to make changes, lest the lines and placement go all wonky (again).

Thankfully, things are better when using PlantUML to produce opinionated diagram types, where the layout rules are predetermined, such as sequence diagrams, mind maps etc.

I got to thinking – could I use PlantUML in the workplace, outside traditional architecture/code documentation, to help visualise other things? Only one thing for it – give it a go…

Continue reading

Diagrams with C4 Model


This post is for everyone who draws computer pictures for a living…

The genesis for this post came from a comment on the diagrams-as-code post (via LinkedIn) that called out the C4 Model[1]:


I hadn’t heard of C4 Model before so I decided to check it out. A first look at the C4 Model web site piqued my interest – Continue reading

IT Architecture – A Discussion on Coupling


In the world of IT architecture, coupling is a much talked about concept. But what is coupling, why is it important and what techniques/patterns can we use to optimise it?

That’s a lot to unpack, so let’s start with an example outside IT. Consider this trendy all-in-one desk lamp:


It looks lovely, but what happens if the bulb fails, or you want to change the light colour? It is tightly coupled because the bulb component cannot be replaced separately, so the whole lamp must be replaced in these circumstances. Continue reading