This training module is designed specifically for developers who are already familiar with all the intricacies of a legacy system and how it works. They'll learn practical skills to break down monolithic codebases, isolate dependencies, and retrofit tests effectively so they can add new functionality without risks.
The "Code Renovation" module is our advanced masterclass, inspired by Michael Feathers' book "Working Effectively with Legacy Code" but enriched with modern topics and our own classification of "Legacy Code Smells". We recommend taking this course after the completion of the Foundation Training Program.
The course develops over hands-on sessions on Refactoring Calisthenics and Characterization & Mutation Tests, enabling the participants to tackle even the most complex code issues confidently.
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.
By the end, they'll not only manage but master legacy systems, ensuring their maintainability and extensibility for future challenges. This hands-on training ensures your team can implement immediate improvements, turning legacy burdens into assets.
Group SizeFrom 6 to 10 people |
LevelBeginner to Advanced |
DeliveryLive, 100% Remote
|
Duration6 half-day lessons
|
Pace1 or 2 weekly lessons |
Coding LanguageAny |
Target AudienceSoftware Developers, Architects, and Quality Engineers of any seniority |
PrerequisitesKnowledge of Unit Tests in the target language. Completion of the Foundation Training is highly recommended. |
FormatSlides + hands-on coding (JetBrains IDE provided) and modeling (Miro boards) |
Coding StyleCollaborative, in Mob Programming |
Did someone suggest a complete rewrite?
Forget it, it's a financial black hole.
Without solid regression test automation in place, tweaking the system is like defusing a bomb blindfolded. Too slow, too risky.
The best option is learning the advanced practices of this course, so you can safely retrofit tests in your system and make it maintainable. Your old legacy code will shine again!
We forgo traditional certifications, choosing to celebrate the participants’ achievements during the "Presentations Days", where they teach others something they learned during the module. This practice significantly enanche their communication and presentation skills — competencies often overlooked.
Their work is available on our Community of Practice page to promote a knowledge-sharing mindset and community spirit.