System Architecture and Business Architecture





After a long enough contemplation of how various experts explain (establish) their understanding of architecture, I decided that they still need help :) I

did not criticize, but I have something to offer.



Architecture and building structures



Consider the original concepts of architecture and architect from the field of construction:

Architecture is the art of designing and constructing buildings, structures and their complexes, that is, the art of creating a materially organized environment.

An architect is a specialist who, on a professional basis, carries out architectural design, including the design of buildings, including the development of space-planning and interior solutions.


The construction project consists of two main parts: architectural and construction and engineering.



The architectural and construction part of the project includes:



  • The architectural section consists of architectural and construction drawings, which indicate the exact geometric parameters of the building, its structures and their elements: floor plans, floors, roof plan, facades, sections, visualization.
  • The design section contains general data, design solutions for foundations, floors, roofs, drawings of individual assemblies and parts, specifications of products and materials: foundations, ceilings, lintels, roofing, structural assemblies and details.


The engineering part of the project consists of detailed diagrams:



  • Water supply and sewerage systems - water supply wiring diagram, axonometric water supply diagram, sewerage wiring diagram.
  • Heating and ventilation - heating wiring diagram, ventilation wiring diagram, boiler piping (if any).
  • Power supply - lighting wiring, power network wiring, ASU circuit, grounding system.


The architect deals only with the architectural section, while the structural and engineering sections are handled by the corresponding engineers.



... a place to think ...



For IT architects who are "in the tank" and like to compare themselves with architects:
, . , , , .



System architecture



Now let's look at a definition that is closer to IT. I will take excerpts from the article as a basis .



Architecture - fundamental concepts or properties of a system in its environment, embodied in its elements, relationships and principles of its design and evolution. (From: ISO / IEC / IEEE 42010: 2011)


Such and similar definitions are usually used in large architectural frameworks like TOGAF and SAFe. These frameworks are quite heavy and consist of a small set of practices that are systematized and diluted with many different techniques and techniques. And all this is presented as "best practices", although no one has tested and does not apply them in this form as a whole.

– , . ( )


However, there is a subtlety with the characteristic "hard to change".



Suppose you have a design solution that describes to your developers how they should structure their Java code. If you have a lot of code, changing all that code from one structure to another will take a lot of work. In other words, it's hard. Therefore, this chosen solution is the "architecture", in this case the software architecture. But one developer can easily ignore this decision and write code that does things differently. After all, making "changes" to software is easy. Although the entire implemented architecture is difficult to change, it is often quite easy to change only certain parts of it.

There is no theoretical reason that something is difficult to change in relation to software. If you choose one aspect of the software, you can easily change it, but we do not know how to make everything easily changeable. Making something easy to change makes the overall system a little harder, and making it easy to change makes the whole system very complex. (Ralph Johnson)


It can be argued that this reveals the meaning of the word "fundamental" in the definition of "Architecture" according to ISO, this is something that is difficult to change.

The essence of architecture is structuring. Structuring can mean transforming form into function, taking order out of chaos, or transforming a client's partially formed ideas into a workable conceptual model (Eberhard Rechtin).


Building an architecture is the activity of organizing and maintaining a system from its constituent elements. And all the architectural principles are aimed at the decomposition and organization of the constituent parts of the system.



Problem



The problem with the above definitions, although they are useful, still exists, they are divorced from the idea embedded in the system. It is rather strange to distinguish architecture according to the criterion “hard to change”.



Also, the definition through the components in this case does not convey the necessary meaning.



... a place to think ...



Most of the system architects come from programmers, they are all technocrats. They came up with it all. :)

When working with architecture, it is better to focus on the purpose of the System.



Architecture is a design solution that organizes a set of design solutions into a System corresponding to the intended purpose.



It is a design solution that organizes the wheels, engine, body and steering into a car.



In other words,Architecture is a design solution that produces an emergent effect. Emergence - the appearance of a system of properties that are not inherent in its elements separately; irreducibility of the properties of the system to the sum of the properties of its components.

It is important not to mix levels of abstraction . Also later, the question may arise, what is good architecture? The architecture should ensure the implementation of the three main attributes of the quality of the system: reliability , efficiency , flexibility . There are others, for example, scalability, testability, maintainability, etc., but they are not always so important.



Business architecture



Business architecture has its own specifics. First, there is a working architecture that needs to be understood and described. Secondly, business has its own principles and basic concepts that you need to know. Only by understanding the business and basic concepts can you propose changes.



