Home / Support for EA Modelling With eaDocX / Insights / Choosing Your UML Subset

Choosing Your UML Subset

Narrowing down the modelling ideas in your Enterprise Architect model to make consistent, understandable models.

Modelling Languages are BIG – which is good

When you adopt a new modelling language, whether that’s BPMN, SysML, Archimate or good old-fashioned UML, then you should expect to be buying some big, thick books. These languages are developed over many years by lots of smart people, and they need to make the language cope with everything which anyone might want to do with it. And that’s what makes them big and complicated.

But that doesn’t mean you need, or should even think about, using the whole language. Teams who try to adopt all of a standard language tend to end up with complicated, fragmented models. This is because only a minority of the team will take the time – or have the interest – to learn all the language, and so their bits of the model will be complicated, using all kinds of groovy modelling constructs. The rest will stick to the bits they understand, and will be baffled by the other bits.

So the model will be uneven in how it expresses ideas: sometimes complicated, sometimes simple. Not a model which will get re-used.

Picking a Subset

The part of the language-adoption journey which many teams seem to miss-out on, or come to very late after their model has become unevenly complicated, is to pick a subset of the language.
A good way to do this is in three steps. Well. four actually, but the last step gets a separate section.

  1. Agree on the very smallest set of ideas which everyone understands and absolutely MUST be in the teams working subset. This might be very small. Small enough to explain to your project manager over a coffee. Small enough so that there really is no argument about what each idea means and where/how it should be used. ( Modelling ‘idea’ for this purpose is a type of box, circle or line in a diagram, and the text which lies behind it.) The biggest mistake here is to make the initial set of ideas =  ‘everything’. This won’t work.
    As an example, the BPMN process modelling language defines about 60 different kinds of event. I teach BPMN, and I’d be hard pressed to identify all 60. So there’s no way a team should use them all. There are about 3 BPMN events which are undeniably useful  – Startintermediate and end, and I’d even consider losing ‘intermediate’ until a team knows what they want it for.
    So the initial subset can and should be REALLY small.


  2. Grow your subset – carefully. This is the tricky part. As you model more things, you’ll be tempted to explore your chosen language and add more ideas to your subset. Have a stand-up meeting every week, or every day, to discuss new ideas. Make sure that everyone can agree on what any new ideas mean and where they will be used. Do this before they are made part of the subset. Also think about the re-work you’ll have to do to existing bits of the model, because you want your model to stay consistent. This last point might mean that whilst you may really WANT to add a new idea, the disruption caused by the re-work might be too great.
    And a word about bringing new ideas to this stand-up. It should not be a case of ‘hey, look how I’m using this groovy stuff I found at the back of the modelling book‘. It should be more like

    • “I’ve found this problem with our existing subset:
    • here’s what I want to say,
    • here’s what I can currently say, and how it’s not accurate/understandable
    • here’s my suggestion for an improvement – ‘how to’ examples and ‘how not to’ as well
    • …and here’s the re-work we’ll need to do if we adopt this new idea”
      Only when the team have thought about all of these should you adopt the new idea.


  3. Step outside the language – VERY carefully.
    If you look carefully at the very complicated Venn diagram above, you’ll notice that the subset isn’t really a strict subset.
    I said that the people who invented your chosen language were smart, and tried to encompass everything they could think of into the language. But they don’t work on your project, and they didn’t have to create the deliverable which you do. So it’s OK, sometimes, and with great care and thought, to step outside of the language, and create your own ideas.
    Well, you might think they are your own, but I 100% guarantee that someone, somewhere has already thought about them. So before you introduce your brand new, never-seen-in-a-project-before modelling idea, check
    • The modelling language, to make sure they don’t already have the idea, maybe with another name
    • Other people’s work on the interweb: they may have had time to explore the idea more than you have
    • Only then, add it to your subset.
      BUT
    • Make sure to document why you made the change, exactly what it is, and provide lots of examples – good and bad – of how it should be used and not used

