Submit Search
Upload
Presentation of the book "Mikado Method"
•
0 likes
•
30 views
Jörn Dinkla
Follow
Presentation of the "Mikado Method" and the book by Daniel Brolund and Ola Ellnestam
Read less
Read more
Software
Report
Share
Report
Share
1 of 22
Recommended
Essential time management required for professional business person
Essential time management required for professional business person
DIVE INTO CODE Corp.
Dark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific Computing
Greg Wilson
Getting Things Done for Technical Communicators
Getting Things Done for Technical Communicators
Karen Mardahl
“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...
Edge AI and Vision Alliance
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
Break the myths, not the values.. The agile way
Break the myths, not the values.. The agile way
Kiran Kumar Chittoori
Drupal Product Development
Drupal Product Development
Doug Green
10 Observations from 10+ years in the Corporate UX Trenches
10 Observations from 10+ years in the Corporate UX Trenches
Ario Jafarzadeh
Recommended
Essential time management required for professional business person
Essential time management required for professional business person
DIVE INTO CODE Corp.
Dark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific Computing
Greg Wilson
Getting Things Done for Technical Communicators
Getting Things Done for Technical Communicators
Karen Mardahl
“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...
Edge AI and Vision Alliance
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
Break the myths, not the values.. The agile way
Break the myths, not the values.. The agile way
Kiran Kumar Chittoori
Drupal Product Development
Drupal Product Development
Doug Green
10 Observations from 10+ years in the Corporate UX Trenches
10 Observations from 10+ years in the Corporate UX Trenches
Ario Jafarzadeh
Introduction to react js
Introduction to react js
MunirMahmud3
Coding Dojo Firenze - vol1
Coding Dojo Firenze - vol1
Massimo Iacolare
Yale waterfall delivery approach training deck
Yale waterfall delivery approach training deck
Yale University Careers
Making Good Design Decisions
Making Good Design Decisions
Dan Saffer
[DSC Adria 23] Radovan Bacovic Steal Our Knowledge Please.pptx
[DSC Adria 23] Radovan Bacovic Steal Our Knowledge Please.pptx
DataScienceConferenc1
final_paper_six_sigma.doc
final_paper_six_sigma.doc
J. De La Garza
Planning Work & Contributing to Product Development Communities
Planning Work & Contributing to Product Development Communities
Kireeti Varma
NIIT ppt.pptx
NIIT ppt.pptx
Sonu Rayamajhi
Systematic Inventive Thinking - SIT
Systematic Inventive Thinking - SIT
Peter Frank
Building a Renewable Program Chapter 2 Doing Your Homework
Building a Renewable Program Chapter 2 Doing Your Homework
Erik Lindquist, P.Eng.
How to make team collaboration suck less!
How to make team collaboration suck less!
Brian LaMee
Hack your learning 2019
Hack your learning 2019
John Clegg
Hack your learning 2022 - Part 1
Hack your learning 2022 - Part 1
John Clegg
OpenUI: Integrating Usage Data?
OpenUI: Integrating Usage Data?
Igalia
The rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in Turin
Alessandro Nadalin
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
The Happy Startup School
How To Get Things Done
How To Get Things Done
Kenny Ong
AgileMidwest2018-Erickson-PowerOfRetrospective
AgileMidwest2018-Erickson-PowerOfRetrospective
Jason Tice
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Ateneo Graduate School of Business
50 UX Best Practices (By Above the Fold)
50 UX Best Practices (By Above the Fold)
Cristiano Caetano
Korrekte nebenläufige Anwendungen mit Koroutinen und TDD
Korrekte nebenläufige Anwendungen mit Koroutinen und TDD
Jörn Dinkla
Nebenlaeufigkeit mit Koroutinen strukturieren
Nebenlaeufigkeit mit Koroutinen strukturieren
Jörn Dinkla
More Related Content
Similar to Presentation of the book "Mikado Method"
Introduction to react js
Introduction to react js
MunirMahmud3
Coding Dojo Firenze - vol1
Coding Dojo Firenze - vol1
Massimo Iacolare
Yale waterfall delivery approach training deck
Yale waterfall delivery approach training deck
Yale University Careers
Making Good Design Decisions
Making Good Design Decisions
Dan Saffer
[DSC Adria 23] Radovan Bacovic Steal Our Knowledge Please.pptx
[DSC Adria 23] Radovan Bacovic Steal Our Knowledge Please.pptx
DataScienceConferenc1
final_paper_six_sigma.doc
final_paper_six_sigma.doc
J. De La Garza
Planning Work & Contributing to Product Development Communities
Planning Work & Contributing to Product Development Communities
Kireeti Varma
NIIT ppt.pptx
NIIT ppt.pptx
Sonu Rayamajhi
Systematic Inventive Thinking - SIT
Systematic Inventive Thinking - SIT
Peter Frank
Building a Renewable Program Chapter 2 Doing Your Homework
Building a Renewable Program Chapter 2 Doing Your Homework
Erik Lindquist, P.Eng.
How to make team collaboration suck less!
How to make team collaboration suck less!
Brian LaMee
Hack your learning 2019
Hack your learning 2019
John Clegg
Hack your learning 2022 - Part 1
Hack your learning 2022 - Part 1
John Clegg
OpenUI: Integrating Usage Data?
OpenUI: Integrating Usage Data?
Igalia
The rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in Turin
Alessandro Nadalin
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
The Happy Startup School
How To Get Things Done
How To Get Things Done
Kenny Ong
AgileMidwest2018-Erickson-PowerOfRetrospective
AgileMidwest2018-Erickson-PowerOfRetrospective
Jason Tice
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Ateneo Graduate School of Business
50 UX Best Practices (By Above the Fold)
50 UX Best Practices (By Above the Fold)
Cristiano Caetano
Similar to Presentation of the book "Mikado Method"
(20)
Introduction to react js
Introduction to react js
Coding Dojo Firenze - vol1
Coding Dojo Firenze - vol1
Yale waterfall delivery approach training deck
Yale waterfall delivery approach training deck
Making Good Design Decisions
Making Good Design Decisions
[DSC Adria 23] Radovan Bacovic Steal Our Knowledge Please.pptx
[DSC Adria 23] Radovan Bacovic Steal Our Knowledge Please.pptx
final_paper_six_sigma.doc
final_paper_six_sigma.doc
Planning Work & Contributing to Product Development Communities
Planning Work & Contributing to Product Development Communities
NIIT ppt.pptx
NIIT ppt.pptx
Systematic Inventive Thinking - SIT
Systematic Inventive Thinking - SIT
Building a Renewable Program Chapter 2 Doing Your Homework
Building a Renewable Program Chapter 2 Doing Your Homework
How to make team collaboration suck less!
How to make team collaboration suck less!
Hack your learning 2019
Hack your learning 2019
Hack your learning 2022 - Part 1
Hack your learning 2022 - Part 1
OpenUI: Integrating Usage Data?
OpenUI: Integrating Usage Data?
The rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in Turin
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
How To Get Things Done
How To Get Things Done
AgileMidwest2018-Erickson-PowerOfRetrospective
AgileMidwest2018-Erickson-PowerOfRetrospective
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
Instantly Transform Into a Master Communicator Using 21 Secrets of Effective ...
50 UX Best Practices (By Above the Fold)
50 UX Best Practices (By Above the Fold)
More from Jörn Dinkla
Korrekte nebenläufige Anwendungen mit Koroutinen und TDD
Korrekte nebenläufige Anwendungen mit Koroutinen und TDD
Jörn Dinkla
Nebenlaeufigkeit mit Koroutinen strukturieren
Nebenlaeufigkeit mit Koroutinen strukturieren
Jörn Dinkla
Plain react, hooks and/or Redux ?
Plain react, hooks and/or Redux ?
Jörn Dinkla
A short introduction to Kotlin
A short introduction to Kotlin
Jörn Dinkla
Concurrency in Kotlin with coroutines
Concurrency in Kotlin with coroutines
Jörn Dinkla
Nebenläufigkeit mit Kotlins Koroutinen
Nebenläufigkeit mit Kotlins Koroutinen
Jörn Dinkla
GPU-Computing mit CUDA und OpenCL
GPU-Computing mit CUDA und OpenCL
Jörn Dinkla
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Jörn Dinkla
Die ‚komplexe‘ Perspektive - Einführung in die digitale Wirtschaft
Die ‚komplexe‘ Perspektive - Einführung in die digitale Wirtschaft
Jörn Dinkla
Geschäftsmodelle -Ein kurzer Überblick
Geschäftsmodelle -Ein kurzer Überblick
Jörn Dinkla
Buchvorstellung "Libertarian Anarchy: Against the State" von Gerard Casey
Buchvorstellung "Libertarian Anarchy: Against the State" von Gerard Casey
Jörn Dinkla
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Jörn Dinkla
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Jörn Dinkla
GPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der Praxis
Jörn Dinkla
Introduction To Parallel Computing
Introduction To Parallel Computing
Jörn Dinkla
Subversion Schulung
Subversion Schulung
Jörn Dinkla
Test-Driven-Development mit JUnit 4
Test-Driven-Development mit JUnit 4
Jörn Dinkla
Ant im Detail
Ant im Detail
Jörn Dinkla
More from Jörn Dinkla
(18)
Korrekte nebenläufige Anwendungen mit Koroutinen und TDD
Korrekte nebenläufige Anwendungen mit Koroutinen und TDD
Nebenlaeufigkeit mit Koroutinen strukturieren
Nebenlaeufigkeit mit Koroutinen strukturieren
Plain react, hooks and/or Redux ?
Plain react, hooks and/or Redux ?
A short introduction to Kotlin
A short introduction to Kotlin
Concurrency in Kotlin with coroutines
Concurrency in Kotlin with coroutines
Nebenläufigkeit mit Kotlins Koroutinen
Nebenläufigkeit mit Kotlins Koroutinen
GPU-Computing mit CUDA und OpenCL
GPU-Computing mit CUDA und OpenCL
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Die ‚komplexe‘ Perspektive - Einführung in die digitale Wirtschaft
Die ‚komplexe‘ Perspektive - Einführung in die digitale Wirtschaft
Geschäftsmodelle -Ein kurzer Überblick
Geschäftsmodelle -Ein kurzer Überblick
Buchvorstellung "Libertarian Anarchy: Against the State" von Gerard Casey
Buchvorstellung "Libertarian Anarchy: Against the State" von Gerard Casey
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Multi-GPU-Computing: Eins, zwei, drei, ganz viele
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing
GPU-Computing mit CUDA und OpenCL in der Praxis
GPU-Computing mit CUDA und OpenCL in der Praxis
Introduction To Parallel Computing
Introduction To Parallel Computing
Subversion Schulung
Subversion Schulung
Test-Driven-Development mit JUnit 4
Test-Driven-Development mit JUnit 4
Ant im Detail
Ant im Detail
Recently uploaded
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Neo4j
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
stazi3110
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Christina Lin
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Christina Lin
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
Tier1 app
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
gurkirankumar98700
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
joe51371421
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
BradBedford3
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
Sujith Sukumaran
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
VICTOR MAESTRE RAMIREZ
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
kotipi9215
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Wave PLM
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
kellynguyen01
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
MyIntelliSource, Inc.
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
VitsRangannavar
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
Andreas Granig
Recently uploaded
(20)
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
Presentation of the book "Mikado Method"
1.
1 Mikado Method Jörn Dinkla,
April 2020 © 2020 ThoughtWorks
2.
The story of
refactoring Once upon a time there was a smell in a programm ... 2 © 2020 ThoughtWorks 1. You think “this can be made better, i’ll refactor it” … 2. You refactor it, run the tests, but something else breaks 3. You try to fix it and so you look at other places in the code 4. You think “this place smells, too” 5. Goto 1
3.
The story of
refactoring Once upon a time there was a smell in a programm ... 3 © 2020 ThoughtWorks 1. You think “this can be made better, i’ll refactor it” … 2. You refactor it, run the tests, but something else breaks 3. You try to fix it and so you look at other places in the code 4. You think “this place smells, too” 5. Goto 1 After many hours of work: Code is not compiling Tests are broken Hours wasted
4.
4 © this image
is taken from the book
5.
What is wrong
with this approach? Why doesn’t it work? How can this rabbit hole be avoided? 5 © 2020 ThoughtWorks
6.
Ola Ellnestam, Daniel
Brolund Manning, 2014 Important parts are available online: https://www.manning.com/books/the-mikado-method The Mikado Method 6 © 2020 ThoughtWorks
7.
“The Mikado Method
is a structured way to make significant changes to complex code/complex systems.” Ellnestam, Brolund 7 © 2020 ThoughtWorks
8.
8 The trick is
to pick up the easy sticks first
9.
“The Mikado Method
lets you handle complex code a bit like you’d move furniture around in your home, one piece at a time.” Ellnestam, Brolund 9 © 2020 ThoughtWorks
10.
10
11.
What are the
easiest parts? 11 © 2020 ThoughtWorks Difficult to answer in complex situations!
12.
Goal The goal is
to build up knowledge ● What obstacles are there? ● What are the dependencies? Build a plan of easy steps! Finding out the dependencies of the sticks or furniture 12 © 2020 ThoughtWorks
13.
The Mikado Method 1.
Set a goal. 2. An experiment is a procedure for making a discovery or establishing the validity of a hypothesis, so that you can see what parts of the system break. 3. Visualization happens when you write down the goal and the prerequisites necessary to achieve it. 4. Undo your changes to restore a previously working state. 13 © 2020 ThoughtWorks
14.
Comparison 1. Set a
goal 2. Experiment 3. Visualize 4. Undo Finding out the dependencies of the sticks 14 © 2020 ThoughtWorks Traditionally top-down Mikado Top-down bottom-up
15.
15
16.
Undo Really? ● “the undo
part is what people struggle with most” ● “undoing feels very unintuitive and wasteful” But, it is important ● It’s learning, we need complete information ● We do not want to rely on assumptions ● You can save progress in patches 16 © 2020 ThoughtWorks
17.
Breaking up a
complex problem in simple ones Analyse top down ● Build the graph with partial solutions ● Undo to return to a correct system state ● Until something won’t break other parts Rewind bottom-up ● Apply the small changes ● Do not require large feature branches 17 © 2020 ThoughtWorks
18.
Advantages ● Learned about
the whole problem ● Solution consists of small changes ○ Can be worked in in small tickets/stories ○ Do not require large feature branches 18 © 2020 ThoughtWorks
19.
19
20.
20
21.
Most chapters are
available online https://www.manning.com/books/the-mikado-method 21 © 2020 ThoughtWorks
22.
22 Jörn Dinkla jdinkla@thoughtworks.com © 2020
ThoughtWorks