[REMOTE] Evolving Modular Monoliths with architectural fitness functions

![[REMOTE] Evolving Modular Monoliths with architectural fitness functions](https://secure.meetupstatic.com/photos/event/7/f/0/5/highres_527972517.webp?w=750)
Details
This is the event for people who join the event via Stream.
If you join the event in-person, please RSVP here:
https://www.meetup.com/dotnet-austria/events/307844623
This meetup is organized by DotNetDevs.at (https://dotnetdevs.at/) and the Softwarearchitektur Wien Meetup Group (https://www.meetup.com/softwarearchitektur-wien/).
Abstract:
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.
Patrick is an experienced software architect and technical lead who has supported numerous teams and developers on their journey.
With several years of experience in various projects, he has shifted his focus to technical leadership, team collaboration, and Domain-Driven Design (DDD).
He places particular emphasis on collaborative modeling, with preferred methods including Specification by Example, User Story Mapping, Event Storming, and Event Modeling.
Patrick promotes both intra-team collaboration and cross-team collaboration in scaled environments.
As a developer, Tim faces the typical challenge of inheriting a software project with proven business value in its domain, yet needing to transform its architecture to meet new technical and organizational requirements.
He co-developed and used the solution shown, and would like to share the experiences of himself and his peers.
Timetable:
- 18:00: Stream starts at
https://www.twitch.tv/dotnetdevsat or
https://www.youtube.com/c/DotNetDevsAustria - 18:15: Intro
- 18:20: Talk starts
- about 19:15: End
Recordings will be available afterward at https://go.dotnetdevs.at/recordings
This meetup is organized by DotNetDevs.at (https://dotnetdevs.at/) and the Softwarearchitektur Wien Meetup Group (https://www.meetup.com/softwarearchitektur-wien/).
DotNetDevs.at is sponsored by
- RUBICON IT GmbH (https://www.rubicon.eu/rubicon/)
- JetBrains (https://jetbrains.com)

[REMOTE] Evolving Modular Monoliths with architectural fitness functions