Agile Event Session

Mikado Method: Small Steps to a Large Refactoring

This video content is for Agile Alliance members only

If you’re already an active member, please log in now.

To view this content, and gain access to many more valuable resources, conference discounts, and invitations to exclusive networking and learning events, please consider becoming an Agile Alliance member.

Abstract/Description

You know that area of the code nobody wants to touch? It’s been sitting there forever, just doing it’s thing. It is a functioning shanty town of code. And you know, as everyone on the team knows, that there is no such thing as a simple change to this code. Because the “solution” is coupled in the strangest ways, code seemingly separate from the module you’re working on breaks when you make the most mundane of changes.

But today, you picked up a user story that, try as you might, you cannot figure out a way to implement without either digging into the internals of the shanty town or bolting another hovel onto the side. You can’t keep adding onto this mess. You’re going to have to roll up your sleeves and fix it. But how? One change breaks two other things, which when modified each break two more. You’re destined for a path of exponential brokenness that will take weeks to fix and when it’s all done, you have to make one huge commit.

Ugh.

Enter the Mikado Method.

The Mikado Method is a relatively simple means of approaching these exact problems. By probing the code, we learn where changes need to take place. We then start at the outer edges and work our way in. We can commit small changes that don’t break the system and iterate our way towards a solution. It might still take two weeks to implement this simple change, but we’ve derisked the entire process.

In this session, Doc shows an example of the Mikado Method in use and welcomes audience members to contribute both to the coding and the discussion.

Additional Resources

Add to Bookmarks Remove Bookmark
Add to Bookmarks Remove from Bookmarks
Add to Bookmarks Remove from Bookmarks

Speaker(s) may be willing to present this session at local group meetings and other events.

Agile Technical Conference
Video
Practicing

More Agile Event Session Videos

FP vs. OOP: Beyond the Bikeshed
In object-oriented languages like Ruby, people often say that “everything is an object”—but first-class functions have become standard for object-oriented languages too. C# has had them and other related features for years, and even Java is in the ga…
Testing Without Mocks: A Practical Guide
Are your tests slow or brittle? Do you get a sinking feeling when you need to refactor? Do you worry your unit tests aren't actually testing anything important? If so, you could benefit from exploring a mock-free approach to TDD. This session is a c…
Building Your Team to Last
Hiring and on-boarding new team members is an expensive and risky process. It's crucial to hire people who mesh well with the existing team and get them up to speed in a timely manner. Balancing this while minimizing the initial impact on productivit…
FP vs. OOP: Beyond the Bikeshed
In object-oriented languages like Ruby, people often say that “everything is an object”—but first-class functions have become standard for object-oriented languages too. C# has had them and other related features for years, and even Java is in the ga…
Testing Without Mocks: A Practical Guide
Are your tests slow or brittle? Do you get a sinking feeling when you need to refactor? Do you worry your unit tests aren't actually testing anything important? If so, you could benefit from exploring a mock-free approach to TDD. This session is a c…
Building Your Team to Last
Hiring and on-boarding new team members is an expensive and risky process. It's crucial to hire people who mesh well with the existing team and get them up to speed in a timely manner. Balancing this while minimizing the initial impact on productivit…

Have a comment? Join the conversation

Discover the many benefits of membership

Your membership enables Agile Alliance to offer a wealth of first-rate resources, present renowned international events, support global community groups, and more — all geared toward helping Agile practitioners reach their full potential and deliver innovative, Agile solutions.

IMPORTANT: We have transitioned to a new membership platform. If you have not already done so, you will need to set up an account on the new platform to establish your user profile.

When you see the login screen, choose “Set up Account” and follow the prompts to create your new account. You can choose to log in using your social credentials for either Google or Linkedin (recommended), or you can set up your account using an email address.

Not yet a member? Sign up now