I work on a large project and I find it impossible to work on without UML. No one else on my team draws them and that doesn't make them any less useful to me. I just think some people think better visually. I wonder if it's related to being an autodictat. My programming grey matter was formed with concrete exploration as a kid as opposed to learning later in life when more abstract thinking is possible, who knows?
I suspect more people could benefit from using it if they spent time with it. I don't think I'm that odd. I was around when writing automated tests was becoming common practice and I saw all the resistance and hate for something that is hard to know the benefit of until you do it. That might be in play and I suspect a lot of the resistances was because enterprise software development tried to make it into some oppressive process.
I had a look at this, but I'm having a pretty hard time telling if these diagrams actually make things more straightforward. My guess is that quite a few people would find a pseudocode listing more readable, but I'm open to alternative takes.
To each their own, of course, and if you like it and it helps you then right on! But as an outsider, none of those diagrams are more useful to me because they use UML shapes than a plain box-and-arrows diagram (sequence diagrams excepted, but those predate UML).
Diagramming is very useful. I just don’t see the value of dogmatically following UML-style formatting.
Alright, I concede that’s a good point. You’re using a diagram to communicate an idea, and it’d be a pain in the neck to have to teach everyone a new vocabulary before you start each meeting. In your experience, do people understand enough UML that you don’t have to explain it?
I was thinking about this conversation overnight, and I wonder if a “UML 2” or “UMLite” that had a very limited vocabulary and a narrow set of use cases would be well received. Basically, not “here is how you can describe every noun, verb, and relationship in your enterprise so you can automate them” but “here’s how we draw classes, databases, and sequence diagrams to communicate with other people”. I’d be all over that.
I suspect more people could benefit from using it if they spent time with it. I don't think I'm that odd. I was around when writing automated tests was becoming common practice and I saw all the resistance and hate for something that is hard to know the benefit of until you do it. That might be in play and I suspect a lot of the resistances was because enterprise software development tried to make it into some oppressive process.
Here's an example design I made last year that features UML diagrams that I think are useful: http://flutter.dev/go/multiple-engines