Enterprise Architecture – Team Size Analysis

I believe there has been increased clarity on the information architecture roles in the recent years. Particularly there are few good healthy discussions on how to develop an enterprise architects and what should be their roles? and what is the value proposition to an organization? In general, there is a better awareness in the senior and executive management teams to differentiate an enterprise architect with other architects (system architects, information architects, business architects, process architects and etc). It has been a challenge for the executives to define the apt size of the enterprise architects for their organization.

The question is: What is the apt size of an enterprise architecture team for an organization?

Consultant Answer: It depends..

Consultant answer is correct.

The real question is: What are the factors used to determine size of an enterprise architecture team in an organization?

The list of enterprise level factors used to determine the size of an enterprise architecture team.

  • Number of products/service provided by the organization
  • Revenue of the organization
  • Profit of the organization
  • Business Process maturity of the organization
  • Finance & controlling maturity level

The list of IT factors used to determine the size of an enterprise architecture team.

  • Number of people (including employees, contractors, consultants, out sourced) and their ratio
  • IT budget and Finance management controls
  • IT Process and system maturity level
  • Enterprise architecture adaption rate (or EA maturity assessment)

Based on the above factors the EA team can be classified as large, medium and small. Large is of team size of 50+, medium is of team size between 15-50 and small is of team size less than 20. Let me emphasis the small EA team. I believe majority of the corporation will come under this category and let me expand on the small size of EA team.

Organization structure for a small size EA Team:

Chief Architect (or manager of EA team) should directly report to the CIO. Along with EA function, IT Finance management, IT Security, SOX controls, vendor management functionalities also should come under the same small size EA team.

(Double click the image to zoom..)

Patterns in software engineering – An Introduction

What is a pattern? (in software engineering world)

A predefined solution for a problem for the given context.

Key words in the above definition is problem, solution and the context.

What are the different categories of the patterns ? (in software engineering)

  • Analysis patterns
  • Design patterns
  • Architectural patterns
  • Technology patterns
  • Integration patterns

Why do we use the patterns?

Objective of patterns is to enhance

  • Reusabililty
  • Repeatability

in return will fetch

  • Cost efficiency
  • Agility (time to market)

Where the pattern concepts started in general ?

The pattern concept has been in use for thousands of years. In the building architecture and design, we have been using the patterns quite extensively. Ancient buildings like pyramids, roman collegium and lot more used the patterns in the implementation. For instance, the pillars used in ancient temples built in Thailand, India and etc are patterns. They did not design the pillars every time. The pillars are to hold the load of the building. We can notice the reusability and repeatability of the pillars in multiple places in those ancient building architecture which in returned improved the ancients to be effective and quick.

What are the types of patterns in each category?

There are conceptual, logical and physical patterns in each category. Conceptual patterns are very high level solution for the given problem at the given context. Physical patterns spells out the implementation solution for the given problem at the given context. Logical patterns are between physical and conceptual.

Different types of architects

Architect defines the architecture. Broadly the architects are divided into the technical and business architects. The business architect are focused on the economical change of the market and devise  a set of  business process  for enterprise or systems adaption and to attain enterprise or system’s mission and vision.  The technical architects are  focused on implementation of the business architecture defined to meet enterprise’s or system’s mission and vision.

The technical architects are broadly divided into

    System/Product architect
    Domain Architect
    Solution Architect
    Applied Architect
    Enterprise architect

Based on the architect characteristics, the types of technical architects shall be divided into the generalist and specialist. The specialist focus on one specific area and the knowledge acquired and possessed by the architect is deep. Where as the generalist, knowledge acquired and possessed in a set of areas is broad.
System/product Architect

System/Product architect are the generalist, responsible for the cohesive architecture solution of the system or product. They have equal strength in the both technical and business area. Plays a vital role to bring all the stake holders together and ensure all the stake holders concern’s are captured methodologically, formally documented and validated. Assist the project manager to make the management decision and makes key technical decision for the project/system/product. Brings all the technical architects, development teams, system analyst, and support teams together to ensure the cohesive architecture is defined to meet the stake holders concern and ensures the defined architecture is implemented. The system architecture validation is done by using the user case scenarios. +1 view of the architecture. The architecture verification is done through reviews.

Domain Architect

Domain architects are the specialist, responsible for the architecture solution for that domain. The domain architect is an abstract definition and there are various domain architects. The domain architects specific to the web development projects are

  • Application architect
  • Data architect
  • Information architect
  • Integration architect
  • Security architect
  • IT Process architect
  • Infrastructure architect
    • Network architect
    • Server architect
    • Web run time architect

Solution Architect

Solution architecture team is the set of specialist working together to research and seek solutions for a specific problem.

Applied Architect

Applied architects are match makers. The applied architects have the known set of problems, solution and context. The architectural patterns are applied to the system or product. The architectural patterns includes to the process solution or methodology for the implementation and its style.

Enterprise Architect

Enterprise architect are responsible for defining the holistic architecture solution for the entire enterprise.