One of the most painful activities in software development is maintaining extremely poor legacy code! Moreover, teams transitioning to Agile suffer from challenges like moving towards shorter iterations with shorter time for regression testing, trying to cover poor code with automated tests, prioritizing which refactorings to apply on which code, and convincing managers with the value of refactoring.
In this workshop, participants will be presented to a simple, sustainable, and stepwise roadmap which tackles these challenges. This approach divides the effort to refactor legacy code into three stages:
This approach has been applied to two real life projects. Results were documented in an experience report which was published and presented several times in regional and international conferences like Agile2013, Agile2014, and AgileAfrica2014.
Participants will receive a piece of cluttered and spaghetti code written in Java; and will go through the roadmap to refactor this code using tools like Eclipse, Metrics, UCDetector, and ConQAT. Exercises include:
Throughout the workshop, participants will be introduced to many good (and bad) practices of legacy code refactoring and relevant code metrics
Actually, all development teams will find great value in this training. Producing good code requires good development practices whether you are maintaining old code or developing new code. Attendees of this workshop will get introduced to deep software design principles which is taken into consideration while designing software products.
“A very enlightening workshop! The importance of refactoring code was greatly realized during this workshop”
“A very informative workshop. Very useful. Thanks you Amr!”
“Helpful workshop. Fully appreciated the importance of code refactoring techniques”
“Very instructive course. I have learned how to refactor a code using modern tools than manual refactoring”