Modernization is never a one-time event—it’s a continuous process. According to Joe Szodfridt, every system is legacy the day you build it, which means organizations need a sustainable, iterative approach to modernizing software.
At Prodacity, Szodfridt outlined the hidden pitfalls of modernization efforts, the human-machine balance needed for innovation, and why domain-driven design (DDD) isn’t always the right answer.
The Hidden Gap: Why Modernization Efforts Stall
Hundreds of engineers, years of documentation, countless meetings—and yet, modernization often feels stuck. Why?
The challenge lies in hidden gaps within systems. Every large system consists of:
- Shadow IT – Workarounds created outside official IT structures.
- Paper Checklists – Processes still reliant on manual documentation.
- Tribal Knowledge – Conversations and undocumented insights that never make it into design documents.
While tools can help visualize existing architecture, humans are needed to envision how a system should behave. The disconnect between what exists and what should exist often slows modernization.
The Pitfalls of Over-Engineering Modernization
One of the biggest mistakes in modernization? Over-reliance on rigid processes at the expense of human intuition.
While domain-driven design (DDD) is a powerful approach, it has steep learning curves and excludes non-technical stakeholders from the conversation. According to Szodfridt:
- DDD is not always a living, adaptable system. It can be difficult to iterate quickly when it’s too rigid.
- It takes months to learn and years to master. How can organizations expect non-technical people to contribute effectively?
- Language barriers create silos. The terminology of DDD prevents cross-functional collaboration with business and operational teams.
Instead of over-engineering modernization efforts, the focus should be on building a common, inclusive framework that both technical and non-technical people can contribute to.
Thin Slices: Narrowing Focus for Meaningful Progress
To cut through the noise, Szodfridt recommends a “thin slice” approach—breaking modernization down into small, manageable segments that focus on clear outcomes.
A thin slice has:
- A clear start and end – Think of ordering food (start) and receiving it (end).
- Only one path over the bridge – The process should be streamlined with no unnecessary complexity.
- Outcome-based thinking – Instead of focusing on architecture, map legacy models on top of future-state models to determine where to start.
Analyst Takeaway: Rethinking Continuous Modernization
For developers and engineering leaders, modernization isn’t just about replacing legacy systems—it’s about making them more adaptive and user-centric.
Key Implications:
- Prioritize usability over rigid structure. If modernization removes the human element, it’s failing its purpose.
- DDD is not a one-size-fits-all approach. Organizations should reduce complexity and remove barriers to participation.
- Small, outcome-driven improvements accelerate modernization. Thin slices help validate assumptions before implementation, reducing failure rates.
Final Thought
Continuous modernization means rethinking how we capture intent, reduce complexity, and build systems that work for people—not just machines. By simplifying processes and focusing on practical, testable slices of improvement, developers can modernize iteratively without getting stuck in endless documentation and decision paralysis.
The future of modernization isn’t just about updating systems—it’s about ensuring systems evolve alongside human needs.
Cisco Live 2025: Enabling AI-Driven Development with Scalable and Secure Infrastructure
The News At Cisco Live Amsterdam 2025, Cisco introduced a range of AI-ready solutions aimed…