Architecture consulting in software engineering
Evaluation of system structures and development processes
Software quality is dynamic and the result of active management.
At the same time, the complexity of technical systems is growing rapidly, demanding targeted management.
We understand the task of architecture as the integrated integration of organizational goals as well as technical and methodological insights to create suitable frameworks for competitive development.
Quality doesn't happen by chance. To systematically improve quality (stability, performance, and adaptability),
we continuously develop management tools and methods specifically for industrial systems.
The need arises from system-related evolution. System environments, requirements, and products change and evolve.
Without active management (targeted refactoring), a well-known phenomenon occurs,
which can be observed across industries in a typical pattern (see figure 1).
figure 1: The phenomenon of “technical debt” (Kruchten et al., 2019)
The reasons behind the phenomenon of “technical debt in software engineering” have been described in detail;
a key cause is project-based funding, which leads to the prioritization of requirements that generate direct business value (project benefits).
Software quality metrics (such as maintainability > modularization and isolation) are therefore severely underrepresented.
Formulated quality goals and measured metrics drift apart; the resulting discrepancy can be measured at the organizational level.
Source:
Kruchten et al. (2019),
Kruchten, Nord & Ozkaya (2012)
The pattern:
Failure to meet quality requirements leads to increased development costs.
Consequently, productivity falls, the number of bug fixes increases, and development velocity and development capacity – which have direct business value – decline.
The costs of bug fixes exceed development costs; the outsourcing rate rises, contributing to accelerated architectural erosion;
the (lack of) strategic alignment exacerbates this phenomenon and has a direct impact on competitiveness
(Technical Dept Management).
The extent and progression of these effects depend largely on system architecture, development practices and organisational conditions.
The analysis of qualitative characteristics is becoming increasingly relevant due to regulations such as the EU Cyber Resilience Act (CRA)
and the ISA/IEC 62443 Series series.
To improve control, predictability, and security within the software development process, governance activities must be integrated into the software development lifecycle (SDLC)
before, during, and after development and implementation.
For the management of these processes, this requires a targeted approach to identifying changes, reassessing risks, and evaluating systems and software development activities.