Three aspects are used to describe the foundation of a business architecture, like any other architecture:



  • Subjects are an organizational staff structure.
  • Activities are business processes, functions and services.
  • Objects are the result of activities and material for activities. In this case, the result and material can be physical or informational.


But still, this will not be enough to understand this, you need to consider the basic concepts and principles.



The concept of "Three types of activities"



There are three types of activities:



  • Manager - the activity that controls the functioning of the system. An example of a management process is Corporate Governance and Strategic Management.
  • Main (Operating) - activities that are the basis of the company's business and create the main stream of income. Examples of operational business processes are Procurement, Manufacturing, Marketing, Sales.
  • Supportive - activities that serve the main business. For example, Accounting, Recruiting, Technical Support, Administrative Department.


Supporting activities are often outsourced. The activities indicated in the example above “as main” are not always the main ones, because they can also be outsourced. There is always a management activity, theoretically it is possible to "outsource" everything except management and make the company virtual.



Outsource management:
? outsource. :)



Deming Cycles Concept



So, as architects, we divided the company's activities into three parts. Now you need to understand how it all works together. To do this, we need another old, but still relevant concept - the Deming cycle, aka PDCA:



  • Planning
  • Act
  • Check
  • Adjustment


You don't need to take it literally, it's more of a metaphor, and in different companies it is implemented in different ways, but these stages are always there.



Let's see our specific design work, product manufacturing or service provision:



  • Who planned this process?
  • What are the regulatory and regulatory documents?
  • Who does the action?
  • How is verification done?
  • How is the adjustment done?


If everything seems to be clear with the “Action” and “Check” stage, then “Planning” and “Adjustment” should be looked closer.



Decision Making Concept



Here we need a third concept - Decision Making. It is a universal approach for solving managerial problems and project management.



  • Understanding the task
  • Assessment situation
  • Development of solution options
  • Choosing a solution


It is important to understand all the steps in this sequence and what it takes to complete it. This approach is applied in planning and, depending on the situation, in adjustments.



Let's map this concept to our designs:



  • How is task clarification done?
  • How is the situation assessed?
  • ...


Now let's rise to the level of leadership.



  • How is the leadership provided with information in terms of adjusting and assessing the situation, that is, where are the reports on our project, so that they understand everything good or bad?


Principle "Purpose must determine architecture"



Here it is important to recall the definition of architecture:



Architecture is a design solution that organizes a set of design solutions into a System corresponding to the intended purpose .



The end-use is usually the main activity. Management activity is focused on the main activity. Supportive activity provides it.



Also, do not forget the above attributes of quality: reliability, efficiency and flexibility. The main activity is an individual thing, but here, I think, you can deal with it yourself.



Principle "Architecture must comply with the guidelines"



Without stakeholder support, the architecture will not be implemented. We will have to study all the stakeholders, their motives and goals.



Internal conflict is possible.



... a place to think ...



Defining Business Architecture



As for the specialized definition, given the fact that business and IT are now walking shoulder to shoulder, in my opinion, it is better to perceive Business Architecture as a set of solutions at the upper level of abstractions of the Enterprise Architecture .



Of the existing definitions, I like the one given by the Architecture Board Special Interest Group (BASIG) (OMG Architecture Board)

A Blueprint Of The Enterprise That Provides A Common Understanding Of The Organization And Is Used To Align Strategic Objectives And Tactical Demands.



, .




If we give the normal concept of architecture, then the role of the architect becomes very clear.



The shoemaker's job is to make and repair shoes.



The architect's job is to create and manage architecture. He must create a solution that will collect all other solutions into a system .



What competencies should he have?



The architect must know the architectural principles and concepts at his business or system level, these are his hardskills .



Also, an architect should be a driver , describing architecture is half the battle, but convincing people to implement and constantly support it is the second, no less task.

To do this, the architect must have well-trained softskills....



There is another characteristic that distinguishes an architect from an analyst and a programmer; he must master the art of operations .



... a place to think ...



Links



  1. http://www.ovikv.ru/building_project.htm
  2. pubs.opengroup.org/architecture/togaf9-doc/arch/toc.html
  3. pubs.opengroup.org/architecture/togaf9-doc/arch/chap20.html
  4. docs.microsoft.com/ru-ru/dotnet/architecture/modern-web-apps-azure/architectural-principles
  5. www.omg.org/bawg/business_architecture_overview.htm



All Articles