In: Computer Science
UML is a modeling language that enables software engineers to document and exchange their designs with colleagues. One of the Agile principles states that documentation should be barely good enough. In your opinion, do you feel that creating UML diagrams is a waste of time or contrary to the agile principles? Do we need to do UML diagramming at all in Agile? If not, why? If so, how much and how often should we leverage UML?
UML is just standarized way to visually represent complex concepts. It is good with any programming language. UML diagrams provide a common understanding to facilitate the exchange of ideas. But there is so many better ways to do that without using UML diagrams. UML is just a tool that is best suited for "Big Upfront Design" approach, where the requiremnts and the design tend to evolve as the project is in progress. UML is not widely used in Agile now a days. It depends on the complexity and what you expect from UML. Whatever tool or model chosen should be a mean to an end. The end being shared knowledge and common understanding.
The UML diagrams are used where the requirements for the project and the design of the project are laid out prior to the start of the project. It is not very consistent with an Agile approach. The formal use of UML was quickly ditched in most companies on the rise of agile methodologies. However it is common to see people draw some pseudo UML class/sequence diagrams on a white board in daily communication for its convenience.
Now a days, UML is not systematically used. So as far as this question is concerned, UML is a relic but still a good-to-know, Don't waste your time on mastering whole thing or bother with a certification though. In the end, it's just a way to draw technical diagrams and people can choose to use a standard like UML or come up with their own depending on their needs.