Systems Architecting

Read on, if you want to know more about Systems Architectures, Architecting, and the philosophy behind ADEPT. It is structured to explain the why, what, and how of Systems Architecting and limited to the most important aspects of Systems Architectures. If you are interested in Training on the subject, please scroll down to the end of this article.

Why Systems Architecture?

Have you ever wondered why some companies are better at adapting to new trends? Why they manage to consistently develop sophisticated systems that have a much longer best-before-date than others? Do they simply have a knack of ”getting it right 1st time”, employ the best engineers, or always get strangely - yet consistently - lucky?

If that does sound unlikely to you, you're right! It is far more likely that these companies have

  • got a solid understanding of the value of a good Architecture.
  • invested in developing Architectures before Designs and getting down to or lost in details.
  • put architecting at the centre of their engineering efforts; made it part of their culture and success.

What is System Architecture?

An Architecture is not - as often claimed - “a high-level design”. It is not a design at all, because it is not “a specification for making a particular artefact”.

Architectures serve a different purpose: They are models that allows you to work more effectively, to structure your information more logically, and to reuse your artefacts more reliably. Architectures comprise a set of abstractions that enables you to analyse the challenge from all relevant perspectives, connect your findings in a meaningful way, and to ask the right questions. These models grow with your teams’ knowledge and becomes its living repository of long-term truths storing all related information - in context and with continuously improving levels of quality, maturity, and detail.

And GOOD System Architecture?

A good System Architecture provides a conceptually simple structure to store & retrieve information about

  • your understanding of the challenge, i.e. the results of your analysis
  • the decisions taken towards developing a solution for it and the rationales behind them

It is be the unambiguous “Master” for this information and a trusted, robust backbone for development. It is visual and allows comments and annotations to foster communication, modular, updateable, scalable etc. For this, a good System Architecture must clearly separate the different aspects of a System and provide full traceability with a minimum of coupling between its elements. It must clearly specify responsibilities and interfaces and it must allow for variants to be created, explored, and compared.

The quality of a good Architecture continuously improves through constant use and critical reuse with predictable results. You can reliably query your work and ‘relive’ the understanding process even after years. And you can also reliably reuse the work you have done to analyse and understand your challenge; reuse the practices applied to find an elegant solution; and reuse high-quality artefacts, well-performing Sub-Systems and Components - be it to develop the variants for your current challenge or a new generation of Systems for the next.

How to develop Systems Architectures?

Reuse of artefacts and understanding is not a given. It must be carefully planned and continuously nurtured so that it can become part of the culture. Only if every team member trusts the Architecture and wants to engage with it every day, will you be able to reuse your understanding of the (external) challenge and the corresponding (internal) artefacts that make up your solution for it. Only then find related artefacts, avoid common mistakes, and confident about your solution. Only then will you be in a strong position to consistently develop good Systems, with many Variants at low cost, to introduce updates quicker than your competition and to run!

Where can you learn this?

We have developed a 3-Day Course as a full immersion learning experience to

  • introduce you to the power of good Architecting,
  • explain what Architectures are and how they relate to your System,
  • enable you to develop the right Architectures for your challenges and
  • open your mind for a pro-active culture that will help creating elegant solutions.

You will understand

  • the value of clearly defining the structure of the related information gathered, risks identified and decisions taken along the way
  • the advantages of communicating clearly using reliable artefacts, taking on responsibility, and asking the right questions to the right people at the right time and
  • the tangible boost in efficiency that you can get from replacing writing internal requirements with using and reusing facts from your Architectures, rich with context about the considerations, discussions and decisions that went into them!

In this course you will be 75% of the time in workshops to apply the learning to develop a real System Architecture: In teams, you will compete for the best solution, discuss variants, and finally defend your work against the scrutiny of the other teams.

To find out more, please visit Systems Architecting Course page of SE-Training, an EduQua certified Training Provider from Switzerland, or watch the Intro Video by Marco Di Maio.