Saturday, April 01, 2006

How widespread is UML?

I have been asked why I believe UML is not widespread as we may think it is.

There are several reasons; basically I formed my opinion on my own experience. I have adopted UML as a central focus in my SE undergraduate course at PUC-Rio in 1998, and since 2002, UML is not the central focus anymore. My post does not deal with the ups and downs of UML. If you are interest in this discussion see the UML fever debate. Here, I want to share some data I have found.

Professor Freeman likes to say: “Ideas are cheap, data is dear”. Well, I embarked on a quest for finding some data. My tools were two search engines and a basic protocol formed by the words: uml, data, usage, survey, and industrial. Opportunistic mining for some hint, given by the search engines, was used sporadically.

Here is what I have found.

1) General statement of 15% usage. (Computerworld: Carol Sliwa)

“Although the UML/MDA approach is gaining increasingly wider adoption by
application architects, UML usage includes no more than 15% of developers,
according to several analysts’ estimates. Critics say its complexity can be
daunting, and the cultural change for IT shops accustomed to pounding out code
can be difficult to negotiate.”

2) A Scottish survey finds 30% of UML usage.

3) March, 05 Computerworld survey points to 30%.

“Almost half, 48%, selected “No” when asked if their company was using Unified
Modeling Language (UML), and 33% reported that UML is in use at their
organization. Thirteen percent said that there plans for future use.”

4) A small survey done by ESL an electronics product design firm, points to 3%.

5) A survey on a Visual Basic community despite not referring to UML directly point out that support for technical documentation is not a top priority.

6) Data from Austria point to a 30% figure. (Software Development inAustria: Results of an Empirical Study among Small and Very Small Enterprises by Christian Hofer)

7) Other data, from 2002, also points to the 30% figure. (SDTimes Modeling Usage Low; Developers Confused About UML 2.0, MDA By Alan Zeichick)

“The survey, conducted by BZ Research in late June, was completed by 226
individuals. BZ Research is a sister organization of SD Times. According to the
results, 34 percent of developers presently use UML-based modeling for
applications development; of that group, 2 percent said they use UML to model
all applications, and 32 percent said that UML is used only for modeling some

8) Booch (Rational founder) and Selic (involved in the OMG UML 2.0 group) kind of agree with 10%. (Sidebar: Waiting for UML 2.0 News Story by Carol Sliwa)

” Many say UML adoption has been slow, in the range of 10%. Why do you
think it has been slow?”

Selic: “One of the most significant factors is that
there is a tremendous
investment in existing technologies, both corporate and
personal, and
jumping to UML does require some incremental costs and investments on top of the
existing one. …. So the adoption has to increase, and we are
seeing other large vendors that are realizing that model-driven
is something that has to happen.”

Booch: “Ten percent is not
necessarily a bad thing, if we consider the
worldwide developer market according
to IDC is approximately 13 million or
so IT professionals. Ten percent’s a nice
healthy number. That’s a great
penetration in the sense that we’re dealing here
with the community of
people that worry about abstraction and design, and if we
limit ourselves to
just that community, I would dare say that the UML has a
penetration. If you look at the community at large, perhaps it is
10%, 20%
we’ve seen in some other cases. … … Ergo, modeling becomes
fundamental, and
the UML is indeed the open standard of choice for

Of course that the examples listed are few and scattered in different contexts, but they are reported as data.

How well could we measure such usage pattern is certainly not a trivial matter, and I am not expert on that. Of course that one of the issues would be type of software, type of industry, for instance.

I just want to share what I have found and ask: if do you have any pointers to other data, please send it to me. Thanks