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