Sunday 27 September 2015

Enhance iterative development with Mikado Method...

Let us start today with Boy Scout rule.

Boy Scout rule says that- “Always leave the camp-ground cleaner than you found it.”
If you find a mess on the ground, you clean it up regardless of who might have made
the mess. You intentionally improve the environment for the next group of campers.

Bob Martin (and others) nicely explained why Boy Scout rule applies to product development
and technical debt (Martin 2008).

And that’s what we follow during software code implementation/development.
Recently I found a very interesting method Mikado Method which is companion to Boy Scout rule. Let us have a high view of Mikado Method. (I might be coming up with more details later!)

Mikado Method is very helpful while repaying Technical Debts. This method is also a very effective way to morph an existing system into a desired new shape. This is, when we try to customise existing system with the client specific modifications. Most of the time it seems to be very simple and less time/efforts consuming but most of the time it turns out to be a nightmare. 

Mikado Method works very well with Extreme Programming, Scrum, and Kanban. It has four simple concepts.

  • Set a goal
    • This can be in the shape of a user story.
  • Experiment
    • Make an experiment without analyzing the consequences too much.
    • Visualize
    • Verify the impediments and find out errors
    • Find out the solution to fix the errors/impediments (without over analysis)
    • The found solution for fixing the errors will be now the new prerequisites for the goal. This needs to be drawn somewhere, may be on team’s whiteboard.
  • Undo
    • Revert the code to the initial state where the errors were encountered.
    • Fulfill the prerequisites.
    • Perform the process of reverting and fulfilling the pre-requisites for all the errors/prerequisites till goal becomes error free.


When goal is error free, Check-in the code. Verify once and Voila! You are done.

(All suggestions are welcome!)