Avanscoperta
Legacy Code Refactoring Workshop – Modernize Your System

Legacy Code Refactoring Workshop – Modernize Your System

Stop fearing your legacy code. Start fixing it

Refactoring Legacy Code Without Fear

Refactor with confidence. Retrofit tests. Master the system you thought was untouchable!

Are you working with a system that feels like a black box? It’s fragile, slow to change, and every small modification feels like a gamble. Someone mentioned rewriting everything… but that’s a financial black hole!

Imagine confidently changing legacy code, safely adding features, and improving maintainability without breaking anything. Imagine your team collaborating effectively on the toughest parts of the system.

The Refactoring Legacy Code Workshop is an advanced training program inspired by Michael Feathers’ book “Working Effectively with Legacy Code.” It was designed by the trainer Alessandro Di Gioia and enriched with modern topics and the “Legacy Code Smells” classification.

The course develops through hands-on sessions on Refactoring Calisthenics and Characterization & Mutation Tests, enabling the participants to tackle even the most complex code issues confidently.

Join this advanced workshop and experience with Alessandro practices to retrofit tests, break dependencies, and master your legacy system, one clean step at a time.

Learning Objectives

By the end of this workshop, you will be able to:

  • Confidently refactor code even without initial test coverage
  • Break harmful dependencies and isolate code for testing
  • Use characterization and mutation testing to understand behavior
  • Apply refactoring calisthenics in real-world, messy codebases
  • Face and overcome complex “big ball of mud” scenarios

You’ll walk away not just with techniques, but the mindset and collaborative habits to lead modernization efforts in your team.

The Trainer copertina agile technical practice distilled libro

Alessandro Di Gioia is a Software Crafting advocate, trainer, and co-author of Agile Technical Practices Distilled.

He brings years of hands-on experience helping teams regain control of complex systems, and he’s known for making advanced technical practices practical and engaging.

Target Audience

Is This for You?
Yes, if you are:

  • A Developer facing complex legacy systems
  • A Tech Lead trying to make safe progress in risky code
  • A Quality Engineer who wants to retrofit safety nets into production
  • A Senior Engineer who wants a deeper, modern take on legacy code than the usual katas.

What People Are Saying

It would normally take years for a developer to learn the many lessons taught in this course.”
— Anders Marchsteiner, Software Architect

I’ve never thought that things can become so much easier with the right technique.”
— Philip Benz, Senior Software Engineer, CSS Insurance (CH)

Program Overview

5 live online sessions of 3.5 hours each.
A mix of theory, practical exercises, and group collaboration, with space for homework and further study between modules.
The entire course is built around Software Teaming (Mob Programming), maximizing shared learning and collaborative refactoring under real-world constraints.

In the final challenge (which has been called “end-level monster”), the participants have to solve collaboratively a realistic “big ball of mud” scenario, applying everything they have learned in the previous lessons.

We recommend taking this course after the completion of the Software Crafting Programme with Marco Consolaro.

Agenda

Module 1: Refactoring Calisthenics

Discover the foundational principles of clean, controlled code transformation.

Module 2: Refactoring Calisthenics – Dependencies

Learn to break hidden couplings and decouple for testability.

Module 3: Characterization and Mutation Testing

Retrofit tests into untested codebases, safely and incrementally.

Module 4: Advanced Refactoring Applied I

Apply techniques to tangled real-world scenarios in a group setting.

Module 5: Advanced Refactoring Applied II

Collaborate on a large-scale “big ball of mud” challenge. Everything you’ve learned, put to the test.

F.A.Q.

Are there minimum requirements to participate in this course?
Knowledge of Unit Tests in the target language. Completion of the Software Crafting Programme is highly recommended.

Are there activities outside of course hours and homework?
It is recommended to dedicate at least an hour of time between one module and another to carry out homework and further study.

N.B.

This workshop will be confirmed upon reaching the minimum number of participants. We’ll send an official confirmation to all registered attendees 10-15 days prior to the workshop dates.

About the workshop

Language: English.
Maximum number of participants: 16 participants
Tools and Workstation: The workshop will take place on Zoom.

Book it for your company

Contact us using the form at the bottom of this page if you wish to arrange a private custom edition of the

Alessandro Di Gioia

With 20 years of experience in building software, Alessandro worked within companies ranging from small start-ups to large enterprises.

London resident for many years, Alessandro helps UK-based companies work with agile technical practices, and he worked with Italian and Norwegian companies in the past too.

Together with Marco Consolaro and Pedro M. Santos, he's the author of the book Agile Technical Practices Distilled.

 

Are you interested in this course?

If you have any specific questions, or if you want to receive more information on dates, content or offers about this course, drop us a line. We'll gladly get back to you!







    NEWSLETTER

    Get exclusive content from experts in software development, technology, business and design!



    SUBSCRIBE TO OUR NEWSLETTER!
    :-)

    Subscribe to our newsletter!