Communicate, communicate

And the final point, which I’ve seen lots of teams forget, is to communicate your decisions. You may have invented the greatest modelling idea since the sticky note, but if only a few people in your team know about it, then you probably made things worse.
So tell everyone.
If you can get your team round a table for a 1/2 hour daily stand-up, then this won’t be a problem. But if your team are scattered across the world in multiple time-zones, then it’s going to be harder, so you’re going to have to try that much harder when communicating. And this will take time and cost money, so someone needs to schedule and pay for that. And that person will expect to see the benefit of spending the time and the money in a more re-useful* *(sic), more valuable model.

Your communications should have lots of examples – how to use it, how not to use it – so that in 3 years time when someone tries to re-use your model, they have every chance of understanding what you created. And put those examples into the model, so they don’t get lost.

Because that’s what all this is about. Making models more useful.

**(re-useful is the property of a model, or some code, which makes it more likely to be re-used. To be amplified in a future post)

More Insights

Only Connect - Exploring traceability in Sparx EA models

7 October 2021

This webinar explores how our documents can display traceability information captured in EA.

Learn More

Traceability using Multi-hop Relationships

9 September 2021

Using eaDocX multi-hop relationships you can easily print the end points of 'virtual connectors' showing EA end-to-end traceability.

Learn More

Enterprise Architect Tables: Using word table styles in EA

25 June 2021

This video shows how to apply Word table styles when you generate eaDocX documents from your Enterprise Architect models.

Learn More

Video Masterclass - Adding Detail to EA Matrix Reports with eaDocX

25 June 2021

With eaDocX you can format EA Matrix Reports in Word to include additional details and formatting. Here's how

Learn More

Video Masterclass - Creating documents from Model Views

25 June 2021

Use EA Model Views to create simple, flexible documents with eaDocX.

Learn More

Conditional Formatting Tool for Enterprise Architect

25 June 2021

Help readers find the things that need their attention, decisions and actions, with eaDocX conditional formatting.

Learn More

Video Masterclass - Attribute mapping with EA, eaDocX and Excel

25 June 2021

With eaDocX and Excel, it's easy to view, edit, create and even delete attribute/attribute links in Sparx EA.

Learn More

Enterprise Architect Help: Choosing the right document structure

25 June 2021

eaDocX makes it easy to create exactly the document structure your readers need. Here's how...

Learn More

Enterprise Architect User Guide - quick documents

22 June 2021

Video guides on how to create quick documents with EA's leading add-on, eaDocX.

Learn More

Documents in the Enterprise Architect Cloud

6 April 2021

eaDocX in the Cloud: Enterprise Architect document creating for EA SAAS environments

Learn More

Producing Enterprise Architect RACI reporting

11 March 2021

Producing a RACI report from data held in EA, mapping stakeholders to any project deliverables is straightforward with eaDocX.

Learn More

Using Excel to create an EA dashboard

16 February 2021

A simple example of an EA dashboard, to show how you can create your own and show the information in your EA model to your project team

Learn More

Where to start with Enterprise Architect data modelling

19 October 2020

BPM Tips: Advice for the new modeller #1

Learn More

Process based model styles

25 August 2020

How to use BPMN and UML to make models which last.

Learn More

Models matter - nearly as much as deliverables

25 August 2020

Models matter - nearly as much as model deliverables

Learn More

Improving model quality using a Sparx EA reference model

25 August 2020

Maintain quality with tools to find and fix mechanical errors in your modelling

Learn More

Fixing your meta-model

25 August 2020

Advice for the new modeller #3 – Fixing your meta-model

Learn More

How much domain modelling is enough?

25 August 2020

Advice for the new modeller #2 – (not) Melting the Pan

Learn More

What needs to be included in your EA model content?

25 August 2020

Advice for the new modeller #4 – (not) Modelling The World

Learn More

Knowing when to give up

25 August 2020

Knowing when to step back makes for better Business Analysts

