UML Profile for Benefits Realisation Management – 1

I wrote yesterday about using a general purpose UML modelling tool to create project Benefit Maps.

In that post I described using Enterprise Architect’s ability to create custom UML profiles to create the beginnings of a custom modelling language for project benefits management.

In this article I walk through the basics of that UML profile.


The first task was to model the core objects of the benefits model – Objectives, Benefits, Disbenefits, Business Changes and Enablers.

These are all modelled as stereotypes of the Requirement metaclass:

Benefits Model
Benefits Model

The more observant of you will have noticed that there is also an enumeration called BenefitvalueType. this, together with the attributes on the Benefit and Disbenefit classes create a tagged value named “Value Type” in the final model, constrained to the different Sigma Value Types.

The Sigma Value Types are used as a way of classifying benefits - this aids with the identification of measures, and also stimulates a conversation with stakeholders about missing benefits.


The second part of the profile contains the relationships needed for the Benefits model. As I noted before, I have decided to use realisation and dependency links to model different aspects of the Benefits model. These are included in the profile by creating new classes of the same name that redefine the relevant metaclasses, thus picking up all the default behaviour.

Benefits Model Relationships
Benefits Model Relationships

The profile also includes a redefinition of Association, which I will use in the next part of the model, modelling Measures.

As always, I welcome comments!

(2019-07-15) updated links and diagrams

Proactive application of technology to business

My interests include technology, personal knowledge management, social change