Technology and Development
How is GenAI changing the role of software architects?
Technology and Development
How is GenAI changing the role of software architects?
University of Cambridge expert Dr Jasmin Jahić shares how GenAI is transforming software architecture – from the skills that are now essential for architects to the pitfalls of industries relying on AI solutions.
Generative AI is now so prevalent across different fields and industries that knowing how to use it effectively is a sought-after skill for professionals across the globe. But what are the actual benefits of GenAI for software architects?
“Systems are getting bigger and bigger,” says Dr Jasmin Jahić, Director of Studies in Computer Science, Queens’ College, University of Cambridge.
“For an architect, it's becoming hard from one side to manage the complexity, size and scale of software project. And from the other side, to manage the constantly changing requirements and available solutions that are out there in the technology world.
“GenAI is really good at summarising big data sets and identifying very complex dependencies that are hard for humans to identify. So there’s a lot of overlap in challenges that architects face, and the solutions and capabilities that GenAI is offering.”
Dr Jasmin Jahić specialises in software systems architecture and application of AI in software engineering. In a recent webinar, he answered questions about the future of software architecture and what GenAI can and can’t do.
How widely is GenAI actually being used in software architecture?
Dr Jasmin Jahić: We have seen incredible developments in GenAI usage in software architecture and software engineering. For example, Tata Technologies have used GenAI to analyse natural language requirements, identify quality-relevant requirements and turn them into architectural drivers.
There is also an interesting study from IBM. I really common problem in software architecture is how to understand systems from code. They actually used GenAI to analyse code. They also added some documents in the analysis and tried to reverse engineer and reconstruct the architecture from there.
At Alibaba, they went one level further – they analysed the code and tried to identify code patterns which developers used.
Are we finding GenAI is particularly relevant for specific tasks or challenges?
Dr Jasmin Jahić: What we see is that for well-defined, small problems, GenAI works quite well. For example, using GenAI to visualize requirements using Unified Modeling Language (UML) diagrams.
There are areas where GenAI still struggles, and one of them is if the problem itself is too big. Then it struggles to provide results which are of benefit for architects.
Lack of the contextual organisational knowledge is a big problem here. GenAI is usually trained on Large Language Models (LLM), so a lot of the data that is necessary to do a certain task within the organisation is usually not available.
So for generic tasks, GenAI is great, but for something that is very context-specific – for example, generating code using the code style which is a certain organisation uses – it struggles, and it's only natural to expect that, because it doesn't have this knowledge.
How do you see the role of software architects evolving over the next decade because of GenAI?
Dr Jasmin Jahić: There was a concern that when this whole trend started that GenAI was just going to replace everyone. What we actually see is that GenAI is reliant on humans to acknowledge, filter, comment on or redo the results that it produces.
There are two main reasons why architects would want to use GenAI. One is to work in a more efficient manner, and another is to produce results which are of a higher quality.
What we see is that expert architects who use GenAI tend to be more productive. Those who have a lot of experience can process the results quickly. They can see quite quickly if the GenAI results are useful for them, what would work short-term and what would work long-term.
Are there any particular architectural skills or mindsets that you think will become non-negotiable?
Dr Jasmin Jahić: The fundamental architecturing skills are not going away. In fact, they're just becoming more and more important. We need expert architects who can take big problems, divide them into smaller problems, interpret the output of GenAI and integrating those solutions.
It's just that now, with GenAI, architects can do more, and potentially produce results that are of a higher quality. But to be able to do that they need to have these strong architecturing skills.
It's been clear that we've had to kind of think about applying GenAI quite critically. Are there any questions that remain around GenAI’s ability to bring value to software architecture?
Dr Jasmin Jahić: This is one of the points where we need to see tighter collaboration between industry and academia, because industries are mostly concerned with their own challenges, and rightfully so, where academia tends to ask more long-term questions.
There is a potential issue of losing fundamental skills because of over-reliance on the AI.
As I’ve said, architects who have expert skills are really efficient at using GenAI. If juniors are over-relying on GenAI, however, it might prevent them from developing the skills they need to become experts.
So what does this mean for companies in the longer term? This will become a closed loop – juniors won’t be able to hone their skills, so we’ll have fewer and fewer experts, which leads to less efficiency and fewer benefits from using GenAI.
It’s essential for juniors to have the opportunity to learn, and companies should be considering this because they might lose the necessary skills in their team.
Now that we're entering this age of applying GenAI across the software development lifecycle, how are we defining quality when outputs vary by prompt, context or data drift?
Dr Jasmin Jahić: When it comes to the outputs that GenAI is producing, you could say that there aren’t fully defined quality metrics, but we have a lot of ways to measure the quality of the results themselves.
For example, there are matrices that define what it means to be complete, what it means to have a high recall. Matrices to quantify the quality of the code, the quality of the test, of the design and so on.
But what happens when we use the outputs from GenAI? Does that influence the quality of software products?
We did a lot of research into this, and what we have observed is if you have well-defined problems, and you're integrating small solutions, especially code, that doesn't have significantly negative effects on quality. Actually, in many cases it can enhance it, because the code itself is quite good quality in terms of performance, readability and so on.
The challenges start when you want to address bigger problems, because it's simply not able to comprehend the human intentions and the level of complexity. So it needs a lot of guidance, and even then, you still need to do a lot of manual work. If you just adopt what GenAI generates you might end up compromising the quality of your software project.
Gain essential architecture skills – including how to use GenAI effectively – in Jasmin Jahić’s expert online course Managing Software Architecture.
Or take a look at our full range of technology and data courses – from implementing GenAI in business, to managing big data and building robust human-AI systems.