Mikado method
-
Upload
tomas-corral-casas -
Category
Technology
-
view
848 -
download
12
description
Transcript of Mikado method
![Page 1: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/1.jpg)
Mikado Metho
d
![Page 2: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/2.jpg)
![Page 3: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/3.jpg)
A tool for large-scale refactorings
![Page 4: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/4.jpg)
REFACTOR ?
![Page 5: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/5.jpg)
PRODUCT OWNER
![Page 6: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/6.jpg)
DEVELOPERS
![Page 7: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/7.jpg)
GARDENING
![Page 8: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/8.jpg)
APP
![Page 9: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/9.jpg)
REFACTOR
![Page 10: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/10.jpg)
![Page 11: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/11.jpg)
Refactoring the old way is like removing an old stump…you will also leave some roots…
![Page 12: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/12.jpg)
REFACTOR WITH BRANCHES
![Page 13: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/13.jpg)
![Page 14: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/14.jpg)
Refactoring using branches is like grafting fruit trees…you never know that what you can get.
![Page 15: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/15.jpg)
MIKADO METHOD
![Page 16: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/16.jpg)
![Page 17: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/17.jpg)
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.
![Page 18: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/18.jpg)
THE OLD WAY
REFACTORING
![Page 19: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/19.jpg)
RIGOROUS ANALYSIS
![Page 20: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/20.jpg)
GUESS
![Page 21: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/21.jpg)
PROBLEMS
![Page 22: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/22.jpg)
APP
My change
![Page 23: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/23.jpg)
APP
My change
![Page 24: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/24.jpg)
APP
My change
![Page 25: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/25.jpg)
APP
My change
![Page 26: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/26.jpg)
APP
My change
![Page 27: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/27.jpg)
APP
My change
![Page 28: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/28.jpg)
![Page 29: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/29.jpg)
REVERT
![Page 30: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/30.jpg)
USING BRANCHES
REFACTORING
![Page 31: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/31.jpg)
WHEN THE BRANCH IS CREATED
![Page 32: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/32.jpg)
MERGING BRANCHES
![Page 33: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/33.jpg)
AFTER MERGING BRANCHES
![Page 34: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/34.jpg)
PROBLEMS
![Page 35: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/35.jpg)
MIKADO METHOD
REFACTORING
![Page 36: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/36.jpg)
![Page 37: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/37.jpg)
Do you know how to play
mikado game?
![Page 38: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/38.jpg)
INCREMENTAL
![Page 39: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/39.jpg)
LIGHTWEIGHT
![Page 40: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/40.jpg)
VISIBILITY
![Page 41: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/41.jpg)
STABILITY
![Page 42: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/42.jpg)
CONTINUOS DEPLOYMENT
![Page 43: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/43.jpg)
COMMUNICATION
![Page 44: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/44.jpg)
LEARNING
![Page 45: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/45.jpg)
WORK DONE
![Page 46: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/46.jpg)
COLLABORATION
![Page 47: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/47.jpg)
WORKLOAD
![Page 48: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/48.jpg)
EASY
![Page 49: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/49.jpg)
HOW IT WORKS ?
![Page 50: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/50.jpg)
COMPILED&
INTERPRETED
![Page 51: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/51.jpg)
Naive implementation
STEP 1
![Page 52: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/52.jpg)
Is something new failing ?
YES - NO -
STEP 2STEP 8
STEP 1.1
![Page 53: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/53.jpg)
What is failing?
STEP 2
![Page 54: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/54.jpg)
Document the pre-requisites
to fix that is failing
STEP 3
![Page 55: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/55.jpg)
Document the graph
STEP 4
![Page 56: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/56.jpg)
Revert your changes.
STEP 5
![Page 57: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/57.jpg)
There are more pre-requisitesin this level?
YES - NO -
STEP 6STEP 7
STEP 5.1
![Page 58: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/58.jpg)
STEP 6Get the next pre-requisite
GOTO repeat the process
STEP 1
![Page 59: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/59.jpg)
STEP 7Down one levelGOTO
STEP
5.1
![Page 60: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/60.jpg)
Pre-requisite has beenFIXED
STEP 8
![Page 61: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/61.jpg)
Document the graph
STEP 9
![Page 62: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/62.jpg)
APP
A change
STEP 1
![Page 63: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/63.jpg)
APP
A change
STEP 2
![Page 64: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/64.jpg)
APP
A change
STEP 3-4
Pre-reqPre-req
Pre-req
![Page 65: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/65.jpg)
APP
A change
STEP 5
Pre-reqPre-req
Pre-req
![Page 66: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/66.jpg)
APP
A change
STEP 5
Pre-reqPre-req
Pre-req
![Page 67: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/67.jpg)
APP
A change
STEP 6-1
Pre-reqPre-req
Pre-req
![Page 68: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/68.jpg)
APP
A change
STEP 2
Pre-reqPre-req
Pre-req
![Page 69: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/69.jpg)
APP
A change
STEP 3-4
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 70: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/70.jpg)
APP
A change
STEP 5
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 71: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/71.jpg)
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 72: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/72.jpg)
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 73: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/73.jpg)
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 74: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/74.jpg)
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 75: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/75.jpg)
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 76: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/76.jpg)
APP
A change
STEP 1
Pre-reqPre-req
Pre-req
Pre-req
Pre-req
![Page 77: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/77.jpg)
![Page 78: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/78.jpg)
WRITE DOWN YOUR GOAL
SEEK THINGS TO TRY
BACK OUT BROKEN CODE
FIX THE PRE-REQUISITES RECURSIVELY
![Page 79: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/79.jpg)
![Page 80: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/80.jpg)
ALWAYS DELIVERABLE FROM THE MAIN BRANCH
No more broken environmentsNo more merging issues
![Page 81: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/81.jpg)
GOAL FOCUS
Do only the necessary
![Page 82: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/82.jpg)
VISUALIZATION OF GRAPH
Best documentationImprove communication
Improve cooperation
![Page 83: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/83.jpg)
HAPPY TEAM
![Page 84: Mikado method](https://reader033.fdocuments.in/reader033/viewer/2022061202/547c1fd3b4af9fb2188b4647/html5/thumbnails/84.jpg)