Dr. Ulrich Schuster
Hauptstr. 139, 10827 Berlin
+49 151 1455 1232

© copyright 2020 KOING GmbH


Architecture Analysis and System Documentation

Hardly any system is a complete green-field creation. Typically, existing systems must be expanded, replaced, or new pieces must be integrated with an existing ecosystem and infrastructure. Most often, the legacy system’s documentation is dated, basic assumptions are not spelled out, there is no comprehensive security design, side effects are folklore, and the semantics of interfaces is inconsistent at best. We help you to understand your legacy systems, as a sound basis for decisions on future development or replacement. To this end, we discover, analyze and document the structure of your legacy system both technically and from a domain perspective. To avoid costly mistakes altering the existing system, we try to understand the original design decisions, the “why?”.


Understanding the Domain

Which classes of use cases does the system offer? Which exceptional cases is it designed to handle? Which users and roles are explicitly modeled, which are implicitly used? How are data structured and organized? Can we dissect the system into domains that can be analyzed separately?

Usage and Utility

How is the system being used in practice? Which functionality is in demand, which is not? Why? Are there workarounds in place, and which shortcomings do they cover? Which features have been diverted to other uses? Where do users make up for missing functionality, reliability or usability via Excel sheets or similar hacks?


Which logical and physical parts make up the system? where are they located? how do they communicate? Which products, frameworks and technologies are in use, which ones have been abandoned and why? How do use-cases map onto the static structure of the system? Which functionality is implemented where? Which explicit and implicit protocols are in use, what are the message semantics? Are there architectural patterns visible? Which ones and why?

Processes and Operations

How are development and maintenance, test, and operations set up? Which processes are in place – what are the core processes for development and operations? Which processes are indeed followed, and which informal processes have sprung up to complement or fix the official ones? How do the development organization and the processes map onto the system architecture?

Two answer the above questions, we consult the available documentation, interview users, operations staff and developers, and we try to use the system ourselves where possible. For those pieces where we deem it critical to understand the functional and qualitative aspects, we dig into schematics, source code and configuration files, analyze network traffic and trace use cases through the entire system.

Our final result is a layered architecture description of the system in its present state, analyzed from multiple viewpoints. The focus and level of detail depends on your requirements and goals: To which use do you want to put the insights we deliver?

Architecture Analysis and System Documentation - KOING GMBH