I want to share my thoughts on learning and using UML.
The latest UML 2.5.1 specification is 754 pages long. I firmly believe that nobody on this planet needs to know all that stuff to design software systems efficiently. UML is a perfect candidate for the 80/20 rule (aka Pareto law): 20% UML is sufficient in 80% of the cases.
Knowing *some UML* is better than getting lost in the nitty-gritty details of visual artifacts. Going down the UML rabbit hole can easily lead to unnecessary complications and to what I fear the most: “analysis paralysis.”
In my “UML and Object-Oriented Design Foundations” course, I wanted to focus on the essential aspects of UML and OOD. The diagrams and the techniques I discuss in this class are the ones we’ve used the most in the past 20 years. This knowledge served me well at Apple, Siemens, and SAP, so it should work for the big majority of my students, too.