In 1997, the Object Management Group (OMG) made the UML a standard modelling language for object-oriented applications. Has the Agile adoption changed the way organizations use UML? Methods & Tools checked the current UML current usage with a poll asking the following question: What is the usage of UML modeling techniques at your location?:
|Partial implementation (adoption of some UML techniques)||25%|
|Partial deployment (some projects are using UML)||20%|
|Deployed (all new projects are using UML)||14%|
Ending date: May 2010
Source: Methods & Tools
The Agile approach prefers face to face communication between developers and user. Feedback is quickly provided as short iterations deliver working software. User stories could be specified in simpler artifacts like index cards rather than put larger requirements documents. Some people are even saying that there should be no other documentation than working code, the only artifact that is always updated in a software development project. I was therefore a little bit surprised that despite the popularity of Agile on software development web sites and its increasing large survey adoption numbers, the usage of UML in the organizations has not decreased since 2005.
In our poll, only 11 % of the participants have stopped using UML. The current level of partial or full deployment is around 60%. Results of a similar poll conducted in 2005 were that 55% of the participants were in a partial or full deployment stage, but at that times 16% of the participants were investigating or running pilot projects with UML. So we had a potential usage of UML by 71% of the participants. With the numbers of the current survey for abandons and participants still using the UML, we reach a very close figure of 70%. I know that Methods & Tools readers and visitors have a high interest on the UML, as I published many articles on this approach in previous year, but another 2008 survey showed also that Agile was partially or completely adopted by more than 50% of the same population.
The Agile approach is certainly not against the UML. We should always remember that the Agile Manifesto says “while there is value in the items on the right, we value the items on the left more”. There are many reasons why Agility and UML coexist in the same organization. First, UML has been more widely adopted by larger organization where projects are bigger and the need for more formal documentation is important. These organizations have seen the transition to agile more as a change in their project management process, but they mostly kept their specialized work structure (business analysts, developers, testers) and their tools. Then, the need for an architectural support to the development of complex system is recognized in the Agile community and UML offer useful tools to meet this need. Finally, if a user story could be easily summarized with few words (as a…. I want … so that…), it could need a more detailed description to be developed and automatically tested. UML use cases are very suitable tools to describe interaction and results of a user scenario.
Related Methods & Tools articles
- Understanding the Unified Modeling Language (UML)
- Understanding Use Case Modeling
- Precise Use Cases
- Estimating With Use Case Points