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

Post on 15-Apr-2017

163 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CTO, New Iron, Austin, TXJanelle Klein

©2015 New Iron Group

Make a FOCOL Point!

Creation Date: 11/24/2015

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

Why should I care?

Sprint RetrospectiveHave you ever wondered:

“Are we really learning?”

Playing the Flute

MeMy Skills

Playing the Flute

MeMy Skills

Private Lessons

MeMy Skills My Teacher

NO! That’s Wrong!!

Private Lessons

MeMy Skills My Teacher

NO! That’s Wrong!!

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)

Why aren’t we learning?

Practice isn’t enough.

Thinking about improvements

only works to an extent.

My Skills Me

Desire isn’t enough.

How do we design a process for mastery?

Mastery isn’t a Goal.

It’s a Process.

Mastery isn’t a Destination.

It’s a Direction.

Mastery isn’t the Quality of the Car.

It’s the Quality of the Steering.

Mastery isn’t the Data File.

It’s the Program that generates data files.

Mastery isn’t the Quality of the Outcome.

It’s the Quality of Decisions.

The Process of Mastery

Systematically Optimize Decisions

Target - The direction we’re trying to go…

The Process of Mastery

Output - The pain signal we’re trying to improve

The Process of Mastery

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

The Process of Mastery

1. Visibility - See the pain

1.Visibility

1.Visibility

The Process of Mastery

1.Clarity

2.Clarity

2. Clarity - Explain what’s causing the pain

The Process of Mastery

3.Awareness

3. Awareness - Learn to avoid the pain

The Process of Mastery

Focus on the biggest pain…

Minimize Pain

The Process of Mastery

Systematically Optimize Decisions

The Process of Mastery

Three Stages of Mastery

Visibility

Clarity

Awareness

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

VisibilitySee the pain

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

ClarityExplain what’s causing the pain

AwarenessLearn to avoid the pain

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

Three Stages of Mastery

Visibility

Clarity

Awareness

See

Explain

Predict

Mastery is Knowledge Expansion

Iterate - What type of learning do I need most?

Now Let’s Zoom Out!

Mastery is a process of additive learning.

The Scientific Method

Creating an explicit model makes our beliefs testable.

(An additive learning strategy)

Decision-Making Model

Little Pain

Big Pain

Trade-off decisions

Imagine your brain is adecision-making engine

written in code.

BreakpointStop and Think!

Imagine your brain is adecision-making engine

written in code.

BreakpointStop and Think!

What’s a Decision Principle?

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

Answers Two Questions

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.

The Checklist ManifestoAtul Gawande

Running LeanAsh Maurya

+

Use strategy experiments to test your beliefs.

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?”

0:00

Stop and Think:

Is my current approach likely tocause a big haystack?

Predict: Small haystack

Strategy Experiments

18:120:00

Stop and Think:

Is my current approach likely tocause a big haystack?

Predict: Small haystack

False Prediction

Strategy Experiments

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

Strategy Types (“do”)

1. DependencyAnalysis2. IncrementalIntegrationTest3. DataDrivenTest4. IsolateHardToTestCode

Situation Types (“see”)

1. UnravelingSweater2. HeavyIntegrationLogic3. HighStateVariation4. CoupledExternalDependencies

Haystack Decisions

Codify What Works

DoSee

Best Practices are Backwards

We don’t encounter solutions, we encounter problems.

Do See We needa new datastructure!!

The Scientific Method

Creating an explicit model makes our beliefs testable.

(An additive learning strategy)

Visibility Process

Modeling Process

Experimentation Process

The Scientific Method

Creating an explicit model makes our beliefs testable.

(An additive learning strategy)

Visibility Process

Modeling Process

Experimentation Process

FOCOL Pointhappens here!

Learn

Focus

Observe

ConcludeOptimize

Make a FOCOL Point!(The Mastery Spiral)

Back to Experiments

FOCOL Point Retrospective!

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

