The Democratization of Architecture
Many IT professionals know they *should* do their architectures. How can you build a system, or preferably a capability, without an articulated architecture to backstop it? But UML is a complex art. The tools to wield it can be daunting. So very few IT professionals, going by the name architect, actually build them. Most times, when built, they are a snapshot of what was wanted and are sent to the bookshelf to live out a long life.
It is with this as context that IBM undertook an effort, about 6 months ago, that we now understand as “the democratization of architecture” – making it safe for the masses. The gist is that we wanted to accomplish 2 things:
- Lower barriers to entry
- Make IT capabilities more accessible at design time
Step 1 – Using a simple spreadsheet input approach we ease the entry barriers into a real UML tool – Rational Software Architect (RSA). We can consume customers’ mission elements via a simple Excel spreadsheet breakout. Customers sit with client personnel and talk about their 5-7 major mission elements that they need in the solution. Next they break each of those down to its constituent parts, and so on down to 4 or 5 levels of detail. RSA consumes these mission elements and produces a strategic mission model.
Back on the IT capabilities side, we’ve done a market survey for each of the major IT capabilities groups; e.g., Security, User Experience, Development Tools, Information Management, Transactional Management or Enterprise Service Management. For all the horizontal middleware capabilities, we build simple models. These models are labeled using the customers’ vernacular – the way *they* talk about capabilities.
Step 2 – Now that we consumed the mission elements and have the IT capabilities, we can produce a simple spreadsheet with a page for each of the IT capabilities groups.
In the picture, you see an example of spreadsheet produced from RSA that maps mission elements (columns) against the IT capabilities (rows).
Step 3 – The user to sit with a client person and map IT capabilities, that could satisfy requirements, against the corresponding mission elements. A simple “x” in the intersecting cell is all that is needed. We could also enter a statement about that relationship in the cell. These statements will automatically be added to the eventual UML model.
Step 4 – Once the spreadsheet is filled out, it is consumed back into RSA (using a plug-in authored by Fred Mervine – the granddaddy of this democratization effort) to generate the UML joint capabilities diagram. Essentially we join the mini-models from each sheet into one overall model that shows the collection of relationships. “Modeling for mortals.”
A real UML jock can take that joint capabilities diagram and decorate it with NFRs, sequences, and other essential architectural elements and produce a final actionable architecture. However, what we’ve done is to ease the process of identifying the basic mission elements in the solution and the basic COTS architectural elements needed to satisfy those requirements. “Architecture for everyone.”


