
Eberhard Wolff
Sep 21, 2023
There is no such thing as future-proof architecture! Here is how to prepare for it.

#1about 2 minutes
The myth of future-proof software architecture
The common belief that architecture should be future-proof is a flawed conclusion drawn from the fact that architectural decisions are hard to change.
#2about 3 minutes
A case study of a failed migration project
A real-world project failed because the team discovered their initial migration plan was flawed only after the project began, highlighting the danger of rigid upfront plans.
#3about 3 minutes
Why architecture must evolve iteratively
Architecture must be iterative because domain models evolve, requirements change, and developers continuously learn and improve their skills.
#4about 3 minutes
Starting projects with domain prototyping
Instead of over-planning, start with domain prototyping to focus on business logic first and defer technology decisions to the last responsible moment.
#5about 6 minutes
Moving beyond YAGNI with a goal-oriented approach
While YAGNI was a useful counter to big upfront design, a better approach is to navigate immediate requirements while always keeping the long-term project goal in view.
#6about 5 minutes
The danger of a future-proof mindset
Aiming for a future-proof architecture creates a reluctance to make necessary changes, leading to a messy system as new features are forced into an outdated structure.
#7about 4 minutes
Letting the business domain drive the design
Effective architecture is not about abstract technical diagrams but about creating a structure that clearly reflects the business domain and its processes.
#8about 3 minutes
A pragmatic view on technology choices
Preparing for technology changes by creating technology-independent code is often unnecessary, as major technology shifts usually coincide with required changes to the business logic.
#9about 2 minutes
Conclusion: Embrace change and focus on the domain
The key to long-term project success is not a future-proof plan but an adaptable architecture that is driven by the domain and accepts the limited lifespan of technologies.
Related jobs
Jobs that call for the skills explored in this talk.
12 days ago
(Senior) Product Owner (w/m/d)

aedifion GmbH
Köln, Germany
Senior
20 days ago
Senior Product Manager (f/m/d)

Apaleo
München, Germany
Senior
1 month ago
Software Architect Java (m/w/d)

Sopra Steria Custom Software Solutions GmbH
München, Germany
Senior