The Mikado Method
Summary

The Mikado Method is a book written by the creators of this process. It describes a pragmatic, straightforward, and empirical method to plan and perform non-trivial technical improvements on an existing software system. The method has simple rules, but the applicability is vast. As you read, you'll practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining the safest way to approach the "Mikado"—your goal.

About the Technology

The game "pick-up sticks" is a good metaphor for the Mikado Method. You eliminate "technical debt" —the legacy problems embedded in nearly every software system— by following a set of easy-to-implement rules. You carefully extract each intertwined dependency until you expose the central issue, without collapsing the project.

About the Book

The Mikado Method presents a pragmatic process to plan and perform nontrivial technical improvements on an existing software system. The book helps you practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining a safe way to approach the "Mikado"—your goal. A natural by-product of this process is the Mikado Graph, a roadmap that reflects deep understanding of how your system works. This book builds on agile processes such as refactoring, TDD, and rapid feedback. It requires no special hardware or software and can be practiced by both small and large teams.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

What's Inside
  • Understand your technical debt
  • Surface the dependencies in legacy systems
  • Isolate and resolve core concerns while creating minimal disruption
  • Create a roadmap for your changes

About the Authors

Ola Ellnestam and Daniel Brolund are developers, coaches, and team leaders. They developed the Mikado Method in response to years of experience resolving technical debt in complex legacy systems.

Table of Contents
    Meet the Mikado Method
  1. Hello, Mikado Method!
  2. Goals, graphs, and guidelines
  3. Organizing your work
  4. Breaking up a monolith
  5. Emergent design
  6. Common restructuring patterns
1116434871
The Mikado Method
Summary

The Mikado Method is a book written by the creators of this process. It describes a pragmatic, straightforward, and empirical method to plan and perform non-trivial technical improvements on an existing software system. The method has simple rules, but the applicability is vast. As you read, you'll practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining the safest way to approach the "Mikado"—your goal.

About the Technology

The game "pick-up sticks" is a good metaphor for the Mikado Method. You eliminate "technical debt" —the legacy problems embedded in nearly every software system— by following a set of easy-to-implement rules. You carefully extract each intertwined dependency until you expose the central issue, without collapsing the project.

About the Book

The Mikado Method presents a pragmatic process to plan and perform nontrivial technical improvements on an existing software system. The book helps you practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining a safe way to approach the "Mikado"—your goal. A natural by-product of this process is the Mikado Graph, a roadmap that reflects deep understanding of how your system works. This book builds on agile processes such as refactoring, TDD, and rapid feedback. It requires no special hardware or software and can be practiced by both small and large teams.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

What's Inside
  • Understand your technical debt
  • Surface the dependencies in legacy systems
  • Isolate and resolve core concerns while creating minimal disruption
  • Create a roadmap for your changes

About the Authors

Ola Ellnestam and Daniel Brolund are developers, coaches, and team leaders. They developed the Mikado Method in response to years of experience resolving technical debt in complex legacy systems.

Table of Contents
    Meet the Mikado Method
  1. Hello, Mikado Method!
  2. Goals, graphs, and guidelines
  3. Organizing your work
  4. Breaking up a monolith
  5. Emergent design
  6. Common restructuring patterns
44.99 In Stock
The Mikado Method

The Mikado Method

The Mikado Method

The Mikado Method

Paperback(1st Edition)

$44.99 
  • SHIP THIS ITEM
    In stock. Ships in 6-10 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Summary

The Mikado Method is a book written by the creators of this process. It describes a pragmatic, straightforward, and empirical method to plan and perform non-trivial technical improvements on an existing software system. The method has simple rules, but the applicability is vast. As you read, you'll practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining the safest way to approach the "Mikado"—your goal.

About the Technology

The game "pick-up sticks" is a good metaphor for the Mikado Method. You eliminate "technical debt" —the legacy problems embedded in nearly every software system— by following a set of easy-to-implement rules. You carefully extract each intertwined dependency until you expose the central issue, without collapsing the project.

About the Book

The Mikado Method presents a pragmatic process to plan and perform nontrivial technical improvements on an existing software system. The book helps you practice a step-by-step system for identifying the scope and nature of your technical debt, mapping the key dependencies, and determining a safe way to approach the "Mikado"—your goal. A natural by-product of this process is the Mikado Graph, a roadmap that reflects deep understanding of how your system works. This book builds on agile processes such as refactoring, TDD, and rapid feedback. It requires no special hardware or software and can be practiced by both small and large teams.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

What's Inside
  • Understand your technical debt
  • Surface the dependencies in legacy systems
  • Isolate and resolve core concerns while creating minimal disruption
  • Create a roadmap for your changes

About the Authors

