make a f.o.c.o.l. point!

96
CTO, New Iron, Austin, TX Janelle Klein ©2015 New Iron Group Make a FOCOL Point! Creation Date: 11/24/2015

Upload: janelle-klein

Post on 15-Apr-2017

163 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Make a F.O.C.O.L. Point!

CTO, New Iron, Austin, TXJanelle Klein

©2015 New Iron Group

Make a FOCOL Point!

Creation Date: 11/24/2015

Page 2: Make a F.O.C.O.L. Point!

What is this talk about?

Make a F.O.C.O.L Point! (IFLF’s Reflection Protocol)

FOCOL Point Team Retrospective

The Process of Mastery

Page 3: Make a F.O.C.O.L. Point!

Why should I care?

Page 4: Make a F.O.C.O.L. Point!

Sprint RetrospectiveHave you ever wondered:

“Are we really learning?”

Page 5: Make a F.O.C.O.L. Point!

Playing the Flute

MeMy Skills

Page 6: Make a F.O.C.O.L. Point!

Playing the Flute

MeMy Skills

Page 7: Make a F.O.C.O.L. Point!

Private Lessons

MeMy Skills My Teacher

NO! That’s Wrong!!

Page 8: Make a F.O.C.O.L. Point!

Private Lessons

MeMy Skills My Teacher

NO! That’s Wrong!!

Page 9: Make a F.O.C.O.L. Point!

Observations from Mastering the Flute

Focus on the stuff you’re not good at.

The objective with any lesson is to suck less.

We can’t fix problems we can’t see.

We can’t fix problems we don’t understand.

To make improvements permanent, we have to make the changes a habit. (practice)

Page 10: Make a F.O.C.O.L. Point!

Why aren’t we learning?

Practice isn’t enough.

Thinking about improvements

only works to an extent.

My Skills Me

Desire isn’t enough.

Page 11: Make a F.O.C.O.L. Point!

How do we design a process for mastery?

Page 12: Make a F.O.C.O.L. Point!

Mastery isn’t a Goal.

It’s a Process.

Page 13: Make a F.O.C.O.L. Point!

Mastery isn’t a Destination.

It’s a Direction.

Page 14: Make a F.O.C.O.L. Point!

Mastery isn’t the Quality of the Car.

It’s the Quality of the Steering.

Page 15: Make a F.O.C.O.L. Point!

Mastery isn’t the Data File.

It’s the Program that generates data files.

Page 16: Make a F.O.C.O.L. Point!

Mastery isn’t the Quality of the Outcome.

It’s the Quality of Decisions.

Page 17: Make a F.O.C.O.L. Point!

The Process of Mastery

Systematically Optimize Decisions

Page 18: Make a F.O.C.O.L. Point!

Target - The direction we’re trying to go…

The Process of Mastery

Page 19: Make a F.O.C.O.L. Point!

Output - The pain signal we’re trying to improve

The Process of Mastery

Page 20: Make a F.O.C.O.L. Point!

Input - The constraints that limit our short-term choices…

The Process of Mastery

Page 21: Make a F.O.C.O.L. Point!

1. Visibility - See the pain

1.Visibility

1.Visibility

The Process of Mastery

Page 22: Make a F.O.C.O.L. Point!

1.Clarity

2.Clarity

2. Clarity - Explain what’s causing the pain

The Process of Mastery

Page 23: Make a F.O.C.O.L. Point!

3.Awareness

3. Awareness - Learn to avoid the pain

The Process of Mastery

Page 24: Make a F.O.C.O.L. Point!

Focus on the biggest pain…

Minimize Pain

The Process of Mastery

Page 25: Make a F.O.C.O.L. Point!

Systematically Optimize Decisions

The Process of Mastery

Page 26: Make a F.O.C.O.L. Point!

Three Stages of Mastery

Visibility

Clarity

Awareness

Page 27: Make a F.O.C.O.L. Point!

We can’t fix a problem that we don’t see.

VisibilitySee the pain

Page 28: Make a F.O.C.O.L. Point!

