O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Mikado
Method
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 Method
is like pruning ornamental trees…
• You can work in an incremental process.
• You can ...
REFACTORING

THE OLD WAY
RIGOROUS ANALYSIS
GUESS
PROBLEMS
APP

My change
APP

My change
APP

My change
APP

My change
APP

My change
APP

My change
REVERT
REFACTORING

USING BRANCHES
WHEN THE BRANCH IS CREATED
MERGING BRANCHES
AFTER MERGING BRANCHES
PROBLEMS
REFACTORING

MIKADO METHOD
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
STEP 1

Naive implementation
STEP 1.1

Is something new failing ?

YES - STEP 2
NO - STEP 8
STEP 2

What is failing?
STEP 3

Document the
pre-requisites
to fix that is failing
STEP 4

Document the graph
STEP 5

Revert your changes.
STEP 5.1

There are more pre-requisites
in this level?

YES - STEP 6
NO - STEP 7
STEP 6
Get the next pre-requisite
GOTO STEP 1
repeat the process
STEP 7
Down one level
GOTO STEP 5.1
STEP 8

Pre-requisite has been
FIXED
STEP 9

Document the graph
APP

A change

STEP 1
APP

A change

STEP 2
STEP 3-4

APP
Pre-req

Pre-req

A change

Pre-req
STEP 5

APP
Pre-req

Pre-req

A change

Pre-req
STEP 5

APP
Pre-req

Pre-req

A change

Pre-req
STEP 6-1

APP
Pre-req

Pre-req

A change

Pre-req
STEP 2

APP
Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 3-4

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 5

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 1

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 1

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 1

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 1

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 1

APP

Pre-req

Pre-req

Pre-req

A change

Pre-req
Pre-req

STEP 1

APP

Pre-req

Pre-req

Pre-req

A change

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 environments
No more merging issues
GOAL FOCUS
Do only the necessary
VISUALIZATION OF GRAPH
Best documentation
Improve communication
Improve cooperation
HAPPY TEAM
Mikado method
Mikado method
Mikado method
Mikado method
Mikado method
Mikado method
Mikado method
Mikado method
Mikado method
Próximos SlideShares
Carregando em…5
×

Mikado method

This talk explains what it's and how Mikado Method works.

Mikado method

  1. 1. Mikado Method
  2. 2. A tool for large-scale refactorings
  3. 3. REFACTOR ?
  4. 4. PRODUCT OWNER
  5. 5. DEVELOPERS
  6. 6. GARDENING
  7. 7. APP
  8. 8. REFACTOR
  9. 9. Refactoring the old way is like removing an old stump… you will also leave some roots…
  10. 10. REFACTOR WITH BRANCHES
  11. 11. Refactoring using branches is like grafting fruit trees… you never know that what you can get.
  12. 12. MIKADO METHOD
  13. 13. Refactoring using the Mikado Method is like pruning ornamental trees… • You can work in an incremental process. • You can always change the shape. • You always see what you get.
  14. 14. REFACTORING THE OLD WAY
  15. 15. RIGOROUS ANALYSIS
  16. 16. GUESS
  17. 17. PROBLEMS
  18. 18. APP My change
  19. 19. APP My change
  20. 20. APP My change
  21. 21. APP My change
  22. 22. APP My change
  23. 23. APP My change
  24. 24. REVERT
  25. 25. REFACTORING USING BRANCHES
  26. 26. WHEN THE BRANCH IS CREATED
  27. 27. MERGING BRANCHES
  28. 28. AFTER MERGING BRANCHES
  29. 29. PROBLEMS
  30. 30. REFACTORING MIKADO METHOD
  31. 31. Do you know how to play mikado game?
  32. 32. INCREMENTAL
  33. 33. LIGHTWEIGHT
  34. 34. VISIBILITY
  35. 35. STABILITY
  36. 36. CONTINUOS DEPLOYMENT
  37. 37. COMMUNICATION
  38. 38. LEARNING
  39. 39. WORK DONE
  40. 40. COLLABORATION
  41. 41. WORKLOAD
  42. 42. EASY
  43. 43. HOW IT WORKS ?
  44. 44. COMPILED & INTERPRETED
  45. 45. STEP 1 Naive implementation
  46. 46. STEP 1.1 Is something new failing ? YES - STEP 2 NO - STEP 8
  47. 47. STEP 2 What is failing?
  48. 48. STEP 3 Document the pre-requisites to fix that is failing
  49. 49. STEP 4 Document the graph
  50. 50. STEP 5 Revert your changes.
  51. 51. STEP 5.1 There are more pre-requisites in this level? YES - STEP 6 NO - STEP 7
  52. 52. STEP 6 Get the next pre-requisite GOTO STEP 1 repeat the process
  53. 53. STEP 7 Down one level GOTO STEP 5.1
  54. 54. STEP 8 Pre-requisite has been FIXED
  55. 55. STEP 9 Document the graph
  56. 56. APP A change STEP 1
  57. 57. APP A change STEP 2
  58. 58. STEP 3-4 APP Pre-req Pre-req A change Pre-req
  59. 59. STEP 5 APP Pre-req Pre-req A change Pre-req
  60. 60. STEP 5 APP Pre-req Pre-req A change Pre-req
  61. 61. STEP 6-1 APP Pre-req Pre-req A change Pre-req
  62. 62. STEP 2 APP Pre-req Pre-req A change Pre-req
  63. 63. Pre-req STEP 3-4 APP Pre-req Pre-req Pre-req A change Pre-req
  64. 64. Pre-req STEP 5 APP Pre-req Pre-req Pre-req A change Pre-req
  65. 65. Pre-req STEP 1 APP Pre-req Pre-req Pre-req A change Pre-req
  66. 66. Pre-req STEP 1 APP Pre-req Pre-req Pre-req A change Pre-req
  67. 67. Pre-req STEP 1 APP Pre-req Pre-req Pre-req A change Pre-req
  68. 68. Pre-req STEP 1 APP Pre-req Pre-req Pre-req A change Pre-req
  69. 69. Pre-req STEP 1 APP Pre-req Pre-req Pre-req A change Pre-req
  70. 70. Pre-req STEP 1 APP Pre-req Pre-req Pre-req A change Pre-req
  71. 71. WRITE DOWN YOUR GOAL SEEK THINGS TO TRY BACK OUT BROKEN CODE FIX THE PRE-REQUISITES RECURSIVELY
  72. 72. ALWAYS DELIVERABLE FROM THE MAIN BRANCH No more broken environments No more merging issues
  73. 73. GOAL FOCUS Do only the necessary
  74. 74. VISUALIZATION OF GRAPH Best documentation Improve communication Improve cooperation
  75. 75. HAPPY TEAM

×