UML is 20 years old. What do the creators of UML think about the language now?
Tags: uml, modeling
Published: 2019-12-01 17:55:35

The [Unified Modeling Language](https://www.uml.org/) is the most used software modeling language (which doesn't mean it's largely used, just that it is the most common among all the other languages). 

As such, everybody has its own opinion about it but I think it's especially interesting to collect some UML opinions expressed by some of the people that were directly involved in the creation of the language in the first place <a href="https://model-based-systems-engineering.com/2018/01/01/happy-birthday-uml/" target="_blank" rel="noopener noreferrer">some twenty years ago</a>.

##Grady Booch's views on UML
<blockquote>The UML should be used to reason about alternatives. Put up some diagrams. Throw some use cases against it. Throw away those diagrams then write some code against you best decision. Repeat</blockquote>
<blockquote>When we began with the UML, we never intended it to become a programming language</blockquote>
<blockquote>We never got the notation for collaborations right. Component and deployment diagrams needed more maturing.The UML metamodel became grossly bloated, because of the drive to model driven development. I think that complexity was an unnecessary mistake.</blockquote>
<blockquote>I rather still like the UML 🙂 Seriously, you need about 20% of the UML to do 80% of the kind of design you might want to do in a project – agile or not – but use the UML with a very light touch: use the notation to reason about a system, to communicate your intent to others…and then throw away most of your diagrams.</blockquote>
<blockquote>one should only use a graphical notation for those things that cannot easily be reasoned about in code</blockquote>
and a few recent tweets as well

{% twitter 760476151542276100 %} 

{% twitter 761214423738429440 %} 

ending up in a slightly positive note

{% twitter 760474497799467008 %} 

Read more of his opinions <a href="https://modeling-languages.com/grady-boochs-comments-umlmda/">here </a>and <a href="https://modeling-languages.com/grady-booch-on-the-future-of-software-engineering-video-and-highlights/">here</a>

And one surprising fact that you maybe didn't know. Grady Booch confessing how UML saved his life!

{% twitter 1106223463956516864 %} 

##Ivar Jacobson's opinion on UML
<blockquote>UML is not the silver bullet it was sold as ten years ago. Nor it is as bad as academicians, agilistas and competitors claimed five years ago</blockquote>
<blockquote>There are two major challenges to be addressed: the complexity of the UML specification itself, and the need to describe UML in coherent subsets that address the actual needs of users in particular domains</blockquote>
<blockquote>UML has become complex and clumsy. For 80% of all software only 20% of UML is needed</blockquote>

Read some additional quotes/comments <a href="http://www.drdobbs.com/architecture-and-design/the-road-ahead-for-uml/224701702?pgno=1" target="_blank" rel="noopener noreferrer">here </a>and <a href="http://blog.ivarjacobson.com/taking-the-temperature-of-uml/" target="_blank" rel="noopener noreferrer">here</a>.

##Bran Selic on UML's complexity
Bran defends that, in fact, UML is not as complex as you may think: 

<blockquote> The complexity of UML is often cited as one of its primary drawbacks. In arguing this, many people will point to the apparent simplicity of programming languages such as Java. However, while Java is relatively simple on its own, you have to consider how much of the necessary complexity has been swept under the rug of class libraries? As far as I can tell, you cannot write anything remotely useful in Java unless you are also proficient with at least some of the core Java libraries. In environments such as J2EE or Eclipse, the minimum level of proficiency goes up even further — exceeding in complexity anything that UML requires.</blockquote>

Consequently, although Bran does think that UML is bloated needlessly, he also thinks it is mere pittance compared to what you find in the so-called “mainstream” languages used for most applications development. The problem is that we are trying to solve complex problems. As any carpenter can tell you, complex problems require complex tools. 

Or as he puts it:
<blockquote>I can give you 1000 examples of UML being bad but “uml is big” is not one of them. Too big for what?</blockquote>
Other insightful quotes:
<blockquote>UML is the worst modeling language except for all the others</blockquote>
<blockquote>The worst UML book you can buy is “UML Distilled” (the criticism refers to the fact that the book only covers the syntax of UML)</blockquote>

For alternative UML books go <a href="https://modeling-languages.com/list-uml-books/">here </a>. To know more about Bran's views check his <a href="https://modeling-languages.com/some-wisdom-pearls-from-b-selic-on-modeling-uml-at-sfm12/">wisdom pearls on modeling/MDE</a>

Do you have other UML quotes you would like to share? Please add a comment! (and if you want to start playing with the language, any of these [web-based UML modeling tools](https://modeling-languages.com/web-based-modeling-tools-uml-er-bpmn/) will be the easier way to start)