Large Scale Refactorings Using the Mikado Method

The Mikado Method: Code almost always depend on other pieces of code, hence one change often requires another in an entangled web. This works like the game Mikado (pick-up sticks), where you have to pick up lower scoring sticks in a certain order to reach the higher scoring Mikado stick. When working with software, one usually has to perform a series of refactorings before making the core change to the software, be it to enable adding a new feature or just making a part of the code read better.

Watch this video on oredev.org