Our level of understanding is constrained by the diversity of patterns in our vocabulary.

ClarityExplain what’s causing the pain

Page 29: Make a F.O.C.O.L. Point!

AwarenessLearn to avoid the pain

The quality of our decisions is limited by our ability to recognize the risks in the moment.

Page 30: Make a F.O.C.O.L. Point!

Three Stages of Mastery

Visibility

Clarity

Awareness

See

Explain

Predict

Page 31: Make a F.O.C.O.L. Point!

Mastery is Knowledge Expansion

Iterate - What type of learning do I need most?

Page 32: Make a F.O.C.O.L. Point!

Now Let’s Zoom Out!

Mastery is a process of additive learning.

Page 33: Make a F.O.C.O.L. Point!

The Scientific Method

Creating an explicit model makes our beliefs testable.

(An additive learning strategy)

Page 34: Make a F.O.C.O.L. Point!

Decision-Making Model

Little Pain

Big Pain

Trade-off decisions

Page 35: Make a F.O.C.O.L. Point!

Imagine your brain is adecision-making engine

written in code.

BreakpointStop and Think!

Page 36: Make a F.O.C.O.L. Point!

Imagine your brain is adecision-making engine

written in code.

BreakpointStop and Think!

Page 37: Make a F.O.C.O.L. Point!

What’s a Decision Principle?

1. How do I evaluate my situation?2. What should I optimize for?

Answers Two Questions

Page 38: Make a F.O.C.O.L. Point!

The Haystack Principle

“Optimize for small manageable haystacks.”

“If I decide to skip the unit tests, how will that affect my haystack size?”

Lots of unvalidated changes

Easier to find the needle.

Page 39: Make a F.O.C.O.L. Point!

The Checklist ManifestoAtul Gawande

Running LeanAsh Maurya

+

Use strategy experiments to test your beliefs.

Page 40: Make a F.O.C.O.L. Point!

14:230:00

I want to avoid this…

Thinking ChecklistIs my current approach likely to cause a big haystack?

Situation: start of subtask

Let’s Make a Checklist!

“What question could I ask my future self to recognize similar risks in the future?”

“In what situation would I ask the question?”

Page 41: Make a F.O.C.O.L. Point!

0:00

Stop and Think:

Is my current approach likely tocause a big haystack?

Predict: Small haystack

Strategy Experiments

Page 42: Make a F.O.C.O.L. Point!

18:120:00

Stop and Think:

Is my current approach likely tocause a big haystack?

Predict: Small haystack

False Prediction

Strategy Experiments

Page 43: Make a F.O.C.O.L. Point!

18:120:00

Stop and Think:

Is my current approach likely tocause a big haystack?

False Prediction

Strategy Experiments

High-Risk Situations

1. Unraveling sweater2. Integration-heavy change3. High state variation4. Minimum scope is big

Q: Is my current approach likely tocause a big haystack?

Start of Subtask

Page 44: Make a F.O.C.O.L. Point!

Strategy Types (“do”)

1. DependencyAnalysis2. IncrementalIntegrationTest3. DataDrivenTest4. IsolateHardToTestCode

Situation Types (“see”)

1. UnravelingSweater2. HeavyIntegrationLogic3. HighStateVariation4. CoupledExternalDependencies

Haystack Decisions

Codify What Works

DoSee

Page 45: Make a F.O.C.O.L. Point!

Best Practices are Backwards

We don’t encounter solutions, we encounter problems.

Do See We needa new datastructure!!

Page 46: Make a F.O.C.O.L. Point!

The Scientific Method

Creating an explicit model makes our beliefs testable.

(An additive learning strategy)

Visibility Process

Modeling Process

Experimentation Process

Page 47: Make a F.O.C.O.L. Point!

The Scientific Method

Creating an explicit model makes our beliefs testable.

(An additive learning strategy)

Visibility Process

Modeling Process

Experimentation Process

FOCOL Pointhappens here!

Page 48: Make a F.O.C.O.L. Point!

Learn

Focus

Observe

ConcludeOptimize

