An esteemed associate of mine asked me recently if I believe that a conceptual information model, created and delivered independently from a process model, can be considered useful when attempting to improve a business. In other words, if you have an conceptual information model, can you use it directly, or do you need to produce a process model as well?
The answer, as is typical of EA answers, is buried in the question. If the goal is to improve a business measurable (like customer satisfaction, or average dollars per order, or customer acquisition cost), then the information model is not useful by itself. A process model that illustrates how the information is generated and managed must also exist.
So we will often need to develop both a conceptual model of a business and a process model for the business… but which comes first? Must they be done in parallel? Or should an architect create one before the other?
Personally, I know of cases where a process model existed long before a conceptual model did, and vice versa, so clearly the efforts are not contingent upon the other. In fact, in the situation I am in right now, the business has defined a rich process model that has grown out of date. I have separately developed a conceptual information model that includes concepts considered important by the stakeholders.
Now comes an interesting question: how do we take an updated conceptual information model and use it to improve an existing (but dated) process model?
I have my ideas, but I’m wondering if you, gentle reader, have specific ideas to share as well? I’ll outline my thinking, but I invite a discussion: is there a better way?
Situation: a project team finds that they have a conceptual information model, and/or business vocabulary, that is not in sync with the processes that the business says they want to standardize upon. How do we use one to improve the other?
OK… that’s a swag. Does anyone have a reference to a well documented and sound methodology for taking a conceptual information model and using it to improve an existing, and potentially out of date, process model?
Just ran across, quite by accident, a blog post from last spring from Johan den Haan on the "Architectural requirements for Service Oriented Business Applications." This is a clear, consistent, well described web post on SOA and service architecture. I recommend it highly.
Sometimes, when something new comes along, the best way to see it being useful is to see it being used. Think about it. If I went back to 1960 and visited a family somewhere in the midwest of the USA, and explained a "computer chip" to them, would they see value? Maybe. Probably not. Life is just fine as it is, thank you.
But if I showed them how I could use a computer chip to make a simple and useful device, that could do the trick.
Oslo is a new technology for modeling, and many Microsoft-platform developers are unfamiliar with model-driven development in general. I don't think the best thing is to say "it's cool" but to say "here is how you use it to solve a problem."
Microsoft IT is looking to adopt Oslo in a big way, and along the way, we will be going through all of those same growing pains. We use modeling tools in many areas, and some teams are quite sophisticated in their use of modeling, but Oslo is a major step forward for the Microsoft platform, and we are excited to be adding this new tool to the arsenal.
As we do, I hope to be able to come back to you, in this forum or in some other one, to talk about the useful problems we were able to solve using Oslo. I believe that "showing" is better than "telling."
But for those of you who are still curious, please jump over to the Oslo Developer site and download the CTP or read up on some excellent material. I especially like this blog post (Oslo == 42) for helping to put Oslo into context.