As Juha Korpela and I continue to collaborate in the content for the “an Agile data Guide to Modeling Business Concepts” one of the many challenges is aligning both our Way of Working in this Data Work and our language,
Agreeing things like ‘Conceptual Model’ or ‘Concept Model’. Or do we “Discover the Relationships” first or “Surface the Core Business Events” first in the 11 Steps.
As well as describing the pattern for the 11 step process of Modeling Business Concepts the Guide will also provided example Pattern Templates people can use to get started.
One of the parts of the Guide we are working on right now is what do we capture in the Definitions Pattern Template.
I am more of a visual person and find experimenting with examples is the best way for me to codify something that is abstract.
I have been working on a number of open source standalone Pattern Template apps off and on, when the time and desire presented itself.
Pattern Template Apps like the ones I have published for the:
Information Product Canvas
https://github.com/AgileDataGuides/information-product-canvas
Business Event Matrix
https://github.com/AgileDataGuides/business-event-matrix
Business Glossary
https://github.com/AgileDataGuides/business-glossary
But wait there is more
Behind the scenes I have a bunch of Pattern Template Apps, in various state of undress, I haven’t published yet:
Modeling Business Concepts companion app
As I have said already one of the things Juha and I are working through right now is the Pattern Template for Definitions.
The Pattern Template will provide a recommendation and example of what would we capture as the actual Defintion for a Concept.
This will help us iterate this page of the Guide.
And specifically this part of the content on that page:
A three-part pattern gives a good middle ground.
First, one or two sentences in everyday language on the nature of the thing, the conditions for calling something a ‘Customer’ or a ‘Product’.
Second, a couple of real-life examples, so a future reader has something concrete to build on. Only a few examples, never every possible one.
Third, the special edge cases, the points of confusion, the misunderstandings and arugements we can see coming. Each new one we meet gets added here, so it only happens once.
In one of the previous iterations of working on the Business Glossary app I stumbled across the “Aristotle’s definitions” pattern and started to use it as the format I used when I described a Concept.
Juha uses a format for Definitions which is based on the “intensional” and “extensional” Pattern which we used as the basis for the content on the Definitions step page:
What do you mean by <thing>
A few examples or subcategories
Possibly confusing special cases.
We have started discussing if we should recommend the Aristotle’s definitions pattern as the way to document “What do you mean by <thing>” part of the defintion.
Modeling Business Concepts companion app
Typically I would have jumped straight into creating a Google Doc or Google Sheet and started to create a Pattern Template for this.
As I have said seeing examples helps me understand and iterate things, it would also give Juha and I a shared language to work with.
But in the new GenAI world its much easier to quickly vibe code an app.
So that is what we did.
https://github.com/AgileDataGuides/concept-model
You can try a live version here:
https://agiledataguides.github.io/concept-model/
Step by Step
One of the decisions we made was to align the UX for the companion app wth the 11 steps process in the Guide.
We can iterate these to provide more guidance on the steps as we create it.
But wait there is more ….
And I had the benefit that I already had a bunch of components in this space, so of course I decided to extend the Companion App somewhat.
Concept Map
The obvious next thing to add was the ability to see the Concept Map.
We have styleed this to match the style of the Concept Map diagrams in the Guide.
I have also added an export to SVG option, so I can see if I can use it to generate the images for the Guide, rather than having to hand craft them.
We can also use the companion app for the example Concept Models we need for the Example (Orange) chapter, and then provide links to the full Concept Model examples.
And more and more and more …
As is the way we will now end up iterating the companion app as we iterate the Patterns, Pattern Templates and content in the Guide.
So follow along and provide feedback
We don’t want to flood this Substack with features we add to the Companion App, so follow the github repo if you want to know when we have added or iterated something.
https://github.com/AgileDataGuides/concept-model
If you have any suggestions of what we should add or iterate when you try using it, feel free to leave a comment here.