Make a FOCOL Point!(The Mastery Spiral)

Back to Experiments

Page 49: Make a F.O.C.O.L. Point!

FOCOL Point Retrospective!

Page 50: Make a F.O.C.O.L. Point!

Learn

Focus

Observe

ConcludeOptimize

Focus - What’s the needle we’re trying to move?

Make a FOCOL Point!(The Mastery Spiral)

Pain Type

Focus = Scope + Direction

Page 51: Make a F.O.C.O.L. Point!

JourneyBeginning Ending

Think about the Experience as a Problem-Solving Journey

Page 52: Make a F.O.C.O.L. Point!

= Solution Strategy

The Problem-Solving Journey

Page 53: Make a F.O.C.O.L. Point!

= Solution StrategyChoose a general strategy

The Problem-Solving Journey

Page 54: Make a F.O.C.O.L. Point!

= Solution Strategy

Understand the system

The Problem-Solving Journey

Page 55: Make a F.O.C.O.L. Point!

= Solution Strategy

Code & work out the kinks

The Problem-Solving Journey

Page 56: Make a F.O.C.O.L. Point!

= Solution Strategy

Back to the drawing board

The Problem-Solving Journey

Page 57: Make a F.O.C.O.L. Point!

JourneyBeginning Ending

Focus = Scope + Direction

How could I have reduced<this pain type> in <this experience>?

Page 58: Make a F.O.C.O.L. Point!

The type of pain we experiencedepends on where the disruptions are in the journey

Page 59: Make a F.O.C.O.L. Point!

The Ten Pains of Software Development

(Needles)

TroubleshootingLearningRework

Page 60: Make a F.O.C.O.L. Point!

Design-Fit Pain - When the new feature doesn’t fit well into the existing design.

The Ten Pains of Software Development

(Needles)

Page 61: Make a F.O.C.O.L. Point!

Requirements Pain - Bad assumptions about what functionality to build

The Ten Pains of Software Development

(Needles)

Page 62: Make a F.O.C.O.L. Point!

Collaboration Pain - Challenges collaborating with other developers on the team.

The Ten Pains of Software Development

(Needles)

Page 63: Make a F.O.C.O.L. Point!

Modeling Pain - When it’s difficult to build a conceptual model of the existing software.

The Ten Pains of Software Development

(Needles)

Page 64: Make a F.O.C.O.L. Point!

Cognitive Pain - Challenges with complexity and intense thinking

The Ten Pains of Software Development

(Needles)

Page 65: Make a F.O.C.O.L. Point!

Alarm Pain - Challenges with false alarms and test maintenance

The Ten Pains of Software Development

(Needles)

Page 66: Make a F.O.C.O.L. Point!

Experiment Pain - Challenges with getting feedback by running

experiments

The Ten Pains of Software Development

(Needles)

Page 67: Make a F.O.C.O.L. Point!

Execution Pain - When changing the code is highly mistake-prone

The Ten Pains of Software Development

(Needles)

Page 68: Make a F.O.C.O.L. Point!

An amplifying effect on other problems

The Ten Pains of Software Development

(Needles)

Page 69: Make a F.O.C.O.L. Point!

JourneyBeginning Ending

Will Need a Guinea Pig.

Focus on One Experience at a time.

Page 70: Make a F.O.C.O.L. Point!

Learn

ConcludeOptimize

Observe - What patterns do we see?

Focus

Observe

Make a FOCOL Point!(The Mastery Spiral)

Page 71: Make a F.O.C.O.L. Point!

Circle LeaderFocus MemberInquisitor

ObservationQuestions

Mastery Circle(Based on Action Learning)

Observe - What patterns do we see?

Page 72: Make a F.O.C.O.L. Point!

Learn

Optimize

Conclude - What major factors caused the pain?

Focus

Observe

Conclude

Make a FOCOL Point!(The Mastery Spiral)

Page 73: Make a F.O.C.O.L. Point!

What were the biggest obstacles on the journey?

Constraints

Difficulties

Bad Strategies

Uncertainty

Page 74: Make a F.O.C.O.L. Point!

