Software Architecture in Transition
An article by Uwe Friedrichsen
Generative AI (GenAI) is currently a hot topic. Massive changes are being predicted across all industries – including IT. AI agents based on GenAI technologies are expected to enter the realm of software development. Some even claim that, in the future, software development will be entirely handled by collaborating AI agents. In this article, we explore what AI could mean for the role of software architects.
Fact or fiction?
To assess AI’s impact on the role of software architects, we first need to take a closer look at AI itself. And that brings us to the first challenge: it’s nearly impossible to get reliable information about the capabilities of current and future AI solutions.
For some, AI is the answer to all questions in the universe – the ultimate remedy for all modern (workplace) problems. For others, it’s just smoke and mirrors: overhyped, overpromising, and underdelivering. So what’s fact, and what’s fiction? The two are often hard to distinguish. If we truly wanted to understand AI, we would have to try everything ourselves. But testing all the contradictory claims is simply unfeasible. In short: it’s complicated.
Blurred boundaries
We also need to take a closer look at software architecture – and this, too, comes with its own set of challenges. The boundaries of software architecture are not clearly defined. Accordingly, there’s much debate about what exactly belongs to it and what doesn’t, which tasks architects are responsible for and which not. This, too, is complicated.
For simplicity’s sake – and to have a concrete foundation – I’ll focus on the following four core activities of architectural work:
- Analysis – Gaining a holistic understanding of the problem
- Design – Creating potential solution options
- Evaluation – Assessing the pros and cons of those options
- Collaboration – Working with others, e.g., to gather information or communicate outcomes
Possibilities and limitations
When we look at these four core activities, we get a nuanced picture of how AI might influence the field of software architecture (see figure).
In analysis, AI already provides valuable support: analyzing code, documentation, and requirements; gaining an overview; identifying gaps; and highlighting opportunities for improvement. This is already happening today and will only become more widespread.
Design is less straightforward. For common standard solutions – like e‑commerce platforms – AI can already generate solid architectural proposals. (Though I still wonder why companies continue to build their own e‑commerce solutions rather than using off-the-shelf software or SaaS offerings.)
However, the more specialized and original the solution, the less helpful AI becomes – simply because it lacks relevant examples in its training data. In such cases, GenAI tools tend to interpolate, or in other words, “hallucinate.” This limitation is unlikely to change significantly in the near future.
AI can already assist us to a certain extent in evaluation, particularly by pointing out aspects that might have been overlooked. AI support in this area is likely to grow stronger.
When it comes to collaboration, the potential for support is limited. Documentation becomes important whenever direct interaction between people is not possible. AI already offers useful support here – for example, by transcribing and summarizing meetings or workshops. Beyond that, however, the potential thins out. The actual core of architectural work – finding and evaluating solutions, and collaborating with others – will likely remain a task for humans. Machines, or more precisely AI, can’t truly support us in that regard.
There are many other aspects and details worth exploring. But given the length of this article, I’ll leave it there.
Everything stays different
So what does this mean for software architects? Their work will undoubtedly change: AI will become part of their daily routine. New tools will complement the existing toolbox. Whether AI will fully replace current tools remains to be seen. The technology is still too young to say for sure.
And what about the role of the software architect? Will it eventually be replaced by AI? I don’t think so – at least not in the foreseeable future. The role involves a wide range of tasks that AI can’t yet perform meaningfully or sufficiently – simply because the required training data is lacking. And let’s not forget: software development is still a very human endeavor. As long as humans are part of the development process – especially on the requirements side – we will also need human software architects.
What does this mean for training programs such as those offered by iSAQB? New opportunities and tools must continue to be integrated into curricula and training programs to stay up to date and relevant. While modules like “SWARC4AI – Software Architecture for AI Systems” have already been added, other training courses will undergo fundamental changes as AI handles more tasks. Overall, the need to train software architects will remain.
So everything changes, yet everything stays the same – as is so often the case when progress comes knocking.
About the author:
Uwe Friedrichsen is CTO of codecentric AG and a member of iSAQB. He is a regular speaker at international conferences, a specialist author, and editor of two IT publications.