Over a million developers have joined DZone.

Using Mikado Method to Eliminate Technical Debt

DZone's Guide to

Using Mikado Method to Eliminate Technical Debt

· DevOps Zone ·
Free Resource

In response to accelerated release cycles, a new set of testing capabilities is now required to deliver quality at speed. This is why there is a shake-up in the testing tools landscape—and a new leader has emerged in the just released Gartner Magic Quadrant for Software Test Automation.

The Mikado Method is a process for surfacing the dependencies in a codebase so that you can systematically eliminate technical debt. It gets its name from a simple game commonly known as “pick-up sticks,” in which you try to remove the Mikado stick without disturbing the others. The game is a great metaphor for eliminating technical debt by carefully extracting each intertwined dependency until you’re able to successfully resolve the central issue and move on.

The Mikado Method, a book by the creators of this process, presents a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining the safest way to approach the Mikado–your goal. A natural byproduct of this process is the Mikado Graph, a minimalistic, relevant, just-in-time roadmap and information radiator that reflects deep understanding of how your system works.


  • Understand your technical debt
  • Surface the dependencies in legacy systems
  • Isolate and resolve core concerns while creating minimal disruption
  • Create a roadmap for your changes

This book builds on agile processes, such as refachttp://onlysoftware.wordpress.com/wp-admin/post.php?post=478&action=edittoring, TDD, and rapid feedback. It requires no special hardware or software and can be practiced by both small and large teams.

Overcoming Test Automation Roadblocks with Service Virtualization


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}