Training Course: Software Architecture for Research Software - November 13th, 2025
Join us online on Thursday, November 13th from 10:00am – 12:00pm
The value of scientific software — and of software in general — is twofold. It lies both in its behaviour and in its structure. The latter, often referred to as architecture, determines the extent to which software retains its most defining property: its softness. While most scientists primarily focus on behavioural aspects — that is, what the software does — it is the structural value that ultimately enables maintainability, extensibility, and reuse. Without a sound architecture, software becomes rigid and difficult to adapt.
This challenge is particularly pronounced in the scientific context, where inquiry is inherently open-ended and software must evolve continuously alongside research. Change has posed difficulties for scientific software developers since the earliest days and remains a central issue today.
In this workshop, we will take a high-level perspective on software design and architecture to explore structural characteristics that either facilitate or inhibit change. We will argue that only by establishing architectures that embrace change can we sustain long-term value — not only in structure but also in behaviour, as our scientific requirements evolve.
Target Audience
Anyone writing software, anyone interested in reuseability and maintainability.
Prerequisites
- Basic knowledge of an Object Oriented Programming Language (e.g. Python)
- Basic understanding of UML or similar modelling notations
Learning Outcomes
Participants will:
- Understand the importance of sustainable software design in a research context
- Learn basic concepts for managing software complexity
- Identify and interpret code quality factors and metrics relevant to software architecture evaluation
- Apply core software design principles to support sound architectural decision-making
Language
The tutorial will be in English, but questions in German are also welcome.
Register here: https://indico3-jsc.fz-juelich.de/event/266/