Architectural Layers and Tips on how to Achieve Architecture Consistency, Page 2
The common reference for an architect in the present day industry is Solution Architect or Application Architect. Sometimes this role can be referred to as Software Architect. This role delivers the software solution for a given business problem using enterprise standards. This is the first step for any developer of varying experience to enter into the architectural world. Sometimes the resource, who acts as the Solution Architect, can focus on software specific solutions such as Java or .Net. Application Architecture is mostly used in package implementation environments, where knowledge of packages such as any SAP or eBS is required besides having experience in any specific software.
How to Organize the Roles
Irrespective of the type of an architect, the most important factor is to develop the specific role description and expected outcome for each type for a given size of an IT organization. Some suggestions are:
- The Enterprise Architecture Group can take up the responsibility for business architecture and systems architecture. The Enterprise Architecture Group will set guidelines for System Architecture if an organization is quite large and requires a dedicated system architecture position. Usually this group falls under the CTO (Chief Technology Officer) organization.
- The Solution architecture can be the responsibility of the Delivery Groups. This role can be played by Tech Leads or Senior Developers when the Solution Architecture role is not formally created.
- The Enterprise Architecture Group needs to establish a process for an oversight and loop back mechanism from Solution/Application Architecture. This process is monitored through the Architecture Review Board at the beginning of a project and/or after elaboration, for example, before the coding begins.
- Also, Enterprise Architecture needs to understand the lessons learned from every implementation so that real time experiences will translate in to constant refinement of standards.
- For smaller IT organizations, sometimes the Enterprise Architect and Solution Architect can be referred to as the System Architect and this resource acts as the bridge between developers and infrastructure. In these situations, developers can become System Architects as they tend to participate in hardware design also.
Figure 2 will demonstrate an example to define specific objectives for a given role. The downward arrow indicates the direction of any project/program and associated transition from one architecture type to the other. In this figure, some objectives are repeated between the types and the reason is the level of involvement for that architect at each development stage. For example, the involvement of Enterprise Architect in Hardware Architecture is to make sure that the standards are followed and the System Architect would involve in the detail design of hardware and would eventually recommend the procurement of hardware.
Click here for larger image
Architecture Sub Layers
So far, we defined the main layers of architecture. But there are other types, which are equally important and are depicted in Figure 3. All of these types or sub layers play a role in each of the layers with a varied focus. Complexity, size and type of a project will highlight the need of one type of these architecture types over the others. For example, in a highly integrated project with a lot different applications required to integrate to produce the desired end result, Integration Architecture tends to play a bigger role throughout the life cycle of the project.