July 8, 2014

The Architect

An architect, like a traditional building architect, is the designer of the system.

There are different types of architect that specialise in different parts of the system, but essentially they all do the same thing, which is create a design and the necessary artefacts that allow others to understand the design to ensure the solution is what is needed and to allow developers to build it.

There is a surprising lack of industry agreement on what the role is called.

During my research, I had a look at Wikipedia to see how it defined the Enterprise Architect but found the description to be really unhelpful. The same went for Software architecture too, in that it did not give any real meaning in today’s world of the actual day to day life of someone working doing these jobs. During interviews and on message boards, I have also experienced confusion as to what these roles entail. It is therefore important you understand the role of an architect and don’t worry too much about the title.

I have experienced many terms for these roles, such as system designer, technical designer, system engineer, and technical architect. The list goes on and on, but essentially they all do the same thing.

I have chosen the following terms because they make sense to me and the gap in explaining what you mean to an employer is usually fairly small. These are:

  • Enterprise Architect
  • Software or Solutions Architect
  • Infrastructure Architect
  • Data Architect
  • Security Architect

How the roles fit together in an organisation

Enterprise Architecture

My definition of the Enterprise Architect (EA) is one who facilitates and creates the architecture between the high level elements representing the business operations across the entire organization.

I believe IT to be a service industry which services the needs of business. The Enterprise Architect’s role should be in alignment to this goal. I have performed this role for many companies and it has always been to facilitate and to make clear to the business what they are already doing and how they can improve. The EA defines the appropriate levels of governance (standardization) and integration between different business units.

A business unit can be defined as a separate business within the organisation, a department, a product or even services within a large product.

For more details on Enterprise Architecture I recommend: Enterprise Architecture As Strategy.

The role of Enterprise Architect

The EA typically sits between IT and the business. In some of the companies I have worked for the EA role is treated as an IT role. However, this has worked best when split between IT and the business. At Goldman’s for example, my budget sat with the business but I sat and worked in IT. I effectively sat between two departments making sure each got what they needed.

The EA’s job is therefore to provide a map of the business at the highest level. This map provides the standards at lower levels of the architecture and shows how the items fit together. The architects working on the lower level detail will need help to understand the bigger picture and how this affects the work they are doing.

The deliverables of the Enterprise Architect

The Enterprise Architect needs to be a people person. They need to be able to operate at the highest levels of the business and this is reflected in the type of output of artefact they produce. When I work at this level, I typically produce a one page slide and very high level diagrams showing the logical, deployment, physical and network views as well as interfaces, messages and integration points in the system and provide standardization across the business units.

Another key role of the Enterprise Architect is to work with senior management or board level directors to help them to define the prioritization of the individual projects and how these projects will be carried out. On a project by project, or service by service basis each integration point needs to be well thought out, making sure changes don’t break other dependent components or systems.

Another challenge with changing architecture, is that people’s roles will change and their responsibilities with them. Again, the Enterprise Architect’s people skills are essential in dealing with this kind of change.

The end game is to produce a set of artefacts which will structure the work of the other architects working in each of the business units, ensuring that when individual projects are started, they follow the master plan for the business and conform to the operating model.

Who consumes the high level diagrams?

Typically the high level diagrams are consumed both by the business to understand what they are getting and to ensure it covers all of their requirements and also by other architects who will define the architecture in more detail. These are typically the Software Architect, the Data Architect, the Business Process Architect and the Infrastructure architect. They will define how their operating unit implements their own IT systems. The amount of integration and governance these other roles need comes directly from the Enterprise Architect’s artefacts and ultimately the operating model.

In finance, regulatory bodies may also be consumers of this data and in this case the relevant authorities may request specific details to be added to further clarify points in the system.

It is important to understand that as the architecture gets more detailed, the architecture planning should be done in an Agile way. The finest and lowest level of architectural detail should be done as close in time to the development as possible and in an iterative way. At this level, I try to get the architecture just a couple of sprints ahead of the development team.

Defining what artefacts you need to deliver

In defining the different types of artefact, it is extremely important to be pragmatic. There are numerous methodologies that prescribe lists of artefacts to deliver, but the only ones that are important are the ones that people will read and will find useful in doing their job.

For this role, however, you should know about the main methodologies and look for either qualification or a good understanding.

The two main methodologies are:

For a comparison of these two and two others, see http://msdn.microsoft.com/en-us/library/bb466232.aspx

Summary

The Enterprise Architect is the highest level of architect in the business. They help facilitate and merge the demands of the business and of IT into a single unified model. This allows both the business and IT to focus on what they do best and have the appropriate level of flexibility, security and risk built into the system.

Expected income

There are a few Enterprise Architect roles on the contract market with more in the permanent job market. It can take slightly longer to get work in this field as typically each organisation only has a few architects at this level and most times they employ from within their company. However, the pay is one of the highest for any role and the role exists on the project for the longest time of all the roles, meaning long contracts or job security. Most Enterprise Architecture takes years not months to realise.

