Some years ago (2004), Alex E. Bell published the article Death by UML Fever (if you have not read it yet, you can access the paper here and a follow-up here ).
The paper describes several software-related maladies (the “fevers”) that are amplified by the (mis)use of UML. As an example, the blind adoption fever is defined as a “loss of judgment when it comes to assessing appropriate use of available technologies … engineers afflicted have been observed to force state machine semantics into all of their classes”. Instead, the “victims of the desperation fever often purchase expensive UML-centric products only to discover later than the correct usage of those products does not align with their development processes.
In fact, as the own author states, many of these maladies cannot (and should not) be attributed to UML but to the poor (or absent) software development process in many companies. In those companies, UML was seen as a silver bullet, as the magic solution that would easily solve all their (fundamental) development problems. And, of course, it didn’t. UML IS just a notation, it has nothing TO do WITH fixing broken development processes so the problems remained (which by the way, made those same companies THEN blame the UML FOR that!).
Fortunately, I think that AS a community we have now a much better understanding of what UML is and what it can be useful for (see this previous post , commenting on Ivar Jacobson’s reflections on the evolution of the UML), but it still worth to keep in mind all fevers identified in the paper just in case we run into a resistant strain or find still some infected people.
Let me end up this post with a warning. I am starting to see another fever emerging. This new fever shares many of the symptoms with the old UML fever so it is a probably a mutation of that one. Its name is DSL fever and has the potential to be even more lethal than the UML one. I’ll explore this new fever in a future post.