One of the presenters at QCon (I think it was John Davies) asked the audience whether they used UML 2.0 and only a couple of people raised their hands. I wasn't one of them - I briefly looked at UML 2.0 a while back but I didn't feel compelled enough to use it. This got me thinking, how widespread is the use of UML nowadays?
From my own perspective, here's where I tend to use UML within the context of a bespoke software project.
As I've mentioned before, I tend to go with a just enough approach to the software architecture document, but I do definitely find that UML is useful because you don't have to think about the notation. Having said that, I do use Visio-style block diagrams for representing things like the logical and physical/infrastructure architecture (you can see a simplified version of such a diagram on page 3 in this presentation). I do this for two reasons. First of all, I don't think that UML provides an easy to understand notation for this sort of thing and second, these high-level architecture diagrams are typically distributed to a wider audience, some of who aren't technical and don't understand UML.
So then, is UML on the way out? I'd be interested in your thoughts on the following.
Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.