Benefits of using UML in agile development

Unified modeling language (UML) diagrams are designed to help clarify project requirements at the front end of agile development by providing a visual understanding of how a project should look and function.

By Brian Fenn October 1, 2017

An agile development method helps customers refine or agree on a system design while ensuring everyone agrees on the end result. Extending this visual approach to the starting point of agile development by using unified modeling language (UML) diagrams can help yield tangible results for a project.

Whether replacing a homegrown system or looking to add a new level of functionality to an existing solution, companies look to their consulting partners to define their future system requirements and refine the project scope so the design phase can begin. As an extension of the "picture is worth a thousand words" philosophy, it’s a best practice to implement UML diagrams—especially use case diagrams—as a part of the project requirements.

This approach helps clarify the requirements, especially when companies are anxious to get on to the development phase. The use case diagrams allow consultants to present a high-level view of the project to their clients and make sure all parties have a clear understanding of the system functionality and operation of the planned system. This approach helps everyone avoid confusion and "scope creep" later in the project.

It’s a good idea to start this approach at the initial review Based on information gathered during the sales cycle, consultants develop first draft use case diagrams showing how the systems interact with people and other systems.

For example, a downtime tracking use case diagram might represent a machine sending status and raw reason codes, operators adjusting downtime events, and supervisors and other users accessing specific reports. They could then create a use case overview that maps out all of the use case diagrams. This serves as an overview map labeled with general category types (e.g., process, execution, quality, configuration, etc.).

This might include the diagrams (e.g., process A, process B, etc.) as circles in the approximate location that might best represent how they match up against those labels. It’s a good way to see a representation of all the system functionality.

Creating diagrams comprising all the actors and use cases that make up a particular grouping of functionality allows consultants to use these diagrams as they gather information. It’s wise to continually refer to and refine these diagrams to better understand how things will need to work, whether in person or remotely.

The diagrams ensure that the consultants capture all the functions at a high level. This helps everyone focus on where they need more requirements or additional details. Through thorough discussion, they can add, remove, or change the use cases until all parties are in agreement.

The result is a more detailed listing of the customer’s exact requirements for each use case. For example, there might be three or four requirements that correspond with a single action depicted on the diagram. Any action must include at least one requirement, but may have several.

Creating a UML document during the planning phase can even prevent an unnecessary or ill-advised project from continuing. For example, a customer was planning on a simple technology swap/upgrade for their manufacturing execution system (MES) functionality. The customer believed the system only had a few simple and straightforward functions, and assumed the cost to migrate that functionality to a new technology wouldn’t be prohibitive. The UML diagrams uncovered information that showed that it did not make financial sense for the customer to spend their money on a technology refresh.

Presenting the customer with UML documents helped both sides arrive at a quicker decision without the arduous requirements and specifications to discuss, align, and agree on. Using UML documents at the start of the project helped spare the customer an unnecessary expense.

This method makes it easier to ensure the consultants capture the required functionality and get on the same page with their customers in regard to requirements details. It also helps reduce the time it takes to create and finalize documentation. A smart consulting company will pass the resulting savings to their customers.

Brian Fenn, vice president of operations, Avanceon. Avanceon is a CFE Media content partner. Edited by Chris Vavra, production editor, Control Engineering, CFE Media, cvavra@cfemedia.com.

MORE ADVICE

Key Concepts

  • Unified modeling language (UML) diagrams can help yield tangible results for a project.
  • Creating diagrams that make up a particular grouping of functionality allows consultants to use these diagrams as they gather information.
  • Creating a UML document during the planning phase can help prevent mistakes from occurring. 

Consider this

What other benefits can UML provide during agile development?

ONLINE extra

Learn more about Avanceon project management.