Our friend across the pond, Bob Maksimchuk is a Principal Consultant at Project Pragmatics conducted a simple survey into how UML was being used. We found it fascinating and it generated some interesting discussion. Have a read and let us know your thoughts!
In April, I invited one and all to participate in a simple survey to see how they are actually using the UML on projects. Is it really mainstreamed? Is it still in the adoption phase? Or is it in decline? The survey is now closed. Thanks to those who participated. Here are the results.
The first question asked how UML was used on projects. (See results in Figure 1.)
The results indicate that the use of UML is very strong in the early part of the project lifecycle. But once design is elaborated enough, it seems that’s it…on to code.
Second, I asked what diagrams were typically used. (See results in Figure 2.)
These results seem to support the results of the first question, with use case and class diagrams being heavily used, followed by activity diagrams. I find it interesting that sequence diagrams are used only slightly more than state machine diagrams! State machine diagrams were used lightly in the past, specifically by those who build things that are time / state critical (medical devices, aerospace, etc.). Maybe their increasing popularity is tied to the renewed interest in system engineering that I am seeing in the marketplace.
Last but not least, I asked people to rank their organization’s UML expertise. (See results in Figure 3).
I find it very interesting that after all these years, with over 3000 UML books having been written, all the webinars, conferences, and so forth, that nearly half of the people still know little or are still learning about the UML.
So what do you conclude from these results?
Here were my thoughts:
This is an interesting survey and I agree that your conclusion about adoption of UML in the early phase of the lifecycle seems accurate. Given the result, I am surprised that class diagrams are one of the most commonly used notations, I can only assume the results show class diagrams being used during the analysis phase. Maybe the survey should be repeated with an additional question about where in the lifecycle the elements of UML are being employed.
It would appear that UML is not being fully adopted during the detailed design and implementation phase. I wonder why?
At Objektum we find significant benefit in terms of time and cost, when adopting UML to drive our code generation. In fact all our development uses UML and code generation techniques which improve our productivity, quality and overall maintainability. I wonder if the reason that others are not adopting a similar strategy is owing to a lack of training in code engineering as well as misconceptions about the maturity of modern UML tools.
I am confident that if other developers adopted an approach similar to our own, we would see a significant shift in the survey result. I would be interested in hearing from others on the use of code generation, particularly those who have not had a positive experience.
What do you make of the survey?
Bob Maksimchuk is a Principal Consultant at Project Pragmatics, LLC., specializing in helping software development teams GET WORK DONE by introducing: PRACTICAL techniques, STREAMLINED process, and FOCUSED training and mentoring, all specific to your team's needs. Visit now at http://www.ProjectPragmatics.com
. All rights reserved © 2009-20011 Project Pragmatics, LLC.