The S³ School – Sustainable Scientific Software School is a one-week training program designed to teach good and modern coding practices tailored for scientific software development.
Its goal is to empower researchers, scientists, and Research Software Engineers (RSEs) with the skills to build sustainable, open, and reproducible research software following recognized best practices.
It is organized jointly by two key Horizon Europe projects: OSCARS and EVERSE and has been held at LAPP (Laboratoire d’Annecy de Physique des Particules, CNRS/USMB) in Annecy from 14 to 21 January 2026 for an intensive week of training and hands-on practice dedicated to one challenge shared across disciplines: how to build scientific software that remains usable, understandable, and maintainable over time.
Presentations and lectures material are available at: https://s3-school.github.io/s3-2026-lectures/

Day 1: building foundations for sustainable scientific software
Learning by doing: a realistic scientific software scenario
From the very first session, the S³ School set the tone with a scenario many participants immediately recognised: inheriting a piece of scientific code after the original contributor is no longer available, and trying to make it work, understand it, extend it, or reuse it responsibly.
This storyline is embodied through the practical project of the week, “pkoffee”: starting from a simple script used for a scientific study and progressively turning it into a more reliable and reusable research software product.
Across the week, participants will follow a structured learning path aligned with key steps of the software lifecycle: Start your project → Build & Code → Test & Improve → Secure & Deploy → Evaluate & Publish
This approach ensures that each concept introduced during the school can be directly applied, tested, and discussed through concrete exercises — making sustainability a practical skill rather than an abstract goal.
FAIR principles, Open Science and Reproducibility of results: A Path Toward Reliable Knowledge
A major focus of Day 1 was the role of FAIR principles in Digital Object management — Findable, Accessible, Interoperable, Reusable — and how they contribute to stronger, more transparent science.
The session connected FAIR to a persistent challenge in research: reproducibility. Many researchers have experienced the difficulty of reproducing published results — including, sometimes, their own past work.
In this context, FAIR principles and Open Science were presented not as a formal requirement, but as a powerful way to improve clarity, traceability, and trust, by strengthening documentation, metadata quality, and interoperability from the start.
Seen through this lens, FAIR supports not only data reuse, but also better research software outcomes: when inputs, outputs and assumptions are better described and shared, code becomes easier to validate, understand, and maintain.
Co-designing a practical checklist for sustainable research software
A major Day 1 outcome was the launch of an action-oriented sustainability checklist for PhD students and developers. Designed to be a practical guide rather than a theoretical document, it helps teams adopt good practices progressively. All school participants will contribute as co-authors, ensuring the tool supports projects from development through to publication.
Radical collaboration as a co-design method
To ensure the checklist meets diverse needs, the school utilized "radical collaboration." This method uses skills like openness and accountability to help participants converge on shared outputs. This approach is vital for software sustainability, as research code often evolves through team contributions and long-term handovers rather than isolated work.
Recognising contributions and creating a shared community
The school uses the EVERSE recognition framework based on Apicuron and BIP! Scholar as a way to acknowledge and credit engagement from both instructors and participants, showing that training efforts are as important as scientific publication to build a better and more sustainable science.
With 38 participants registered, the group already represents a strong community of practice, combining scientific domains and technical cultures.
Looking ahead
By the end of the week, participants will not only have strengthened their own practices — they will also have contributed to a concrete output designed to help the next generation of researchers and developers make scientific software more sustainable, more reusable, and easier to build upon.

Day 2 & Day 3: writing and testing code
After establishing shared foundations on Day 1, the second and third days of the S³ School 2026 moved into the practical core of sustainable scientific software: reproducible development environments, collaborative version control, and systematic testing supported by automation. Together, these sessions helped participants transform sustainability from a general principle into concrete routines that can be adopted progressively in day-to-day research coding.
Day 2: reproducible environments and collaborative development practices
Day 2 focused on making research software easier to run and maintain across time, machines, and contributors. The programme emphasised project-scoped environments, explicit dependency management, and approaches to version pinning that reduce “works on my machine” situations and support reliable re-execution of workflows.
The day then introduced practical guidance on Git and GitHub workflows as sustainability enablers. Version control was framed not simply as a technical tool, but as a mechanism for traceability and controlled evolution, allowing research teams to experiment safely while preserving the ability to understand and justify changes. Core collaboration patterns were reinforced, including the use of branches, small and meaningful commits, and pull requests to integrate changes through pair review.
The day concluded with a hands-on exercise session where participants applied these concepts directly in a shared learning context.
Day 3: debugging, layered testing, and CI/CD automation
Day 3 focused on debugging and testing strategies. The morning module addressed practical debugging approaches and the role of unit tests in validating the behaviour of individual components. Unit testing was presented as a way to support safer refactoring and to prevent regressions, particularly in research contexts where software is frequently adapted to new data, parameters, or experimental assumptions.
The afternoon module extended quality assurance to workflow-level validation through integration tests, which capture failures that emerge when components interact through real data flows, file I/O, and dependencies. Participants also explored the value of CI/CD practices: automating tests so that checks are applied consistently on every change and before being merged into the main branch, reducing reliance on manual verification and detecting problems earlier in the development cycle.
A common message: sustainability through actionable routines
Across these two days, the key message was pragmatic: sustainable research software does not require perfection from the start, but it does benefit from a sequence of simple actions applied consistently. By combining reproducible environments, disciplined version control workflows, and layered testing supported by automation, teams can preserve research agility while progressively increasing reliability, maintainability, and reuse potential.