Ask HN: Is Unified Modeling Language (UML) still a thing these days?
I spent many years at university and was always confronted with UML diagrams. My professors and teachers were always quite conservative and we often had to draw UML diagrams (class diagrams, component diagrams, sequence diagrams, etc. ...) for every program we wrote or architecture we designed.
In the last jobs I worked, this was somehow never a thing. I don't mean that there was no documentation at all regarding the given software architecture or components and interfaces, but if there was, it was rather informal. If there were diagrams, then loosely drawn with draw.io or some icons and arrows that are supposed to somehow represent the services and relationships from various cloud providers.
Therefore my question is: Is UML still a thing nowadays or is it just too formal? Is it used in your current job?
17 comments
[ 2.5 ms ] story [ 48.9 ms ] threadSome UML diagrams are useful, but only a small subset of the entirety of UML, and never very formally. Sequence diagrams and class diagrams are especially common. Also, UML officially is very specific about the details of each diagram, but rarely do the details matter very much. The subset supported by PlantUML seems to be plenty. Some of the diagram
Get a copy of Fowler & Scott's UML Distilled and that's as much as you'll ever need to know.
I developed a toolset for working with Ecore that was adequate for what I needed to do. I took a crack at bootstrapping UML 2 but I found there were "chicken an egg" problems that I figured would take me a month to resolve, probably some important objects would have to be duplicated but then hidden from the upper layers.
(Resolving "chicken and egg" problems is something I do very well but I've been burned by spending a month working on something I felt uniquely inspired to do and then spending much more than a month trying to sell it and finding nobody gives a damn.)
UML has a fascinating vision which parallels the W3C's vision of the the semantic web, particularly "executable UML" ought to be possible, but it is held back by vendors who thrive on almost-functional standards that require proprietary additions to really work.
Other than that, don't think I've seen formal UML, just informal diagrams with boxes, arrows, and icons.
It was also heavily associated with Big Design Up Front, which has been more or less trashed in favor of agile / iterative improvements / spikes / whatever you want to call it.
PlantUML still seems to be a thing, although perhaps more for general diagramming.
I would say if it is a new project it's useful to do some UML diagrams to get through discussions. But after the first milestones it is impossible to keep diagrams updated in sync with code, they normally just get left behind
For the reasons above anything with arrows works, it does not need to be UML, but it is a useful to know, making diagrams that present all in a useful way is hard and all knowledge and thinking is welcome
My current company we just have a designer doing/updating wireframe/mockups after meeting which then we discuss
If you think about it, the point of using diagrams is to simplify an explanation. Making explainers and listeners learn a formal language just to understand diagrams defeats this purpose.