Use case, package or process?
A time for Packages
Over the last few months, I’ve visited a couple of customers who were each having trouble with packages: one had lots of what they called Use Cases which were really Packages, and the other had lots of Packages which were really Processes.
Their reactions to finding out that maybe this wasn’t the best way to structure their models was also instructive, but more of this later. First the problems.
Elements which are packages
First, the Use Cases which were packages. This is a fairly common beginners error, and usually means the modeller hasn’t quite understood what a Use Case really is: One Person, One Place, One Time. So their first model looked like this:
Use-case experts will be shouting at their screens . ” How can a Use Case be called ‘Customer Management’ – it doesn’t start with a active verb!”
So clearly these higher-level blue blobs aren’t Use Cases at all – they are groups of other use cases. But these were smart people, and they knew about functional decomposition, so this looked right to them. Then we talked about what a Use Case was, and we decided to change to something more normal:
Hopefully most people would agree that this looks more like a Use Case model should. The strange ‘use cases’ have become packages – just groups of other use cases
Packages which are elements
Now the opposite case. A process model, created by some very good BPMN process modellers, who somewhere took a wrong turn.
So here the problem was reversed. They had somehow decided that there was such a lot of ‘stuff’ under ‘Configure Widgets’ that it must be a Package. That made his documents look really neat as well.
But it’s not: Configure Widgets is a Process, and should be made into an Element (a lower-level ‘thing’ in most tools, which is a child of a Package). So again, we had a chat, and decided to change to something more ‘normal’.
But it’s not: Configure Widgets is a Process, and should be made into an Element (a lower-level ‘thing’ in most tools, which is a child of a Package). So again, we had a chat, and decided to change to something more ‘normal’.
In both cases, I made the argument that it matters how models are structured. These will be viewed, used and changed (hopefully) by many people over many years, so making them conform to what most people will expect to see is really useful. In both cases, they could have happily continued modelling in their original style, and still satisfied their own projects’ needs. But future viewers would be confused
Different Reactions
So far, this is a minor modelling point, and maybe not one which you care about too much. But what made these two events memorable was the differing reactions of the two teams.
One – the Use Cases team – was very reluctant to change their model. It had been produced by several people over many weeks, and had 100’s of use cases. Changing it would be hard (it wasn’t, as it happened – we wrote a little EA script to fix it).
The other team also had lots of processes, listened to the arguments, and immediately decided to change to a more ‘normal’ style.
Now I wish I had a neat theory as to why one team was reluctant to change, and the other not. The ‘process’ team had much more modelling experience than Use Case one, so maybe they felt they understood the argument better. The Process team had already been given lots of feedback on their model, so maybe they were happier to take external suggestions: the Use Case team were blazing a trail for model-based development, so hadn’t had much external feedback.
My learning points – which I’m going have to apply to my own models 🙁 are therefore:
- Don’t get too attached to your models. It’s just a way of writing stuff down, not a part of your soul. You’ll leave them behind anyway some day. It’s not personal.
- Get other people (who know something about modelling) to look at your stuff, as often as possible. They may know even less than you, but two pairs of eyes is always better than none. And the less they know, the more chance they will ask the ‘stupid question’ which turns out not to be.
More Insights
Documents are dead - or are they?
19 October 2023
If your organization needs documents then you need eaDocX and Revision Manager - for quality documents, easy reviews and fast efficient model updates.
Learn MoreDocument-based EA model collaboration
27 September 2023
eaDocX and eaRevisionManager provide a cost effective and powerful solution for efficient document-based collaboration in Enterprise Architect.
Learn MoreWhy has eaDocX become eaTeamWorks?
27 September 2023
Here are the reasons why eaDocX is now part of eaTeamWorks - and why it's good for you.
Learn MoreCreating Custom Documents in Enterprise Architect 16
21 September 2023
Enterprise Architect 16 offers refined tools for customizable report-building. But sometimes you need even more. And fast. Here's how.
Learn MoreTraceability 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 MoreEnterprise 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 MoreVideo 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 MoreVideo Masterclass - Creating documents from Model Views
25 June 2021
Use EA Model Views to create simple, flexible documents with eaDocX.
Learn MoreConditional 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 MoreVideo 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 MoreEnterprise 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 MoreEnterprise Architect User Guide - quick documents
22 June 2021
Video guides on how to create quick documents with EA's leading add-on, eaDocX.
Learn MoreDocuments in the Enterprise Architect Cloud
6 April 2021
eaDocX in the Cloud: Enterprise Architect document creating for EA SAAS environments
Learn MoreProducing 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 MoreModels matter - nearly as much as deliverables
25 August 2020
Models matter - nearly as much as model deliverables
Learn MoreFixing your meta-model
25 August 2020
Advice for the new modeller #3 – Fixing your meta-model
Learn MoreKnowing when to give up
25 August 2020
Knowing when to step back makes for better Business Analysts
Learn MoreUsing Enterprise Architect to document decision making
25 August 2020
Make your models more useful for future modellers
Learn MoreExplaining EA Sparx Systems to non-modellers
25 August 2020
Model driven analysis - the best way to define what we do?
Learn MoreHow to simplify BPMN Data Models
25 August 2020
Why simplifying your diagrams can actually make them more informative.
Learn MoreUML Business Analyst Solutions
14 August 2020
Using UML to resolve inconsistencies, gaps and overlaps.
Learn MoreCleaning: 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 MoreIncluding Sparx EA Model Provenance
14 August 2020
Sparx EA model help to explain to others why your models look the way they do.
Learn MoreWhat to include in your Enterprise Architect documentation
29 July 2020
How to create documents which communicate your ideas efficiently and effectively to stakeholders.
Learn MoreOrganising an Enterprise Architect Model
28 July 2020
Seven ways to organise your EA models so that other people can understand them
Learn MoreChoosing Your UML Subset
27 July 2020
Narrowing down the modelling ideas in your Enterprise Architect model to make consistent, understandable models.
Learn MoreWebinar: Using Interactive Documents to Collate Sparx EA Model Feedback
17 July 2020
A webinar from the EA Global Summit 2020.
Learn MoreWebinar: How to successfully scale up your Enterprise Architect team
30 June 2020
A webinar from the EA Global Summit 2020.
Learn MoreNavigating Models: Enterprise Architect Help and Techniques
16 April 2020
EA Model Curation Techniques #2 - Making models easy to navigate.
Learn MoreValidation: Improving your Enterprise Architecture Model Structure
16 April 2020
EA Model Curation Techniques #3 - Validating your model
Learn MoreModelling techniques for business architecture software to explain general patterns
16 April 2020
Using object diagrams to explain general patterns with specifics.
Learn MoreHow 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 MoreDocument or Enterprise Architect Views?
21 May 2018
Create documents to be used by non-EA users instead of model views.
Learn MoreImprove your enterprise architecture model using colour
25 April 2018
Careful use of colour and shape makes models easier to digest.
Learn MoreModel 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 MoreThe 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 MoreCreating a Glossary: Business Analyst Terminology
12 October 2017
Streamline your business understanding with shared definitions.
Learn MoreBusiness Process Analyst Styles
11 October 2017
Find out if you are a 'hard' or 'soft' Business Analyst.
Learn MoreHow to Print Sparx EA Connectors
18 October 2016
Structure your documents using the connectors in your Sparx model.
Learn MoreUsing 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