Today, I watched a Webinar on how we can manage layers in the enterprise architecture. The webinar covered a technique that includes structures and guidance for managing and extending core systems by abstracting them and layering a middle tier and thin client tier on top of that.
The key takeaway for me was the timeline for change. Core systems generally change 10-20 years, middle 3-5, and thin client 1 year. Each layer in the architectural model mapped to a different development methodology - core is waterfall, middle is iterative, and client is agile.
The single most activity that provides the best value is to wrap the core systems to provide enterprise-wide abstraction.
In terms of approach, there were several prescriptions depending on the needs of each organization in terms of achieving the goals of addressing common concerns. One approach was to separate or create services into classifications : application, channel, and enterprise. Each approach is more costly, but offers more benefit of done right.
The speakers offered that the drivers of cost are related to management and governance. They cautioned to only build what is needed (a common theme in software development).
Several recurring themes in my view of software architecture for the enterprise were presented in the Webinar. This only further solidified and validated what I knew. Not to sell them short, because it also added to what I know. Brilliant work and a great presentation!