Ola Ellnestam and Daniel Brolund are developers, coaches, and team leaders. They developed the Mikado Method in response to years of experience resolving technical debt in complex legacy systems.

Table of Contents
    Meet the Mikado Method
  1. Hello, Mikado Method!
  2. Goals, graphs, and guidelines
  3. Organizing your work
  4. Breaking up a monolith
  5. Emergent design
  6. Common restructuring patterns

Product Details

ISBN-13: 9781617291210
Publisher: Manning
Publication date: 03/17/2014
Edition description: 1st Edition
Pages: 240
Product dimensions: 7.30(w) x 9.10(h) x 0.80(d)

About the Author

Ola Ellnestam is a coach and mentor for both business and technical teams. He loves to combine technology, people and business. He has developed complex computer systems within health care, defense, and on-line banking. He knows that software must be easy to use, extend, and deploy in order to be worth developing. More than anything else, he likes to share his discoveries and knowledge with others because he believes that this is how new knowledge and insight is created.

Daniel Brolund is a software developer that always sees things to improve—to the joy and grief of his fellow workers. He has successfully worked with global web sites deployed on hundreds of servers, desktop applications for just a few users, and on-line gaming applications, just to mention a few.

Table of Contents

foreword ix

preface xi

acknowledgments xvi

about this book xviii

about the cover illustration xxi

about the authors xxii

Part 1 The Basics of the Mikado Method 1

1 Meet the Mikado Method 3

1.1 What is the Mikado Method? 4

Basic concepts 4

When to use the Mikado Method 6

Benefits of the method 8

1.2 The Mikado Method recipe 8

How to work with the Mikado Method 8

1.3 Summary 14

2 Hello, Mikado Method! 15

2.1 Your first Mikado Graph 16

Making changes without breaking code 18

2.2 A slightly more complicated change 23

Getting to know the code 24

Reverting code 26

2.3 Making the code configurable 26

Get going with the Naive Approach 27

Revert when there are errors 29

Select the next prerequisite 30

Create an interface 32

Restart from the goal 33

2.4 Summary 36

3 Goals, graphs, and guidelines 38

3.1 The Mikado Method guidelines 38

Always start with the goal 39

Use experiments 39

Revert-the key to safe refactorings 40

Focus on the leaves 42

3.2 The Mikado Graph 42

The goal-business or technical? 43

The prerequisites 43

Prerequisite-step or decision? 44

How big should a step be? 44

More about the leaves 45

The dependency arrows 45

The check marks 46

3.3 Tips for using the Mikado Method 46

Focus on the goal 47

Follow the flow of the code 47

Keep it simple 48

Keep it visible 49

Iterate, increment, and evolve 49

Remember the state 50

Reflect on your work 51

3.4 Relation to other thinking models 51

Theory of Constraints 52

Empirical control systems 52

Pull systems 52

3.5 Summary 53

4 Organizing your work 54

4.1 The scope of a change 55

Changes at different scales 55

When do I start drawing my graph? 58

4.2 How to approach a change 58

Working in different constellations 59

Where to put the focus in a team 62

Pain points when working as a team 66

4.3 Summary 67

Part 2 Principles and Patterns for Improving Software 69

5 Breaking up a monolith 71

5.1 The code of an online loan institute 72

The existing functionality 73

The architecture and the code 74

5.2 Beheading the beast 77

Set a goal 77

Create an abstraction 80

More LoanRepository duties 83

Back to the business goal 84

Update the graph 84

Revert and restart from a clean slate 86

5.3 Getting to the true leaves of the graph 92

The first steps on the way back 92

Side effect-free programming 98

5.4 Summary 99

6 Emergent design 100

6.1 Designing classes 101

Code that does too many things 101

Code that isn't stable in the face of change 105

Code that violates its contract 108

Bulky interfaces 111

Code with rigid call-dependency chains 113

6.2 Designing packages 116

What to put in a package 117

Dependencies between packages 119

6.3 Summary 122

7 Common restructuring patterns 123

7.1 Graph patterns 124

Group common prerequisites in a grouping node 124

Extract preparatory prerequisites 125

Group a repeated set of prerequisites as a templated change 125

Graph concurrent goals with common prerequisites together 126

Split the graph 126

Explore options 127

7.2 Scattered-code patterns 129

Merge, reorganize, split 129

Move code directly to a new package 132

Move code gradually to a new package 133

Create an API 135

Use a temporary shelter 136

7.3 Code tricks 139

Update all references to a field or method 139

Freeze a partition 141

Develop a mimic replacement 141

Replace configuration with code 142

7.4 Summary 143

appendix A Technical debt 145

appendix B Setting the stage for improvements 171

appendix C Dealing with dynamically typed languages 192

index 209

From the B&N Reads Blog

Customer Reviews