Journey

Constraints

What were the biggest obstacles on the journey?

Page 75: Make a F.O.C.O.L. Point!

Difficulties

Journey

What were the biggest obstacles on the journey?

Page 76: Make a F.O.C.O.L. Point!

JourneyBad Strategy

What were the biggest obstacles on the journey?

Page 77: Make a F.O.C.O.L. Point!

Journey Good Strategy

What were the biggest obstacles on the journey?

Page 78: Make a F.O.C.O.L. Point!

Journey Uncertainty

What were the biggest obstacles on the journey?

Page 79: Make a F.O.C.O.L. Point!

Circle LeaderFocus MemberInquisitor

Inquisitors state additive conclusions.

Mastery Circle(Based on Action Learning)

Conclude - What major factors caused the pain?

Focus Member is last.

Page 80: Make a F.O.C.O.L. Point!

Learn

Optimize

Optimize - What strategies could have reduced the pain?

Focus

Observe

Conclude

Make a FOCOL Point!(The Mastery Spiral)

Page 81: Make a F.O.C.O.L. Point!

Journey Good Strategy

What strategies could have reduced the pain?

Page 82: Make a F.O.C.O.L. Point!

Circle LeaderFocus MemberInquisitor

Mastery Circle(Based on Action Learning)

Focus Member is last.

Inquisitors state additive strategies.

Optimize - What strategies could have reduced the pain?

Page 83: Make a F.O.C.O.L. Point!

Learn

Learn - What questions should we add to the field guide?

Focus

Observe

ConcludeOptimize

Make a FOCOL Point!(The Mastery Spiral)

Page 84: Make a F.O.C.O.L. Point!

Journey

FieldGuide

What questions should we add to the field guide?

SituationalChecklists

Page 85: Make a F.O.C.O.L. Point!

Circle LeaderFocus MemberInquisitor

Mastery Circle(Based on Action Learning)

Focus Member is last.

Inquisitors state additive questions.

Learn - What questions should we add to the field guide?

Page 86: Make a F.O.C.O.L. Point!

Learn

Focus

Observe

ConcludeOptimize

Make a FOCOL Point!(The Mastery Spiral)

Back to Experiments

Page 87: Make a F.O.C.O.L. Point!

TroubleshootingLearningRework

What are the TOP THREE pains on your project?

Page 88: Make a F.O.C.O.L. Point!

Think of an EXPERIENCE where you learned about the pain.

JourneyBeginning Ending

Page 89: Make a F.O.C.O.L. Point!

JourneyBeginning Ending

We need a Guinea Pig.

Focus on One Experience

Page 90: Make a F.O.C.O.L. Point!

JourneyBeginning Ending

Focus = Scope + Direction

How could I have reduced<this pain type> in <this experience>?

Page 91: Make a F.O.C.O.L. Point!

Learn

Focus

Observe

ConcludeOptimize

Let’s Make a FOCOL Point!

Page 92: Make a F.O.C.O.L. Point!

Open Mastery 2016We Believe in Peer Mentorship!

Yay!

Page 93: Make a F.O.C.O.L. Point!

IndividualsFree Membership

CompaniesPaid Membership

Open Mastery Guild Membership

Page 94: Make a F.O.C.O.L. Point!

IFM Tools

Anonymized data

Developers Learning Together!

IFM Tools

IFM Tools IFM Tools

IFM Tools

IFM Tools

Community Focus

Integrated #HashTagGlossary

Page 95: Make a F.O.C.O.L. Point!

IFM Tools

IFM Tools

IFM Tools IFM Tools

IFM Tools

IFM Tools

Idea Flow Analytics PlatformPrivate data

Companies Learning Together!

Revenue frommembership feesto fund coredevelopment

Page 96: Make a F.O.C.O.L. Point!

@janellekz

Open Mastery 2016Join us! @openmastery

[email protected]

Thank you!

Free e-book if you sign up before publish day! (Jan

2016)

Tweet about #ideaflow!

IFM Tools available at: github.com/ideaflow/tools