The salary band for an Enterprise Architect is typically in the region of £70k – £150k+ or around £650 – £1000 a day. Again there is a wide bracket, but in this case it is due to size of company and budgetary constraints more than experience, as experience is required regardless of wage.

Source: http://www.itjobswatch.co.uk/contracts/uk/enterprise%20architecture.do

Other source: my own experience.

How to become an Enterprise Architect

An Enterprise Architect will typically have been a developer and architect previously and probably has 7+ years’ experience in IT If you are beginning with no IT experience or have no architectural experience, I would recommend choosing another role to start with. However, if you have some development or just architectural experience, or even EA experience in a different sector this role maybe for you.

Learn the methodologies that are used. You may want to become qualified in one or more of the methodologies as well.

TOGAF 10th Edition

Enterprise Architecture Using the Zachman Framework (MIS) – Carol O’Rourkes

Software or Solutions architect

The Software and Solutions Architect are the same thing, both names are used interchangeably throughout the industry.

The solutions architect typically works on one or a few similar systems and ensures that:

  • The Enterprise Architect’s vision and governance is followed
  • That the low level software components and services are designed to best practice and will meet requirements
  • The right level of artefacts are created to help developers build the solution

The Solutions Architect will most likely be part of the development team’s daily stand up and contribute to the low level design taking on board suggestions from the developers and guidance from the enterprise architect. I have also seen this level of architect helping with code reviews.

Skills of the solutions architect

Just like the Enterprise Architect, the Solutions Architect will need to be a people person. Communication is very important for this role. Communication takes the form of written artefacts and the ability to communicate in front of a whiteboard with other technical people and with non-technical people trying to understand a technical project.

I often think of the Solutions Architect as someone who can make complex problems simple. This requires a very good understanding of the low level components as well as higher level design patterns. Design patterns are solutions to common problems. It is the architect’s job to know of, use and combine these commonly known solutions to the problems and difficulties on the project. Therefore a good knowledge of these is essential.

A good way to fully understand a low level component is to code with it. For this reason a lot of solutions architects come from a coding background. However, it is not essential as each component generally comes with documentation and details of how it can be used, so not all solutions architects have coding experience.

The key skills are in depth knowledge of coding design patterns, best practices including Object Orientated Design and the SOLID principles.

See below for further reading on these subjects.

Expected income

The expected income of a Solutions Architect is around £70-£110k per year or around £480 – £650 per day as a contractor in the finance sector.

Source: http://www.itjobswatch.co.uk/contracts/uk/solutions%20architect.do

Other source: my own experience.

How to become a Solutions Architect

The Solutions Architect typically comes from a development background, but does not need to. If you learn the knowledge about servers and infrastructure as well as the design patterns details in the skills section, you will have the groundwork to a get a job as this role.

Again experience is important, it is harder to gain experience in architecture if you are working on your own at home, but not impossible.

I recommend the following for further reading:

Object Orientated Design

Head First Design Patterns

SOLID principles

Design patterns: elements of reusable object-oriented software – Erich Gamma

Service Orientated Design Patterns – Arnon Rotem-Gal-Oz

Infrastructure Architect

The Infrastructure Architect is concerned with the physical hardware of the system. They are normally told what operating systems and other software will run on the machines and what the requirements are in terms of RAM, Processor and disk space. It is the Infrastructure Architect’s role to make sure the right servers are put together with the right routers, firewalls, storage, backups and security to enable the organisation to run its applications.

Expected income

The expected income of an Infrastructure Architect is usually around £50k – £80k or £300 – £500 per day in the finance sector.

Source: http://www.itjobswatch.co.uk/contracts/uk/infrastructure%20architect.do

Other source: my own experience.

Data Architect

The Data Architect designs database schemas, documents and formats for files. The Data Architect’s role usually only exists for very large teams where specialization has been come very specific, or on a project which has very complex or large data requirements.

The role entails understanding the way storages work and how to organise data within those structures.

You can learn more about storage in the skills section.

Expected income

The expected income for a Data Architect is around £60 – £80k or around £400 – £500 per day in the financial sector.

Source: http://www.itjobswatch.co.uk/contracts/uk/data%20architecture.do

Security Architect

The Security Architect designs and provides governance for all aspects of an application’s security. The Security Architect’s role is slightly different than the other architects in that they often sit outside of the development team’s area and sit within the central IT infrastructure or within a special security team.

The role entails understanding security both at software and a hardware level; you will also need to understand network traffic well and how malicious users can attack systems and how to stop them.

I may cover this role in future versions of the site but as there are easier paths to unlock IT Finance I will not focus on this here.

Expected income

The expected income for a security architect is around £60 – £90k or around £440 – £550 per day in the financial sector.

Source: http://www.itjobswatch.co.uk/contracts/uk/security%20architecture.do

Simon Powers

Simon Powers is an Agile Coach specialising in large scale transformations and agile adoption. He has a background in very large enterprise architecture which has led on to organisational design and agile process refinement. Simon is the founder of Adventures with Agile.