We talk about Enterprise Architecture (EA) and Solution Architecture (SA) so much that sometimes I think we have ourselves convinced that it is actually possible to implement one. We craft models, generate elaborate diagrams, and implement sophisticated tooling, all in the name of evolving our businesses and organizations through strategic EA and tactical SA.
Don’t get me wrong. I’m a strong believer in investing in EA and SA. But I think it’s important to realize that you can’t deploy either one! The only thing that you can possibly deploy into a production environment is Technical Architecture (TA). EA is decomposed into one or more SAs, which are further decomposed into multiple TAs (see Figure below).
At the end of the day, the only thing you can deploy is a new business process, data storage mechanism, software application, sub-system, equipment, etc. at the TA level. You can’t possibly point to where in your data center your SA or EA lives. These are merely abstractions that are overlaid on top of the TA deployments and organizational changes that are implemented.
A SA is a collection of TA implementations that are organized around an architectural style and supporting infrastructure. While it certainly is possible to see Technical Architecture from the perspective of a narrow, single application focus, it is more clearly understood as a broader collective of TA instances that come together to embody the SA design. In the absence of the SA design and related architectural style, then TA changes and deployments are made in isolation as a random collection of one-off, ad-hoc solutions that are all addressing different objectives within the organization. The end result is a lack of sufficient traction and cohesion to drive the organization in the strategic direction that it needs to go. That’s where the combination of TA aligned with SA within the context of EA produces important strategic value – traction and cohesion to move the enterprise from the current (AS-IS) state toward the desired future (TO-BE) state (see Figure below).
Managing the development and on-going maintenance of a Solution Architecture involves the management of a portfolio of TAs. To do so, you must balance competing concerns both vertically between TAs and the SA as well as horizontally across the portfolio of TAs.
There are three primary tasks to perform in managing a TA portfolio:
- Highlight synergy between TAs and take advantage of this synergy
- Resolve resource conflicts that arise between TAs and ensure that activities are properly prioritized and managed
- Align design strategies so that patterns and supporting components do not conflict with one another
So remember, in order to be effective at delivering enterprise value through investment in architecture, then you need to focus upon architecture governance. Proper governance can guide your TA implementation efforts to align with another another, align with the SA design, and ultimately realize the long-term EA vision through multiple TA increments.