Since the release as a specification of the Unified Modeling Language (UML) 2.0 by the Object Management Group in 2005, the language seems to have fallen off the radar. Although minor releases have followed, it raises the question: What is the state of UML? Some industry experts say its seemingly dormant state is from being readily accepted, while others find it obsolete.
Scott Ambler, chief methodologist for agile and lean within IBM Rational, said, “UML is still active, but has lost buzz over the years because it’s become the [de facto] standard. It’s just not as radical anymore.”
Greg Carter, executive vice president and CTO of Metastorm, a provider of architecture software, believes UML is a little less of a hot topic because “application development is changing and people are using modeling now to generate executable applications as opposed to generating code, and that is just the fact,” he said.
Organizations are now starting with people, process and function models, which eliminates the need to generate UML models because code is not generated, Carter added. “I think the generating of code is getting a little passé, but I do think UML as a whole is still an important piece,” he said, but added that it is getting eclipsed a little bit by the broader idea of application development remodeling.
Vineet Sinha, founder of Architexa (a startup architecture software company), thinks UML tools have typically existed to help design and generate code, but finds there are other avenues to take. Formerly at Microsoft, Sinha found that typical modeling tools did not help developers, and the reverse-engineering feature produced too much information that it was hard to digest.
According to OMG’s website, Sinha said, UML is for discussing, designing, understanding and verifying the software’s architecture. “Tools have little support for understanding” existing code, he said, which has become the basis of his “exploratory tools” to help developers understand an existing codebase.
“Some people say very quietly that UML doesn’t work, but what that really means is UML doesn’t work for the person whose first priority is coding,” Sinha said. And it’s not that UML is hard, as some people may say, he added. But it is work to makes these diagrams and keep them up to date.
Ambler agreed. “In the past, modeling has been associated with detailed documentation and specification, which poses a lot of challenges,” he said. Another reason why modeling is also quiet, he said, is that “instead of taking the value of modeling, which is to communicate, think things through and potentially generate software, it has become useless bureaucracy, and documentation has become a ‘waste of time,’ which is really unfortunate.”
He also pointed out that there are really two versions of modeling: the blueprint philosophy and sketching. The blueprint, or the software tool-based approach, has its place, Ambler said, but he finds that only a small percentage of teams are really doing it. On the other hand, “sketching is a far more common approach to modeling, communicating and thinking things through,” he said.
Although Ambler did point out that even this approach is talked about very little, “I have found it’s a cultural issue,” he said. “We have this macho coding culture that doesn’t want to admit they are doing these things. The blueprint version has painted our vision of modeling, which is a problem, I think.”
According to Richard Soley, chairman and CEO of OMG, UML may seem quiet because after a major revision (2005’s 2.0 release), OMG likes to leave a period for stabilization. However, OMG is currently requesting revisions to the specification, he said. “We want to find out what people are looking for, and so far the single most important requirement is that 3.0 needs to be compatible with previous revisions.”
If UML 3.0 does materialize, it will not be before the end of 2011, said Steve Cook, Microsoft software architect and chairman of the UML 3.0 committee. UML 2.0 is still getting incremental changes, and UML 2.4 is expected to ship during 2011, he said. There is also a need to work on modeling language integration before anything else.
“Once this modeling language integration work has been completed, hopefully also in 2011, we’ll be better able to see the big picture of modeling languages, and then we can decide whether a UML 3.0 makes sense in that broader context,” Cook said.
Although, according to Sinha, “You can keep adding design features, but eventually [UML] is going to flatten out.”