You are here

Importance of architecture

7 September, 2015 - 14:44

Could you build an information system without an architecture?

Yes, it is possible to build small, isolated information systems without a formal architecture, just as it is possible to build a log cabin without one. But as soon as you want to build a building which is larger or has multiple components – an energy efficient home, an apartment complex, an office high-rise – you need an architecture to show where the electric wiring, the plumbing, heating and air conditioning, the stairs and the elevators should go and how they should work together.

The main role of a system architecture is to help manage the complexity and size of modern business information systems. The architecture embodies important design decisions that have already been made. This is a constraint on the team, which is not free to make decisions that run counter to the architecture, but it also means that there is some kind of support within the organization – including knowledgeable people, development guidelines, reusable code, and implementation experience with the architecture - making the team’s job easier.

The fact that many design decisions have already been taken has the following advantages:

  • Risk reduction: first, the use of proven components and interfaces reduces the number of unforeseen problems arising during system development and operation; second, technological innovation is easier to control, because the architecture pinpoints the main risk areas, isolating them from what remains routine.
  • Integration: well-architected systems are easier to integrate with each other and with legacy systems, because the architecture defines and describes in some detail the points at which two systems are allowed to interact.
  • Productivity: an architecture is an investment – the stronger the architecture, the higher the productivity of the development team after an initial learning curve. Developers can in a certain sense “reuse” the technical decisions made by the system architect and less time is spent analyzing and testing alternative solutions.
  • Reliability: the use of proven components and approaches that have already been successful in the specific environment in which you are working reduces the total number of errors and makes it easier to find those errors that do occur.
  • Maintainability: standardized design and construction makes it easier for maintenance teams to correct, enhance and extend them to a changing business and technical environment.
  • Predictability: an established architecture has well-known technical characteristics, making it relatively easy to analyze and predict performance, reliability, usability and other quality measures.