Monday, September 28, 2015

Looks like we need an IT Architect! Right?

Imagine a company has been contracted to build a house. The rough requirements of what kind of house is be built are layed out, 5 rooms on two floors with a kitchen and a bathroom. The contractors turn up at the building site and start building, they quickly have the first floor complete with all the walls in place and are soon starting on the second floor. 
The house is finished pretty quickly on time and even on budget and everyone is impressed. However on closer inspection it is noticed that the kitchen is upstairs which is impractical and there is no running water There are also no electrical sockets in any of the walls. Contractor is contacted and asked to make modifications, but the contractor explains that these modifications will cost a rather substantial amount of money as the house is difficult to modify. Since the cost is large another contractor is contacted to see if they can help. However when the other contractor inspects the building they don’t understand how the house has been built as it does not adhere to any known building standards. They make an estimation which is even more costly than the original contractor and even recommend demolishing the house and starting over.

This would clearly be an unacceptable situation when building houses but in terms of IT this scenario is not uncommon. IT systems and IT ecosystems are hugely complex and growing in complexity. By comparison our IT landscapes are more like cities than houses and therefore the importance of good design standards and architectures is higher than ever. 

Most businesses depend on IT as a critical part of thier business infrastructure and operational failure can result in a major loss of revenue. At the same time expectations which are placed on IT continue to grow putting more pressure on IT organizations to make sure that applications and systems don’t just work, but they work and are sustainable. Sustainability is a very important factor, it means that the business can gain the optimum value from investments over a long period of time. Alternatively, poor sustainability leads to perpetual workarounds, re-organizations, re-writes or re-designs which are costly and ultimately affect the competitiveness of the business.

While there is no perfect solution we can reduce business risk and increase sustainability by creating good architectures upon which we can build our strategies, business processes, applications and infrastructure. This is where we turn to the IT Architect for help.   

The IT Architect

The IT Architect is charged with a leading role in developing and maintaining an architecture with the aim of ensuring it is sustainable both in terms of business and technology. Aligning the business and technology aspects of an organisation is important as it will allow the organisation not only to operate effectively but also to quickly adapt to change. 

To address both business and technology IT Architects work in two domains which can be considered separate but at the same time have a strong relation, these domains are the Enterprise and the Solution.The Enterprise focuses on how the business works in terms of strategy, processes, people and applications at a abstract level. The Solution focuses on solving a specific concern within the business and providing technology implementations to address that concern. The IT Architect may work across both these domains or have a focus on one or the other, either way the IT Architect needs to be equipped with a broad range of skills in order to successfully create and maintain good architectures.    

Choosing the right IT Architect

IT Architecture is a broad field and each new initiative comes with its own unique challenges. Each initiative can have many variables, for example, internal and external requirements, business constraints, technical limitations, budget restrictions, deadlines and risks. This makes choosing the right architect difficult but there is some help. As a starting point there are a number of IT architect roles which are commonly use. The following roles which are defined by IASA are a good guideline and widely accepted. A short description of the roles are given below but the full description can be found in "A Study of Architect Roles by IASA Sweden":
  • Enterprise Architect - supports the business in strategy, planning and governing the IT landscape of the enterprise.   
  • Business Architect - designs and maintains the business processes and organization, defines many of the requirements for solutions
  • Solution Architect - designs IT solutions based on the specific requirements of a given business scenario
  • Software Architect - designs the structure and behavior of a software system

The IT Architect can fill a number of these roles and often to different degrees. For example, a good Solution Architect may also be a competent Software Architect.

However, while these roles give a good indicator for the type of IT Architect they perhaps do not give the adequate detail required for IT Architects to know what kind of skill sets to develop or even for a business to know what mix of IT Architecture skills they require within thier organisation.

The IT Architect Skill Set

Each IT Architecture  role requires different degrees of knowledge in a broad range of skills. In addition to this the IT Architecture itself is also likely to place importance on varying skills. This is where it would be very useful to have a comprehensive definition of the skills required by the IT Architect and fortunately IASA provide this in the form of the ITABok  which is used as a basis for the IASA IT Architect certification program. These definitions provide a solid base for IT Architect to evaluate and develop their skills as well as for businesses to understand what is required from an IT Architect. IASA define the skills in five pillars representing the core architecture skills.  These are described fully in the ITABok but a short description is given below:
  • Business Technology Strategy - skills for supporting the business strategy and management
  • IT Environment - skills for governing and maintaining the environment around solutions
  • Design Skills - skills for modeling and analyzing architectures
  • Human Dynamics - leading and managing people, communication skills
  • Quality Attributes -  skills in cross-cutting aspects of the architecture which are often non-functional, for example security or performance

Each of these pillars includes a sub-set of skills which are called capabilities. These capabilities define in further detail the skills an IT Architect should possess.

Summary

The world of IT is more widespread, more complex, and more critical to business than ever. The growth of IT continues to accelerate but at the same time sustainability is important. This is why the role of the IT Architect is a key factor in business success.

The IT Architect is a well known role description in the IT business but even although the role has been used for many years we still have difficult in defining what the IT Architect is in terms of responsibilities and skills.  With this in mind we need a clear definition of the IT Architect to help those who wish to become architects understand the skills that are required. At the same time we also need a definition for business so that the role of the IT Architect is understood and can be used effectively. The roles and skills defined by IASA give a good foundation for understanding the role of the IT Architect. This supports the development of skills needed to build good sustainable IT architectures.

The sustainability of IT is already a key factor for business success. The IT Architect has a key role in ensuring that success.