Quite often people wonder where a Solution Architect fits within the TOGAF Framework and it is not obvious that there is a single answer. I suggest we look first at a generic profile for a Solution Architect.
Companies such as Oracle, Cisco, SAP and others have roles called Solution Architect but with little apparent agreement to what that role is.
Some commonalities between various skills are:
· Strategic business acumen (understand business requirements and strategy)
· Technical analysis
· Broad and deep technical knowledge
· Technical leadership (the trusted, technical advisor for assigned line of business, providing thought leadership and application of technology to business problems)
· Data Architect
· Shapes the evolution of company’s products
· Maps product requirements and business problems to re-usable end-to-end technology solutions
· Uses methodologies and frameworks (using best practices and common patterns, including database, component layers, user interfaces, web services, and integration patterns)
· Builds and deploys new functionality and extend applications (driving the development of those solutions by guiding and mentoring the development team through the entire development process. Some development will be required for shared services and components or technically challenging areas where the skills of an architect are needed).
· Software architect (must understand and contribute to all levels of design needed for the solution (business, data, application, technology))
· Deep experience developing enterprise solutions using all aspects of the .NET platform, open source or Java (or any other environment), Web Services, multithreaded programming, designing and building frameworks, enterprise patterns, SQL design and development, and database tuning
· Coder (build and code prototypes and frameworks)
· Hands-on experience
· Performance and load testing, development tools
· Works with major lines of business and IT Development teams
· Is a member of the Enterprise Architecture team
· Documents solution designs and how they interact with the larger Enterprise Architecture
Now looking at TOGAF, we need to consider a few definitions such as the Architecture Building Blocks (ABBs) and the Solutions Building Blocks (SBBs).
Building Block – A (potentially re-usable) component of business, IT or architectural capability
- Architecture Building Block (ABB)
o A constituent of the architecture model that describes a single aspect of the overall model
o Describe required capability
o Shape the specification of SBBs
- Solutions Building Block (SBB)
o Represents components that will be used to implement the required capability
o A candidate physical solution for an Architecture Building Block (ABB); e.g., a Commercial Off-The-Shelf (COTS) package that is a component of the Acquirer view of the architecture
All ABBs will be stored in the Architecture Landscape of the Architecture Repository. These ABBs will have different levels of granularity to suit different architectural objectives.
The Architecture Definition Document which describes an architecture will contain all artifacts describing as views the building blocks.
During the Phase E, Opportunities and Solutions, we identify work packages and group them into projects, consolidate the gap analysis results from phases B to D, identify the building blocks to be developed or acquired reusing the existing ones (stored in the Architecture Repository) as much as we can. From there, we identify the SBBs which could potentially address one or more gaps and their associated ABBs. Existing SBBs have obviously also to be considered taking the interoperability requirements and dependencies into consideration.
The Solution Architect has a key role in this phase as (s)he will probably be the best qualified to identify the appropriate SBBs. He or she participates in the definition of any Transition Architectures, identifies potential solutions, and helps to formulate a high-level implementation and migration strategy.
During the Migration Planning phase they also have an important mission to ensure that SBBs are properly designed or that acquired solutions support business requirements. The Solution Architect may work closely with the vendor if a COTS solution is considered. A solution includes the hardware, software, and supporting people and documentation to solve a problem.
“The gaps in the existing enterprise solutions framework need to be identified and the specific Solution Building Blocks (SBBs) required to fill these gaps will be the identified by the solutions architects. These SBBs may have a one-to-one or many-to-one relationship with the projects. The solutions architects need to define exactly how this will be done. There may be other projects working on these same capabilities and the solutions architects need to ensure that they can leverage best value from these investments.”
Source: TOGAF 9 (15.4.1)
When the Implementation Governance phase is started, the Solution Architect will work in partnership with the procurer/acquirer in addition to the development team and/or the vendor. He will ensure that the development will comply with the target architecture.
When the solution building blocks are developed or integrated with other existing solutions, the Solution Architect will be working with the development team. His role will be to contribute to the design, development, integration and testing of the new components. This may be considered as being the Solution Architecture activity.
A Solution Architecture typically applies to a single project or project release, assisting in the translation of requirements into a solution vision, high level business and/or IT system specifications and a portfolio of implementation tasks.
Solution architecture starts with an understanding of the problem, which should be documented in the business scenario, and this is where so many projects fail. Too many people have the idea that solving a problem is all about coding.
The Solution Architect is a member of the Enterprise Architecture team but becomes at a later stage also a member of the Development team. His role is mixed; he is the bridge between concepts and implementation. However, the Solution Architect does not operate at the Strategic Architecture level (at the level of the Enterprise) but mostly at Segment and Capability Architecture levels.
“The Solution Architect has the responsibility for architectural design and documentation
at a system or subsystem level, such as management or security. A Solution Architect may shield the Enterprise/Segment Architect from the unnecessary details of the systems, products, and/or technologies. The focus of the Solution Architect is on system technology solutions; for example, a component of a solution such as enterprise data warehousing.”
Source TOGAF9 (52.6.3)
There is no mapping for a Solution Architect in the TOGAF Skills Framework, but I would suggest, based on my experience, the following proficiency levels:
TOGAF proficiency levels:
Source TOGAF9 (52.4.4)
This approach is related to the current situation in the market for Solutions Architects, where we see that most of their activities are limited to phases E to G. Another approach would be to consider a Solution Architect being involved in all phases of the TOGAF ADM from phase A and on-wards. A follow-up paper will describe how to address solutions from Phase A , when constraints exist, defining the role and responsibilities of a Solution Architect.