I saw this today: 13 Enterprise Modeling Anti-Patterns & How to Avoid Them [
I thought it presented some useful points albeit often otiose. It mixes two issues i.e. how to do enterprise modelling (SITP) and what the results of good enterprise modelling (SITP) should be e.g. avoiding immature or unstable technologies (except in rare circumstance) should be a result or conclusion from for SITP - but it doesn't really tell us about SITP per se. I am interested in SITP and focus below on aspects that relate SITP method.
I think it can really be boiled down to 3 things
1. Audience, Purpose and Use are critical - The one thing it repeats many times in many ways is that you need to model with an audience, purpose and use in mind. This means models won't be too detailed i.e. if they are fit to purpose. It also implies that you will look at how to engage with the various stakeholder (rather than doing what suits developers who in my view have often hi-jacked the process). Lastly this means that you must have some idea of a path to implementation as few stakeholders will proclaim to know things for no purpose other than to know them i.e. stakeholders will clearly say we want to know so we can decide and act.
2. Ongoing knowledge accretion - It also points out that you need to roll things out (when they are not perfect) and let them evolve and mature.
3. Know what you know - Understand what you are capturing e.g. an essential aspect, just how it is today (but not how we would like it to be), how we would like it to be (but not how it is)
The things it say to avoid (with by comments in [ ]) are:
30,000 feet and climbing
- avoid models that are too high level [well this is tautology];
- ensure models have a practical use [but this is absolutely key]
Detailed enterprise model
- model just enough detail [this really comes back to understand the use i.e. the point above].
-- Model with a purpose [yes].
-- People rarely read the details [Well this really is a problem with the concept of models and it is most people are not interested in most detail (detail about other peoples domains]. This is not to say that the detail should not be understood or recorded. It is to say that the detail should only be presented to the people to whom it is of interest and when they want to see it]
-- Know the audience for the models [absolutely - or more accurately understand the audience for views of the data that answer question they care about]
Ivory tower architecture
- Create realistic models [?? what other kind of models are of use??] rather than perfect world scenarios [?? well surely one need to know how one would like things - this seems to conflict with a point below]
-- Get Development teams involved early [?? why on earth would you set out with the aim of doing development, surely development is necessary evil not something to be encouraged by premature engagement of people who like doing it]
Modelling for modelling sake [absolutely]
Real world disconnect - ensure models reflect the actual stakeholder requirments [absolutely]. So don't use arcane developer oriented modelling approaches e.g. UML, ERD etc.
Striving for perfection [there is nothing wrong with striving for improvement].
- Roll stuff out even if it is not perfect [This is the key aspect. The information and process needs to evolve progressively with the involvement of the whole community]
Getting stuck in the weeds [Well I would say - avoid capture transient implementation specific details unless they are critical for some reason and capture the essence of the issues]
"Technology above all" [yes] Make technology a business enabler not a business driver [well the fact is that sometimes the market/environment means that technology is or should be a a driver]
"Tomorrow suffers from today" [record how you would like things to be - which is why it is important to understand the essence of things vs. just their current implementation]
"Underground Future" ensure models create a clear path [yes - with out plans, initiatives and transitions a vision is not that useful]
"Yesterday's Enterprise model" - Once finished don't let your models get out of date [well this is oxymoronic. One never finishes, the models are an ongoing active record]