Evolving Modular Monoliths with architectural fitness functions
Speakers:
In this talk, Patrick Säuerl (Tech Lead/Architect) and Tim Paulus (Developer) will share their journey of evolving a software project towards a modular monolith with consistent layering. The system started over 10 years ago as a monolith, and many teams have developed within it, adding their flavors and understanding of the architectural patterns and the architecture trends at that time. This has led to maintenance issues and unclear guidance for new developers. We tackled parts of this by introducing tests that ensure the layering of vertical slices is consistent.
Our solution is based on the following approaches:
- Fitness Functions from Evolutionary Architecture
- Ports & Adapters and Layered Architecture
- Approval Testing
- Architecture Tests
We will cover these topics and the ideas we borrowed from them.
The talk will also focus on the dynamics that these tests initiated within the team and another contributing team, leading to fruitful discussions, better shared understanding of the technical vision, and clear refactoring targets for developers.
Registration:
In-person event link: https://www.meetup.com/dotnet-austria/events/313068818