JourneyBeginning Ending

Think about the Experience as a Problem-Solving Journey

= Solution Strategy

The Problem-Solving Journey

= Solution StrategyChoose a general strategy

The Problem-Solving Journey

= Solution Strategy

Understand the system

The Problem-Solving Journey

= Solution Strategy

Code & work out the kinks

The Problem-Solving Journey

= Solution Strategy

Back to the drawing board

The Problem-Solving Journey

JourneyBeginning Ending

Focus = Scope + Direction

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

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

The Ten Pains of Software Development

(Needles)

TroubleshootingLearningRework

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

The Ten Pains of Software Development

(Needles)

Requirements Pain - Bad assumptions about what functionality to build

The Ten Pains of Software Development

(Needles)

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

The Ten Pains of Software Development

(Needles)

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

The Ten Pains of Software Development

(Needles)

Cognitive Pain - Challenges with complexity and intense thinking

The Ten Pains of Software Development

(Needles)

Alarm Pain - Challenges with false alarms and test maintenance

The Ten Pains of Software Development

(Needles)

Experiment Pain - Challenges with getting feedback by running

experiments

The Ten Pains of Software Development

(Needles)

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

The Ten Pains of Software Development

(Needles)

An amplifying effect on other problems

The Ten Pains of Software Development

(Needles)

JourneyBeginning Ending

Will Need a Guinea Pig.

Focus on One Experience at a time.

Learn

ConcludeOptimize

Observe - What patterns do we see?

Focus

Observe

Make a FOCOL Point!(The Mastery Spiral)

Circle LeaderFocus MemberInquisitor

ObservationQuestions

Mastery Circle(Based on Action Learning)

Observe - What patterns do we see?

Learn

Optimize

Conclude - What major factors caused the pain?

Focus

Observe

Conclude

Make a FOCOL Point!(The Mastery Spiral)

What were the biggest obstacles on the journey?

Constraints

Difficulties

Bad Strategies

Uncertainty

Journey

Constraints

What were the biggest obstacles on the journey?

Difficulties

Journey

What were the biggest obstacles on the journey?

JourneyBad Strategy

What were the biggest obstacles on the journey?

Journey Good Strategy

What were the biggest obstacles on the journey?

Journey Uncertainty

What were the biggest obstacles on the journey?

Circle LeaderFocus MemberInquisitor

Inquisitors state additive conclusions.

Mastery Circle(Based on Action Learning)

Conclude - What major factors caused the pain?

Focus Member is last.

Learn

Optimize

Optimize - What strategies could have reduced the pain?

Focus

Observe

Conclude

Make a FOCOL Point!(The Mastery Spiral)

Journey Good Strategy

What strategies could have reduced the pain?

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?

Learn

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

Focus

Observe

ConcludeOptimize

Make a FOCOL Point!(The Mastery Spiral)

Journey

FieldGuide

What questions should we add to the field guide?

SituationalChecklists

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?

Learn

Focus

Observe

ConcludeOptimize

Make a FOCOL Point!(The Mastery Spiral)

Back to Experiments

TroubleshootingLearningRework

What are the TOP THREE pains on your project?

Think of an EXPERIENCE where you learned about the pain.

JourneyBeginning Ending

JourneyBeginning Ending

We need a Guinea Pig.

Focus on One Experience

JourneyBeginning Ending

Focus = Scope + Direction

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

Learn

Focus

Observe

ConcludeOptimize

Let’s Make a FOCOL Point!

Open Mastery 2016We Believe in Peer Mentorship!

Yay!

IndividualsFree Membership

CompaniesPaid Membership

Open Mastery Guild Membership

IFM Tools

Anonymized data

Developers Learning Together!

IFM Tools

IFM Tools IFM Tools

IFM Tools

IFM Tools

Community Focus

Integrated #HashTagGlossary

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

@janellekz

Open Mastery 2016Join us! @openmastery

janelle@newiron.com

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

top related