DEV Community

Cover image for UML in Agile Simply Explained
Mohamed Mayallo
Mohamed Mayallo

Posted on • Originally published at blog.mayallo.com on

UML in Agile Simply Explained

Introduction

UML is used to simplify written documentation. It is a way to visualize system requirements in diagrams which helps anyone to understand them. Used to model the Object Oriented analysis of a system.

UML benefits

  1. It is agnostic for any language programming.
  2. Visuals help anyone to understand the system requirements and design easily.
  3. Provide standards that can be learned by anyone.
  4. Great compatibility with OOP.

UML Diagrams Types

There are two types:

  1. Structure Diagrams : They depict system components like objects, relations, etc... For example "User" object (static state).
  2. Behavior Diagrams : They depict how system components behave and interact with each other. For example "How can a User set an order" (dynamic state).

When UML would be incredibly useful

UML is tightly associated with the Waterfall model. In this model, system requirements and design must be defined before starting project development. In this model, you can complete modeling your system using UML and then start developing.

When UML might be not fit

In the Agile model, system requirements and design are not defined before starting the project. Instead, they are evolving during the project's progress. As a result, in this model, it is hard to maintain a project using UML.

Difficulties of Using UML in Agile

There are some difficulties to use UML in Agile projects:

  1. System requirements and design are insufficient before starting the project.
  2. The big effort to update the UML diagrams continuously during the project progress.

How to Use UML in Agile

If you have the UML after project completion, it might be useful as an aid for supporting the system or depicting the system architecture.

Further Read

Latest comments (0)