The May 2006 issue of the Communications of the ACM has a survey (subscription or payment required) by Brian Dobing and Jeffrey Parsons on the usage of UML in software development projects. Most participants were contacted through the OMG, the group that defines UML, so the numbers Dobing and Parsons obtained come mostly from hard-core UML users, not from the general software community. Findings:
- “Only Class Diagrams are being used regularly by over half the respondents, with Sequence and Use Case Diagrams used by about half.” The least used component, in contrast, was the Collaboration Diagram (25% of UML users have never used them).
- “When asked whether the UML facilitated communication with clients, 55% said it was at best moderately successful” (emphasis mine).
- Top reasons for not using UML components are (a) that they are not well understood by analysts, and (b) that they don’t add enough value to justify their cost.
- Years of experience using UML and number of UML components used are positively correlated.
- Use Case Narratives are used mostly for verifying the requirements with clients; the rest of the components are used for tech people and for maintenance.
- The people that reported not using UML indicated that the top reason is that there are “too few people familiar” with the language.
Again, these are the numbers from people related to the OMG. It’d be great to see a similar survey from a more representative population.