Ever since the business analyst role began to be defined as a discrete specialism, there has been a continuing debate about whether data modelling should form part of the BA skill-set. Recently, I have heard two arguments advanced for the ‘no’ answer to this question, namely:
- That data modelling is essentially a technical matter, more relevant to software developers than to the business-oriented BA, and
- That data modelling is too difficult to master.
I’d like to (try to) knock these two arguments on the head once and for all!
Let’s start with the business versus technical issue and consider a context where we are exploring the relationship between customers and orders in a business system. The data modelling question is ‘must someone have placed at least one order to be deemed a customer?’. So, what is the right answer? Well it all depends on the business rules. The business may define a customer as someone who has bought something from them, in which case there must have been at least one order placed. But another organisation might consider people who have enquired about the products and services but haven’t placed an order to be customers so that (subject to GDPR constraints) they can keep their information on file for marketing purposes. In this case, there can indeed be customers without associated orders. Even in the first case, though, an additional question to be asked is, how long does the organisation wish to store order details? If, say, the answer is five years and there are customers who have not ordered in the past five years, then the mandatory association of customer with order means that such customers must be deleted alongside their most recent order. The organisation may be fine with this, or they may not, but the person best able to explore the business rule is surely the BA rather than a developer who may be in another firm or on another continent and does not have the BA’s intimate knowledge of the organisation and its business.
As to the argument that data modelling is difficult, well really! I believe that most BAs could, with proper training, master the techniques. Assuming that some effort is required to gain a good grasp of data modelling, that shouldn’t be a reason to shy away from it. Conducting a one-to-one interview in a sensitive ‘political’ environment is difficult, and so is staging an effective presentation to ‘sell’ unpopular recommendations, but they are certainly part of the BA’s skill-set. Actually, though, I am not sure that data modelling is that difficult. OK, there are some issues that are a bit challenging, like multiple recursive relationships in a ‘bill of materials’ structure (look it up!) but, if there is a will, the basics of entity-relationship or class modelling are really not hard to grasp. And, with thought and use of business terminology, they can be communicated well to business managers and staff.
We keep being told that we live in the digital age and that data is a vital resource. If that is indeed so – and I think it is – then BAs should embrace data modelling, practise developing and communicating models, and integrate it into their toolboxes as soon as possible.