Upload
tomas-corral-casas
View
850
Download
12
Tags:
Embed Size (px)
DESCRIPTION
This talk explains what it's and how Mikado Method works.
Citation preview
Mikado Metho
d
A tool for large-scale refactorings
REFACTOR ?
PRODUCT OWNER
DEVELOPERS
GARDENING
APP
REFACTOR
Refactoring the old way is like removing an old stump…you will also leave some roots…
REFACTOR WITH BRANCHES
Refactoring using branches is like grafting fruit trees…you never know that what you can get.
MIKADO METHOD
Refactoring using the Mikado Methodis like pruning ornamental trees… • You can work in an incremental process.• You can always change the shape.• You always see what you get.
THE OLD WAY
REFACTORING
RIGOROUS ANALYSIS
GUESS
PROBLEMS
APP
My change
APP
My change
APP
My change
APP
My change
APP
My change
APP
My change
REVERT
USING BRANCHES
REFACTORING
WHEN THE BRANCH IS CREATED
MERGING BRANCHES
AFTER MERGING BRANCHES
PROBLEMS
MIKADO METHOD
REFACTORING
Do you know how to play
mikado game?
INCREMENTAL
LIGHTWEIGHT
VISIBILITY
STABILITY
CONTINUOS DEPLOYMENT
COMMUNICATION
LEARNING
WORK DONE
COLLABORATION
WORKLOAD
EASY
HOW IT WORKS ?
COMPILED&
INTERPRETED
Naive implementation
STEP 1
Is something new failing ?
YES - NO -
STEP 2STEP 8
STEP 1.1
What is failing?
STEP 2
Document the pre-requisites
to fix that is failing
STEP 3
Document the graph
STEP 4
Revert your changes.
STEP 5
There are more pre-requisitesin this level?
YES - NO -
STEP 6STEP 7
STEP 5.1
STEP 6Get the next pre-requisite
GOTO repeat the process
STEP 1
STEP 7Down one levelGOTO
STEP
5.1
Pre-requisite has beenFIXED
STEP 8
Document the graph
STEP 9
APP
A change
STEP 1
APP
A change
STEP 2
APP
A change
STEP 3-4
Pre-reqPre-req
Pre-req
APP
A change
STEP 5
Pre-reqPre-req
Pre-req
APP
A change
STEP 5
Pre-reqPre-req
Pre-req
APP
A change
STEP 6-1
Pre-reqPre-req
Pre-req
APP
A change
STEP 2
Pre-reqPre-req
Pre-req
APP
A change
STEP 3-4
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 5
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
WRITE DOWN YOUR GOAL
SEEK THINGS TO TRY
BACK OUT BROKEN CODE
FIX THE PRE-REQUISITES RECURSIVELY
ALWAYS DELIVERABLE FROM THE MAIN BRANCH
No more broken environmentsNo more merging issues
GOAL FOCUS
Do only the necessary
VISUALIZATION OF GRAPH
Best documentationImprove communication
Improve cooperation
HAPPY TEAM