Learn More

Using UML icons for more useful models

25 August 2020

Diagram Graphics for Adults

Learn More

Using Enterprise Architect to document decision making

25 August 2020

Make your models more useful for future modellers

Learn More

Beck’s Map: an EA model abstraction example

25 August 2020

Possibly the best model abstraction in the world

Learn More

Use case, package or process?

25 August 2020

A time for Packages

Learn More

Simplifying ideas in a BPMN Process Diagram

25 August 2020

How to find the right number of ideas to include in your model.

Learn More

Explaining EA Sparx Systems to non-modellers

25 August 2020

Model driven analysis - the best way to define what we do?

Learn More

How to simplify BPMN Data Models

25 August 2020

Why simplifying your diagrams can actually make them more informative.

Learn More

Create useful models using the Sparx EA Tool

18 August 2020

Advice for the new modeller #3 - Producing useful outputs with your new EA tool.

Learn More

Beginners guide to Enterprise Architect software

18 August 2020

Our advice for new EA modellers

Learn More

UML Business Analyst Solutions

14 August 2020

Using UML to resolve inconsistencies, gaps and overlaps.

Learn More

Cleaning: How to Simplify Enterprise Architecture Models

14 August 2020

Model Curation Techniques # 1 - Cleaning your EA model before you let other people see it

Learn More

Including Sparx EA Model Provenance

14 August 2020

Sparx EA model help to explain to others why your models look the way they do.

Learn More

What to include in your enterprise architect documentation

29 July 2020

How to create documents which communicate your ideas efficiently and effectively to stakeholders.

Learn More

Organising an Enterprise Architect Model

28 July 2020

Seven ways to organise your EA models so that other people can understand them

Learn More

Webinar: Using Interactive Documents to Collate Sparx EA Model Feedback

17 July 2020

A webinar from the EA Global Summit 2020.

Learn More

Webinar: How to successfully scale up your Enterprise Architect team

30 June 2020

A webinar from the EA Global Summit 2020.

Learn More

Navigating Models: Enterprise Architect Help and Techniques

16 April 2020

EA Model Curation Techniques #2 - Making models easy to navigate.

Learn More

Validation: Improving your Enterprise Architecture Model Structure

16 April 2020

EA Model Curation Techniques #3 - Validating your model

Learn More

Modelling techniques for business architecture software to explain general patterns

16 April 2020

Using object diagrams to explain general patterns with specifics.

Learn More

How to create personalised documents using Sparx document generation tools

16 November 2018

A guide to creating documents from Sparx EA models so everyone can engage with your work, project or deliverables.

Learn More

Document or Enterprise Architect Views?

21 May 2018

Create documents to be used by non-EA users instead of model views.

Learn More

Improve your enterprise architecture model using colour

25 April 2018

Careful use of colour and shape makes models easier to digest.

Learn More

Model curation techniques for EA Sparx Systems

6 March 2018

How cleaning, navigating and validating your EA model makes sharing and collaborating much more effective.

Learn More

The most re-used model components in Sparx Enterprise Architect.

20 October 2017

Why is the project summary the most read element in an EA model?

Learn More

Creating a Glossary: Business Analyst Terminology

12 October 2017

Streamline your business understanding with shared definitions.

Learn More

Business Process Analyst Styles

11 October 2017

Find out if you are a 'hard' or 'soft' Business Analyst.

Learn More

How to Print Sparx EA Connectors

18 October 2016

Structure your documents using the connectors in your Sparx model.

Learn More

Using Multi-hop relationships to display Branch/Merge with EA13

11 August 2016

One of the most common requests we see from new EA users is: "Why can’t I do branch/merge with EA?

Learn More

Compare pricing and features

Choose the eaDocX edition that’s right for you and your team

Compare Pricing

Download a free trial

Take a free, no obligation, 30-day trial of eaDocX. Discover for yourself why it’s the world’s best-selling Enterprise Architect extension.

Download