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.
Classes
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:
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.
Relationships
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.
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