Top-down, Bottom-up...but what is the 'Middle'?
There was a recent conversation between several folks on the topic of what Top-down is versus what Bottom-up is. I think of these two terms as analysis approaches similar to the OSI Seven Layer Model which clearly describes what is up and what is down. Using the OSI Seven Layer Model as a metaphor, 'Bottom Up' would be analysis of a enterprise architecture from the physical layer and working your way up to the business strategy/goals and 'Top Down' would be analysis of an enterprise architecture from the Business Strategy/Goals and working your way down to the physical layer. Of course, the OSI Seven Layer Model doesn't aknowledge Business Strategy, but I hope you get my attempt at correlating to the OSI model anyway :).
Although I think that these two concepts are interesting, I feel that they are only a means to an end...and the end being 'The Middle'. If one could define The Middle, we could make a significant step to defining that elusive creature called business to IT alignment, or as a Gartner analyst once said business to IT fusion. I sort of like the twist of using the word fusion because it conotates a tighter relationship between business and IT and feels more like IT adjusting to the business in near-real time. Anyway, with regard to enterprise architecture, The Middle is a standard public system interface of a business software system with a clear intention of optimizing for system flexibility in the system design. The Middle, therefore, must have at least the following characteristics:
- Clearly describe software service endpoints which automate a business process step/task/activity
- Defines the business information/objects via a canonical message schema passed into (and out of if appropriate) the business system interface
- Defines a published address and transport protocol of the software service
- Is inclusive of the logical system architecture Service Layer pattern
I'm certain that there are more characteristics and over time I'll update and build upon this list. For now, I'd like to simply assert a few to get the concept out there.
Can there be other 'Middles' such as those software services which have a standard interfaces to data, like the situation that Master Data Management solutions propose, and software services which that support Bridge or Gateway interfaces? Yes, of course! However these are methods for building high-quality software sub-systems to support the business software. So, from the enterprise architecture viewpoint and a focus on fusing the business and IT, The Middle is the business software system interfaces not lower-level standard system interfaces.
So, is The Middle an analysis approach compared to Top-Down and Bottom-Up? No. The Middle is the end game and is a result of analysis combining both Top-Down, Bottom-Up and Middle-out analysis methods. The main point is to know what you are looking for when using these approaches before using them and avoid waisting heaps of time. I would like to note that using Top-Down and Bottom-Up analysis helps with identifying traceability from Business Strategy to physical implementation that will be very useful down the road if/when someone from the business or and IT group needs a simple view for why The Middle is necessary and how it affects them.