What is an event? This was the question that we faced as we started on a data modelling exercise for the Southbank Centre. Different teams, using different systems, had slightly different ways of defining what an ‘event’ was. In isolation, each team managed to carry out its tasks and do its reporting. The issue came when they tried to exchange data between systems. It was a very inefficient and inaccurate process that, as a result, did not get done.
This is where the data modelling came in. We wanted to move away from a system-centric approach to data based on the way that the application’s database was designed. Instead, we wanted a universal way of describing events and all the people, things, locations and activities that where part of them. At its highest level, data modelling is about creating a common language, abstracted from any application or business process. It is an exercise in describing: “Who is doing what where and when with what?”
As a first step to data modelling, we needed to understand how different parts of the business describe what they do. That is, what were the key types of people, organisations, things, events and locations they dealt with. It was here that it became clear the multiple meanings of ‘event.’ From there, there are some interesting discussions about how to create a common language. We spent a fair bit of time working out a definition that everyone could agree on. In the end we agreed that an event was “a single activity that occurred at a specific time and place.” It was not perfect, but everyone thought it made sense for what they did and for the organisation as a whole.
The value of this exercise was, initially, discovering that ‘event’ had more than one meaning. From there, we were able to make some choices about how the applications were connected together. Using the agreed definition of ‘event’, we built tools that translated into the common language and then back to the application language. This meant that we did not have to rewrite all of the business applications and could share data across the organisation with some level of data assurance and quality.