More on the Architectural Theory of Everything
Yesterday I was wondering about an Architectural Theory of Everything. Thinking about it some more, I realised that there are (at least) 2 dimensions of the Architectural Continuum. One scale of the Very Small to the Very Large is the number of systems for which you have architectural responsibility. The second dimension is the focus – running from domain specific through to Enterprise. To demonstrate these scales, here’s a chart:
The x-axis runs from the Very Small of specific domain focus through to the Very Large of Enterprise focus – remembering that some Enterprises are of global scale and cover multiple domains, these are on the far right of the x-axis. The y-axis runs from the Very Small of the application specific to the Very Large of multiple application focus. I’ve put a few roles on the chart to demonstrate where they might fit in. I’ve assumed that an Enterprise Architect has enterprise focus and focuses on multiple systems, so is at the Very Large end of both scales. The Application Architect focuses on a specific application in a specific domain, so is at the Very Small end of both scales. The Solution Architect focusses on multiple applications, but only focusses on a given domain. The Technical Design Authority focusses on an application or a related set of applications but takes an enterprise perspective. Of course, these are made up roles to demonstrate the point; your organisation may have different roles and they may be at different points on this chart.
The Architectural Theory of Everything would be patterns and principles that are true across all of this chart. We know that one size doesn’t fit all, but the shoe can be remade for different size. Equally important is what doesn’t work across the scale – just as gravity being so weak challenged the physicists, there may be issues that are different across the chart – these are important because an architect can expect to move over their career, so if you are applying patterns that are successful in the Very Small, you need to know if those same patterns don’t work for the Very Large. Also, I think that recognising that architecture is a broad discipline is helpful and may increase our ability to respect the differing challenges we face and help us to express more accurate the context in which a pattern should be applied.
I just need to work out where the string goes and how long it should be…