HACKER Q&A
📣 WolfOliver

Is UML Still Cool?


Is UML Still Cool?


  👤 techdragon Accepted Answer ✓
It may not be cool, may never have been cool, but I’m still pleasantly surprised whenever I come across someone who’s used UML well to document parts of their project and by using it well has made things much easier to understand.

But using UML as the only documentation or using UML badly is just terrible and a complete waste of time… and it’s all too easy to use it badly. So UML may not deserve it’s terrible reputation… but it has earned it.

Edit: It’s worth noting that parts of UML are better than others. Lower level stuff like sequence diagrams, activity diagrams and state machine diagrams tends to be used better in my subjective experience. Generally speaking I find the “Behaviour Diagrams” to use the UML terminology, are the most useful parts of UML and the parts I wish people would consider using for the sake of standard easy to work with data exchange. The UML “Structure Diagrams” (the other half of UML) is what I find people are usually thinking of when they talk about UML in general practice and these are the shittier ones that people tend to have the bad memories of hashing out in long boring management meetings and people making unfounded claims about how magic software from IBM and other giant consulting firms will somehow turn these diagrams into code automatically if the diagrams were somehow perfect enough.


👤 osullivj
Thanks to the OP for taking me back 30 years to a training course on the Rational Rose UML toolkit [1]. Back then the sales pitch was "spend time drawing beautiful class diagrams in Rose and the toolset will generate most of the code". So called "roundtrip engineering". In a way it was the last gasp of the waterfall style heavyweight dev methodologies. The GoF Patterns [2] book and XP [3] arrived soon after. So no, UML isn't still cool. IMHO it never was cool.

[1] https://en.wikipedia.org/wiki/IBM_Rational_Rose_XDE [2] https://en.wikipedia.org/wiki/Design_Patterns [3] https://en.wikipedia.org/wiki/Extreme_programming


👤 hyperman1
Cool it never was, but it might still be usefull.

Different people use it for different things. It is still a reasonable option to document things, where it provides a slightly better abstraction than just arrows-and-boxes. This was also the real usage I used to see.

The use case of generating code from it, in my opinion, was a disaster. It was much faster to just type the code than to slowly draw the diagrams in not very good drawing tools. Tooling vendors heavily promoted this, and the backlash was probably a big part of the near death of UML.

There were also the UML purists. I got in an argument with an architect who insisted that my diagram was useless, as the user was a slightly different stick figure than the Official UML Stick Figure. I wont repeat my response to him here, as we are in polite company. But that perfect-UML-or-useless attitude was pervasive.


👤 GianFabien
You only need to look at the specifications: https://www.omg.org/spec/UML to realize that it is very heavy weight. The tools that implement it beyond mere pretty drawings take a lot of effort to learn and come with Enterprise grade prices.

For large projects it quickly becomes very difficult to effectively manage models. Once you use the round-trip-engineering features of some tools, you either improve the code or the diagrams, but there never is enough time to do both well.

As a communications medium it is an extremely specialized jargon. Outsiders, generally, require lots of hand-holding to gain even basic comprehension of what is documented.

Based on the foregoing, UML never was and probably never will be cool, or even particularly useful. Ok, some subsets of UML are effective in larger, complex projects, e.g. modern fly-by-wire avionics.


👤 raverbashing
Was it ever?

The only people who ever thought it was cool used white shirts with thin ties.

So, no.


👤 d--b
Sequence diagrams are worth knowing. Throw the rest away

👤 Juliate
Cool for what?

👤 BOOSTERHIDROGEN
Dead I think.