SlideShare a Scribd company logo
K5
Keynote
6/8/2017 4:15:00 PM
K5 Identify Development Pains and
Resolve Them with Idea Flow
Presented by:
Janelle Klein
Open Mastery
Brought to you by:
350 Corporate Way, Suite 400, Orange Park, FL 32073
888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - https://www.techwell.com/
Janelle Klein
Open Mastery
Janelle Klein is a No Fluff Just Stuff speaker; author of Idea Flow; and founder of
Open Mastery, an industry collaborative tools foundation focused on data-driven
software mastery. She founded Open Mastery to rally the industry to work
together and learn to break down the walls of ignorance between managers and
developers that drive software projects into the ground. By making the pain
visible with Idea Flow, there is a universal definition of effective practice, a
language for sharing experiences, and an opportunity to learn together like never
before. Janelle's development background spans financial core processors,
factory automation, supply chain optimization, and statistical process control.
Her consulting has focused on continuous delivery infrastructure, database
automation, test automation strategies, and helping organizations identify and
solve their biggest problems.
Janelle Klein
openmastery.org @janellekz
Flow I went to college to be a song-writer…
REALITY CHECK
Career in Music?
@janellekz
“Ooh, x86 Assembly! That sounds fun!”
Let’s take a class together!
@janellekz
Realization:
I can build anything I can dream…
“Software development is the closest thing in this world to magic.”
— Denisse Osorio de Large
The World of Business
We Start with the Best of Intentions
High Quality Code
Low Technical Debt
Easy to Maintain
Good Code Coverage
@janellekz
Constant Urgency Four Stages of Chaos
Product Owner: “We’ve got more important things to do.”
Deferring(
Problems(
@janellekz
Deferring(
Problems(
Painful(
Releases(
Manager: “Good job everyone! Keep up that great work ethic!”
Four Stages of Chaos
@janellekz
Deferring(
Problems(
Painful(
Releases(
Thrashing)
Manager: “We need to go faster! Let’s hire more developers.”
Four Stages of Chaos
@janellekz
Deferring(
Problems(
Painful(
Releases(
Thrashing)
Project(
Meltdown(
Developer: “I give up. I don’t care anymore if the project fails.”
Four Stages of Chaos
@janellekz
RESET
Would you like to do it all over again?
@janellekz
Every few years we rewrite our software…
Start%
Over%
Unmaintainable%
So0ware%
Across the Industry
@janellekz
Our Solution…
RESET
“A description of the goal is not a strategy.”
-- Richard P. Rumelt
What’s wrong with our current strategy? Our “Strategy” for Success
High Quality Code
Low Technical Debt
Easy to Maintain
Good Code Coverage
@janellekz
RESET
“A good strategy is a specific and coherent response to—
and approach for overcoming—the obstacles to progress.”
-- Richard P. Rumelt
The problem is we don’t have a strategy... Obstacle #1:
Managers and Engineers might as well
be speaking different languages
$$$$ $$$$
PAIN PAIN
@janellekz
Obstacle #2:
We can’t see what we’re doing wrong…
@janellekz
Strategy to Overcome Obstacles
How to measure the PAIN
in Software Development
Janelle Klein
leanpub.com/ideaflow
Translate PAIN into the language of $$$$
@janellekz
SPC
Looks okay.
Alert!
Measurements
Tools
Statistical Process Control (SPC)
Semiconductor
@janellekz
Great Team
Disciplined with Best Practices
Constantly Working on Improvements+
Project FAILURE
Statistical Process Control (SPC)
Semiconductor
@janellekz
The Retrospective
Our biggest problem
“More automation…?”
What are we going to do?
We’ve got to fix
all this Technical Debt!
@janellekz
“Without data
you’re just
another person
with an opinion.”
- W. Edwards Deming
@janellekz
Technical Debt Mistakes
I thought the problem was
Technical Debt
@janellekz
SPC
Looks okay.
Alert!
Measurements
Tools
Config UI
code
Charting UI
Code
Statistical Process Control (SPC)
System Architecture
@janellekz
Beautiful
Looks okay.
Alert!
Measurements
Tools UGLY UGLY
Statistical Process Control (SPC)
System Architecture
@janellekz
We made significantly more mistakes
in code that we didn’t write ourselves.
Lower
Familiarity
More
Mistakes=
There had to be more to the story...
@janellekz
Complex(
So*ware(
This is what I knew...
What made development feel painful?
PAIN
@janellekz
Unexpected
Behavior
Problem
Resolved
Tracking Painful Experience with the Code
Troubleshooting
Progress
5 hours and 18 minutes of troubleshooting...
PAINFUL
The amount of PAIN was caused by…
Likeliness(of((
Unexpected(
Behavior(
Cost(to(Troubleshoot(and(Repair(
High(Frequency(
Low(Impact(
Low(Frequency(
Low(Impact(
Low(Frequency(
High(Impact(
PAIN(
@janellekz
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
Most of the pain was caused by human factors.
What causes PAIN?
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
What causes PAIN?
Most of the pain was caused by human factors.
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
What causes PAIN?
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
Most of the pain was caused by human factors.
PAIN occurs during the process of
understanding and extending the software
Complex(
So*ware(
PAIN
Not the Code.
Optimize “Idea Flow”
@janellekz
Technical Debt
Technical Debt is a “Thing”
Blame:
Visible Object
“Gut feel” maps to an Object-Oriented paradigm
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
Friction() in the Context of Idea Flow
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
“Gut feel” re-maps to a Flow-Oriented paradigm
My team spent tons of time working on
improvements that didn’t make much difference.
We had tons of automation, but the
automation didn’t catch our bugs.
@janellekz
My team spent tons of time working on
improvements that didn’t make much difference.
We had well-modularized code,
but it was still extremely time-consuming to troubleshoot defects.
@janellekz
The hard part isn’t solving the problems
it’s identifying the right problems to solve.
“What is the specific friction
that is causing the team’s pain?”
Realization:
Lean Agile
Metaphorical Mapping Error
We really screwed this up…
@janellekz
Result:
Object-Oriented Lean
Flow-Oriented Lean
Flow
@janellekz
Flow
Metaphorical Lens for observing the world
@janellekz
“We practice Flow”
We continuously optimize one or more Flow Systems using Flow Data Science,
and actively contribute to the Flow Community’s body of explicit know how
@janellekz
Flow Data Science
1. What is a Flow System?
@janellekz
A Flow System defines an explicit scope
“Socio-Technical System”
Software
Nancy Leveson
@janellekz
2. How do we measure Friction()?
Flow Data Science
1. What is a Flow System?
@janellekz
How to measure the PAIN
in Software Development
Janelle Klein
“Idea Flow Mapping” is a visualization technique
that teaches us to recognize Flow
@janellekz
IdeaFlowDX Profiler
Intellij Plugin + Profiler (OSS)
Patterns over Time
Situational context: state of files, state of tests, etc
Track movements: type, navigate, execute, etc
@janellekz
Intellij Plugin + Profiler (OSS)
RAGE
IdeaFlowDX Profiler
duration
Patterns over Time
@janellekz
Developer is Productive
Developer is Learning
Intellij Plugin + Profiler (OSS)
IdeaFlowDX Profiler
@janellekz @janellekz
Intellij Plugin + Profiler (OSS)
IdeaFlowDX Profiler
Informed Answer: What’s the biggest problem to solve?
Why THESE specific metrics?
Theory of Productivity
@janellekz
Statistical Process Control (Manufacturing)
3. Feedback Loop
1. Optimization Target
2. Chaos Signal
Sensor Data
Rules
Engine
First Principle: Measure “Chaos” as a deviation from “Target”
What is “Chaos”?
Earthquake Patterns
@janellekz
What is a “Target”?
Plato’s “Ideal Form”
@janellekz
Quality Target
Lower Control Limit
Upper Control Limit
X"
Lower Variability => Better Control
Perfect Quality
Upper Control Limit
Lower Control Limit
Out of Control (OOC): Root Cause Analysis
SPC “Quake” Charts
@janellekz
3. Feedback Loop
1. Optimization Target
2. Chaos Signal
Sensor Data
Rules
Engine
Statistical Process Control (Software)
@janellekz
3. Feedback Loop
1. Optimization Target
2. Pain Signal
Rules Engine
Statistical Process Control (Software)
Idea Flow
@janellekz
MTTU
Mean time to understand the unfamiliar
Mean time to resolve confusion
MTTR
MTTE
Mean time to build an experiment
Software “Quake” Metrics
Optimal Friction
Upper Control Limit
X"
“Out of Control”
20min
0m
30m
0m Perfect Flow
PAIN
Limit
42 min QUAKE
Lower Variability => Better Control
“Monitor the Quakes”
@janellekz
2. How do we measure Friction()?
Flow Data Science
1. What is a Flow System?
3. What does a project quake look like?
@janellekz
18 months after a Micro-Services/Continuous Delivery rewrite
Troubleshooting
Progress
Learning
40-60% of dev capacity on Friction
0:00 28:15
12:230:00
Case Study: From Monolith to Microservices The Architecture Looked Good on Paper!
Team A Team B Team C
Complexity Moved Here
%$#?! %$#^?!
Fix TechDebt! Fix TechDebt! Fix TechDebt!
More Automated Tests!
Project Quake (Thrashing)
0%
100%
Release 1 Release 2 Release 3
Troubleshooting
Productivity
Learning
Percentage Capacity spent on Troubleshooting (red) and Learning (blue)
(extrapolated from samples)
0%
100%
Release 1 Release 2 Release 3
Percentage Capacity spent on Troubleshooting (red) and Learning (blue)
Figure out what to do
Learning is front-loaded
Troubleshooting
Productivity
Learning
Project Quake (Thrashing)
0%
100%
Release 1 Release 2 Release 3
Percentage Capacity spent on Troubleshooting (red) and Learning (blue)
Rush Before the Deadline
Validation is Deferred
Project Quake (Thrashing)
Troubleshooting
Productivity
Learning
0%
100%
Release 1 Release 2 Release 3
Percentage Capacity spent on Troubleshooting (red) and Learning (blue)
Pain Builds
Baseline friction keeps rising
Project Quake (Thrashing)
Troubleshooting
Productivity
Learning
0%
100%
Release 1 Release 2 Release 3
Percentage Capacity spent on Troubleshooting (red) and Learning (blue)
Chaos Reigns
Unpredictable work stops
fitting in the timebox
Troubleshooting
Productivity
Learning
Project Quake (Thrashing)
The cost of bad architecture
in the microservices world
are EXTREMELY HIGH
Visibility gives us a way to
manage non-local optimization
@janellekz
Application
I don’t
UNDERSTAND!
Quakes cascade through the supply chain
Usability
Problems
@janellekz
Application
I don’t
UNDERSTAND!
90% of our software
is 3rd party components
Usability
Problems
@janellekz
Application
Feedback
Feedback
Feedback
What if we shared our pain signals upstream?
I don’t
UNDERSTAND!
Usability
Problems
@janellekz
Application
Pressure
for better Idea Flow
Usability
Problems
Feedback
Feedback
Feedback
I don’t
UNDERSTAND!
What if we shared our pain signals upstream?
Everything is
AWESOME!
Application
Pressure
for better Idea Flow
Feedback
Feedback
Feedback
What if we shared our pain signals upstream?
Shared dumping ground of crappy software
I don’t
UNDERSTAND!
I don’t
UNDERSTAND!
I don’t
UNDERSTAND!
Non-Local optimization is
the challenge of our generation
@janellekz
2. How do we measure Friction()?
Flow Data Science
1. What is a Flow System?
3. What does a project quake look like?
4. How do we reduce the quakes?
@janellekz
3. Feedback Loop
1. Optimization Target
2. Pain Signal
Rules Engine
Statistical Process Control (Software)
Idea Flow
”Continuous Improvement” = Optimize Quality of Decisions
Product(
Requirements( So1ware(Task(
Possible(Decision(Paths(
So1ware(
Software is a Reflection of our Decisions
@janellekz
Product(
Requirements( So1ware(Task(
High%Risk%
Decision%Habits%
So1ware(
(and(all(our(problems)(
(
RESET
Software is a Reflection of our Decisions
@janellekz
Product(
Requirements( So1ware(Task(
High%Risk%
Decision%Habits%
So1ware(
(and(all(our(problems)(
(
Technical Debt is really a Symptom of the Problem
Software is a Reflection of our Decisions
Decision Optimization
@janellekz
How do we optimize decisions?
Likeliness(of((
Unexpected(
Behavior(
Cost(to(Troubleshoot(and(Repair(
High(Frequency(
Low(Impact(
Low(Frequency(
Low(Impact(
Low(Frequency(
High(Impact(
PAIN(
Reduce Likeliness
=
Quake Proofing
Reduce Recovery Cost = Quake Tolerance
@janellekz
Time%
Pressure%
Compromise%
Safety%
for%
Speed%
Increase%
Number%&%
Severity%of%
Hazards%
%
More%Pain%
and%Higher%
Task%Effort%
Constant'
Urgency'
Cycle of Chaos
High-Risk Decision Habits
ProblemsQuakes
@janellekz
Time%
Pressure%
Compromise%
Safety%
for%
Speed%
Increase%
Number%&%
Severity%of%
Hazards%
%
More%Pain%
and%Higher%
Task%Effort%
Constant'
Urgency'
Cycle of Chaos
High-Risk Decision Habits
ProblemsQuakes
@janellekz
Time%
Pressure%
Compromise%
Safety%
for%
Speed%
Increase%
Number%&%
Severity%of%
Hazards%
%
More%Pain%
and%Higher%
Task%Effort%
Constant'
Urgency'
Cycle of Chaos
High-Risk Decision Habits
ProblemsQuakes
@janellekz
Time%
Pressure%
Compromise%
Safety%
for%
Speed%
Increase%
Number%&%
Severity%of%
Hazards%
%
More%Pain%
and%Higher%
Task%Effort%
Constant'
Urgency'
Cycle of Chaos
High-Risk Decision Habits
ProblemsQuakes
@janellekz
Time%
Pressure%
Compromise%
Safety%
for%
Speed%
Increase%
Number%&%
Severity%of%
Hazards%
%
More%Pain%
and%Higher%
Task%Effort%
Constant'
Urgency'
Cycle of Chaos
High-Risk Decision Habits
ProblemsQuakes
@janellekz
Fewer%
Problems%to%
Fix%
Stop%%
and%
Think%
Mi8gate%
the%
Risk%
Increased%
Produc8vity%
and%
Innova8on%
Safety'
Cycle of Safety
Low-Risk Decision Habits
Slack Time
QuakesQuakes
@janellekz
Fewer%
Problems%to%
Fix%
Stop%%
and%
Think%
Mi8gate%
the%
Risk%
Increased%
Produc8vity%
and%
Innova8on%
Safety'
Cycle of Safety
Low-Risk Decision Habits
Slack Time
QuakesQuakes
@janellekz
Fewer%
Problems%to%
Fix%
Stop%%
and%
Think%
Mi8gate%
the%
Risk%
Increased%
Produc8vity%
and%
Innova8on%
Safety'
Cycle of Safety
Low-Risk Decision Habits
Slack Time
QuakesQuakes
@janellekz
Fewer%
Problems%to%
Fix%
Stop%%
and%
Think%
Mi8gate%
the%
Risk%
Increased%
Produc8vity%
and%
Innova8on%
Safety'
Cycle of Safety
Low-Risk Decision Habits
Slack Time
QuakesQuakes
@janellekz
Fewer%
Problems%to%
Fix%
Stop%%
and%
Think%
Mi8gate%
the%
Risk%
Increased%
Produc8vity%
and%
Innova8on%
Safety'
Cycle of Safety
Low-Risk Decision Habits
Quakes
Slack Time
@janellekz
Quality Target
Lower Control Limit
Upper Control Limit
X"
Perfect Quality
Upper Control Limit
Lower Control Limit
OOC Alarm: Root Cause Analysis
SPC “Quake” Charts (Manufacturing)
Learn
@janellekz
#Symptom
#Symptom
#Symptom
#Cause
#Cause
#Fix
#Fix
#Fix
#Fix#Cause
#Cause
#Symptom
OOC Alarm: Root Cause Analysis
@janellekz
#Symptom
#Symptom
#Symptom
#Cause
#Cause
#Fix
#Fix
#Fix
#Fix#Cause
#Cause
#Symptom
OOC Alarm: Root Cause Analysis
@janellekz
Automate: Data-Driven Rules Engine
#Symptom
#Symptom
#Cause
#Cause
#Fix
#Fix
Quake
Monitor
Danger?
Trigger
Actions
Rules Engine
@janellekz
Temporal Semantic SPC
Generalized AI Platform
Flow paradigm applied to AI
Synthesis: Theory of Consciousness
@janellekz
Idea Flow
3. Feedback Loop
1. Optimization Target
2. Pain Signal
Rules Engine
Streaming
Monitor
Danger?
Trigger
Analytics Job
Real-Time Streaming SPC Platform
@janellekz
Temporal Semantic SPC
Trusted Buddy
Network
wifi
mic
speaker
headphones
“What if you checked the config?
That’s what broke last time I saw that error…”
Pair Programming Buddy
Temporal Semantic SPC
Trusted Buddy
Network
wifi
mic
speaker
headphones
“Jerry’s been stuck for an hour
on your EmailTemplate code…
maybe you can help?”
XP:
Tony’ Buddy Lvl. 7
Pair Programming Buddy Idea Flow “Story Frames”
Ticker Tape
Sensory
Receiver
/ideaflow
Patterns
I don’t
UNDERSTAND!
RAGE
@janellekz
Situational Deep Learning
“StoryWeb” Semantic Graphs
ESV Monitors and NLP Feedback
Patterns
Temporal Semantic SPC Platform
RAGE
Empathy
@janellekz
Imagine a world where you are not only
building AI into your software,
you’re building your software with AI
Next-Generation Meta-Programming
Empathy
@janellekz
AI that asks the right question
at the right time
Design Goal: Amplify the Humans
@janellekz
What does this mean for our future?
“Umm, you just said you’re building Skynet…?”
@janellekz
Our choices from this moment onward…
MATTER A LOT
What does this mean for our future?
@janellekz
Power = Electricity
x
Infinite = Creativity
World’s Greatest Magic Trick
@janellekz
How to measure the PAIN
in Software Development
Janelle Klein
Step 1. Read my Book
leanpub.com/ideaflow/c/MAGIC
FREE!
@janellekz
To Understand Architecture…
1.
2.
3. 4.
5.
6.
@janellekz
Step 2. We practice Flow
Pattern: Cycle of Chaos
@janellekz
Pattern: Cycle of Safety
Visibility => Empathy => Clarity => Alignment
ArtistsArtists
ArtistsArtists
@janellekz
Step 2. We practice Flow
CommunityWare Platform for Flow
Brian Sletten Miko Matsumura Kara RawsonJanelle Klein
Co-Founder R&D Team
@janellekz
Step 3. We keep going!
Flow
@janellekz
Long Term Roadmap
Software
Battle Mage
Mentorship AI for Software Craftsmanship
Infinite Support for Creative Economy
DreamerOS
Runtime
VR Dream
Simulator
@janellekz
Janelle Klein
janelle@openmastery.org @janellekz
Janelle Klein
Founder of Open Mastery
janelle@openmastery.org
Join Us:
openmastery.org
FREE!
MAGIC

More Related Content

PDF
The Rationale for Continuous Delivery by Dave Farley
PPTX
Innoslate the Gateway to SysML 2.0 and Beyond
PPTX
Innoslate 101: A Webinar for New Users
PPTX
Tools Won't Fix Your Broken DevOps
PDF
The Rationale for Continuous Delivery
PPTX
What is the Lifecycle Modeling Language?
PPTX
2014 State Of DevOps Findings! Velocity Conference
PPTX
What's New in Innoslate 4.4?
The Rationale for Continuous Delivery by Dave Farley
Innoslate the Gateway to SysML 2.0 and Beyond
Innoslate 101: A Webinar for New Users
Tools Won't Fix Your Broken DevOps
The Rationale for Continuous Delivery
What is the Lifecycle Modeling Language?
2014 State Of DevOps Findings! Velocity Conference
What's New in Innoslate 4.4?

What's hot (20)

PPTX
Winnipeg ISACA Security is Dead, Rugged DevOps
PPTX
2011 06 15 velocity conf from visible ops to dev ops final
PDF
Vmware2021 why even devop nicolefv
PPTX
What are Model-Based Reviews
PPTX
Verification and Validation with Innoslate Slide Deck
PDF
Long-term IT projects
PDF
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
PPTX
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
PDF
How Metrics Make Your DevOps Awesome
PDF
How To (Not) Open Source - Javazone, Oslo 2014
PPTX
How Can We Better Sell DevOps?
PDF
If you don't know where you're going it doesn't matter how fast you get there
PDF
Twelve tips on how to prepare an ERC grant proposal
PPTX
Webinar Slides: Using Innoslate for Program Management
PPTX
Kim itSMF New England: ITIL at Ludicrous Speeds - Rugged DevOps 6a
PPTX
PuppetConf2012GeneKim
PPTX
Leading A DevOps Transformation: Lessons Learned
PPTX
DevOps State of the Union 2015
PPT
2012 Velocity London: DevOps Patterns Distilled
PDF
The Rationale for Continuous Delivery (The culture and practice of good softw...
Winnipeg ISACA Security is Dead, Rugged DevOps
2011 06 15 velocity conf from visible ops to dev ops final
Vmware2021 why even devop nicolefv
What are Model-Based Reviews
Verification and Validation with Innoslate Slide Deck
Long-term IT projects
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2019 12 Clojure/conj: Love Letter To Clojure, and A Datomic Experience Report
How Metrics Make Your DevOps Awesome
How To (Not) Open Source - Javazone, Oslo 2014
How Can We Better Sell DevOps?
If you don't know where you're going it doesn't matter how fast you get there
Twelve tips on how to prepare an ERC grant proposal
Webinar Slides: Using Innoslate for Program Management
Kim itSMF New England: ITIL at Ludicrous Speeds - Rugged DevOps 6a
PuppetConf2012GeneKim
Leading A DevOps Transformation: Lessons Learned
DevOps State of the Union 2015
2012 Velocity London: DevOps Patterns Distilled
The Rationale for Continuous Delivery (The culture and practice of good softw...
Ad

Similar to Identify Development Pains and Resolve Them with Idea Flow (20)

PDF
Top 5 Reasons Why Improvement Efforts Fail
PDF
Let's Make the PAIN Visible!
PDF
Why #OpenDX?
PPTX
Data Scientists Are Analysts Are Also Software Engineers
PDF
Empirical Methods in Software Engineering - an Overview
PPT
Methodology for Information System Project Management
PDF
GMO'less Software Development Practices
PPTX
How to explain DevOps to your mom
PPTX
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
PDF
DevOpsDays - Pick any Three - Devops from scratch
PDF
Let's Make the PAIN Visible!
PDF
DevOps Is More than Dev and Ops: It’s about Tearing Down Walls
PPTX
ROOTS2011 Continuous Delivery
PPTX
Continuous Delivery
PDF
System Dynamics and FOSS
PDF
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
PDF
Software Carpentry and the Hydrological Sciences @ AGU 2013
PDF
Data-Driven Software Mastery @Open Mastery Austin
PPTX
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
PPTX
The DevOps Panel - Innotech Austin CD Summit
Top 5 Reasons Why Improvement Efforts Fail
Let's Make the PAIN Visible!
Why #OpenDX?
Data Scientists Are Analysts Are Also Software Engineers
Empirical Methods in Software Engineering - an Overview
Methodology for Information System Project Management
GMO'less Software Development Practices
How to explain DevOps to your mom
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
DevOpsDays - Pick any Three - Devops from scratch
Let's Make the PAIN Visible!
DevOps Is More than Dev and Ops: It’s about Tearing Down Walls
ROOTS2011 Continuous Delivery
Continuous Delivery
System Dynamics and FOSS
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Software Carpentry and the Hydrological Sciences @ AGU 2013
Data-Driven Software Mastery @Open Mastery Austin
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
The DevOps Panel - Innotech Austin CD Summit
Ad

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
L1 - Introduction to python Backend.pptx
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
medical staffing services at VALiNTRY
PPT
Introduction Database Management System for Course Database
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Nekopoi APK 2025 free lastest update
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
L1 - Introduction to python Backend.pptx
ManageIQ - Sprint 268 Review - Slide Deck
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
How to Migrate SBCGlobal Email to Yahoo Easily
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo POS Development Services by CandidRoot Solutions
CHAPTER 2 - PM Management and IT Context
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Design an Analysis of Algorithms I-SECS-1021-03
medical staffing services at VALiNTRY
Introduction Database Management System for Course Database
Upgrade and Innovation Strategies for SAP ERP Customers
Nekopoi APK 2025 free lastest update
How Creative Agencies Leverage Project Management Software.pdf
PTS Company Brochure 2025 (1).pdf.......

Identify Development Pains and Resolve Them with Idea Flow

  • 1. K5 Keynote 6/8/2017 4:15:00 PM K5 Identify Development Pains and Resolve Them with Idea Flow Presented by: Janelle Klein Open Mastery Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - https://www.techwell.com/
  • 2. Janelle Klein Open Mastery Janelle Klein is a No Fluff Just Stuff speaker; author of Idea Flow; and founder of Open Mastery, an industry collaborative tools foundation focused on data-driven software mastery. She founded Open Mastery to rally the industry to work together and learn to break down the walls of ignorance between managers and developers that drive software projects into the ground. By making the pain visible with Idea Flow, there is a universal definition of effective practice, a language for sharing experiences, and an opportunity to learn together like never before. Janelle's development background spans financial core processors, factory automation, supply chain optimization, and statistical process control. Her consulting has focused on continuous delivery infrastructure, database automation, test automation strategies, and helping organizations identify and solve their biggest problems.
  • 3. Janelle Klein openmastery.org @janellekz Flow I went to college to be a song-writer… REALITY CHECK Career in Music? @janellekz
  • 4. “Ooh, x86 Assembly! That sounds fun!” Let’s take a class together! @janellekz Realization: I can build anything I can dream… “Software development is the closest thing in this world to magic.” — Denisse Osorio de Large
  • 5. The World of Business We Start with the Best of Intentions High Quality Code Low Technical Debt Easy to Maintain Good Code Coverage @janellekz
  • 6. Constant Urgency Four Stages of Chaos Product Owner: “We’ve got more important things to do.” Deferring( Problems( @janellekz
  • 7. Deferring( Problems( Painful( Releases( Manager: “Good job everyone! Keep up that great work ethic!” Four Stages of Chaos @janellekz Deferring( Problems( Painful( Releases( Thrashing) Manager: “We need to go faster! Let’s hire more developers.” Four Stages of Chaos @janellekz
  • 8. Deferring( Problems( Painful( Releases( Thrashing) Project( Meltdown( Developer: “I give up. I don’t care anymore if the project fails.” Four Stages of Chaos @janellekz RESET Would you like to do it all over again? @janellekz
  • 9. Every few years we rewrite our software… Start% Over% Unmaintainable% So0ware% Across the Industry @janellekz Our Solution…
  • 10. RESET “A description of the goal is not a strategy.” -- Richard P. Rumelt What’s wrong with our current strategy? Our “Strategy” for Success High Quality Code Low Technical Debt Easy to Maintain Good Code Coverage @janellekz
  • 11. RESET “A good strategy is a specific and coherent response to— and approach for overcoming—the obstacles to progress.” -- Richard P. Rumelt The problem is we don’t have a strategy... Obstacle #1: Managers and Engineers might as well be speaking different languages $$$$ $$$$ PAIN PAIN @janellekz
  • 12. Obstacle #2: We can’t see what we’re doing wrong… @janellekz Strategy to Overcome Obstacles How to measure the PAIN in Software Development Janelle Klein leanpub.com/ideaflow Translate PAIN into the language of $$$$ @janellekz
  • 13. SPC Looks okay. Alert! Measurements Tools Statistical Process Control (SPC) Semiconductor @janellekz Great Team Disciplined with Best Practices Constantly Working on Improvements+ Project FAILURE Statistical Process Control (SPC) Semiconductor @janellekz
  • 14. The Retrospective Our biggest problem “More automation…?” What are we going to do? We’ve got to fix all this Technical Debt! @janellekz “Without data you’re just another person with an opinion.” - W. Edwards Deming @janellekz
  • 15. Technical Debt Mistakes I thought the problem was Technical Debt @janellekz SPC Looks okay. Alert! Measurements Tools Config UI code Charting UI Code Statistical Process Control (SPC) System Architecture @janellekz
  • 16. Beautiful Looks okay. Alert! Measurements Tools UGLY UGLY Statistical Process Control (SPC) System Architecture @janellekz We made significantly more mistakes in code that we didn’t write ourselves. Lower Familiarity More Mistakes= There had to be more to the story... @janellekz
  • 17. Complex( So*ware( This is what I knew... What made development feel painful? PAIN @janellekz Unexpected Behavior Problem Resolved Tracking Painful Experience with the Code Troubleshooting Progress 5 hours and 18 minutes of troubleshooting... PAINFUL
  • 18. The amount of PAIN was caused by… Likeliness(of(( Unexpected( Behavior( Cost(to(Troubleshoot(and(Repair( High(Frequency( Low(Impact( Low(Frequency( Low(Impact( Low(Frequency( High(Impact( PAIN( @janellekz What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? Semantic Mistakes Stale Memory Mistakes Association Mistakes Bad Input Assumption Tedious Change Mistakes Copy-Edit Mistakes Transposition Mistakes Failed Refactor Mistakes False Alarm Non-Deterministic Behavior Ambiguous Clues Lots of Code Changes Noisy Output Cryptic Output Long Execution Time Environment Cleanup Test Data Creation Using Debugger Most of the pain was caused by human factors. What causes PAIN?
  • 19. What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? Non-Deterministic Behavior Ambiguous Clues Lots of Code Changes Noisy Output Cryptic Output Long Execution Time Environment Cleanup Test Data Creation Using Debugger What causes PAIN? Most of the pain was caused by human factors. Semantic Mistakes Stale Memory Mistakes Association Mistakes Bad Input Assumption Tedious Change Mistakes Copy-Edit Mistakes Transposition Mistakes Failed Refactor Mistakes False Alarm What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? Non-Deterministic Behavior Ambiguous Clues Lots of Code Changes Noisy Output Cryptic Output Long Execution Time Environment Cleanup Test Data Creation Using Debugger What causes PAIN? Semantic Mistakes Stale Memory Mistakes Association Mistakes Bad Input Assumption Tedious Change Mistakes Copy-Edit Mistakes Transposition Mistakes Failed Refactor Mistakes False Alarm Most of the pain was caused by human factors.
  • 20. PAIN occurs during the process of understanding and extending the software Complex( So*ware( PAIN Not the Code. Optimize “Idea Flow” @janellekz Technical Debt Technical Debt is a “Thing” Blame: Visible Object “Gut feel” maps to an Object-Oriented paradigm
  • 21. What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? Non-Deterministic Behavior Ambiguous Clues Lots of Code Changes Noisy Output Cryptic Output Long Execution Time Environment Cleanup Test Data Creation Using Debugger Friction() in the Context of Idea Flow Semantic Mistakes Stale Memory Mistakes Association Mistakes Bad Input Assumption Tedious Change Mistakes Copy-Edit Mistakes Transposition Mistakes Failed Refactor Mistakes False Alarm “Gut feel” re-maps to a Flow-Oriented paradigm My team spent tons of time working on improvements that didn’t make much difference. We had tons of automation, but the automation didn’t catch our bugs. @janellekz
  • 22. My team spent tons of time working on improvements that didn’t make much difference. We had well-modularized code, but it was still extremely time-consuming to troubleshoot defects. @janellekz The hard part isn’t solving the problems it’s identifying the right problems to solve. “What is the specific friction that is causing the team’s pain?”
  • 23. Realization: Lean Agile Metaphorical Mapping Error We really screwed this up… @janellekz Result: Object-Oriented Lean Flow-Oriented Lean Flow @janellekz
  • 24. Flow Metaphorical Lens for observing the world @janellekz “We practice Flow” We continuously optimize one or more Flow Systems using Flow Data Science, and actively contribute to the Flow Community’s body of explicit know how @janellekz
  • 25. Flow Data Science 1. What is a Flow System? @janellekz A Flow System defines an explicit scope “Socio-Technical System” Software Nancy Leveson @janellekz
  • 26. 2. How do we measure Friction()? Flow Data Science 1. What is a Flow System? @janellekz How to measure the PAIN in Software Development Janelle Klein “Idea Flow Mapping” is a visualization technique that teaches us to recognize Flow @janellekz
  • 27. IdeaFlowDX Profiler Intellij Plugin + Profiler (OSS) Patterns over Time Situational context: state of files, state of tests, etc Track movements: type, navigate, execute, etc @janellekz Intellij Plugin + Profiler (OSS) RAGE IdeaFlowDX Profiler duration Patterns over Time @janellekz
  • 28. Developer is Productive Developer is Learning Intellij Plugin + Profiler (OSS) IdeaFlowDX Profiler @janellekz @janellekz Intellij Plugin + Profiler (OSS) IdeaFlowDX Profiler Informed Answer: What’s the biggest problem to solve?
  • 29. Why THESE specific metrics? Theory of Productivity @janellekz Statistical Process Control (Manufacturing) 3. Feedback Loop 1. Optimization Target 2. Chaos Signal Sensor Data Rules Engine First Principle: Measure “Chaos” as a deviation from “Target”
  • 30. What is “Chaos”? Earthquake Patterns @janellekz What is a “Target”? Plato’s “Ideal Form” @janellekz
  • 31. Quality Target Lower Control Limit Upper Control Limit X" Lower Variability => Better Control Perfect Quality Upper Control Limit Lower Control Limit Out of Control (OOC): Root Cause Analysis SPC “Quake” Charts @janellekz 3. Feedback Loop 1. Optimization Target 2. Chaos Signal Sensor Data Rules Engine Statistical Process Control (Software) @janellekz
  • 32. 3. Feedback Loop 1. Optimization Target 2. Pain Signal Rules Engine Statistical Process Control (Software) Idea Flow @janellekz MTTU Mean time to understand the unfamiliar Mean time to resolve confusion MTTR MTTE Mean time to build an experiment Software “Quake” Metrics
  • 33. Optimal Friction Upper Control Limit X" “Out of Control” 20min 0m 30m 0m Perfect Flow PAIN Limit 42 min QUAKE Lower Variability => Better Control “Monitor the Quakes” @janellekz 2. How do we measure Friction()? Flow Data Science 1. What is a Flow System? 3. What does a project quake look like? @janellekz
  • 34. 18 months after a Micro-Services/Continuous Delivery rewrite Troubleshooting Progress Learning 40-60% of dev capacity on Friction 0:00 28:15 12:230:00 Case Study: From Monolith to Microservices The Architecture Looked Good on Paper! Team A Team B Team C Complexity Moved Here %$#?! %$#^?! Fix TechDebt! Fix TechDebt! Fix TechDebt! More Automated Tests!
  • 35. Project Quake (Thrashing) 0% 100% Release 1 Release 2 Release 3 Troubleshooting Productivity Learning Percentage Capacity spent on Troubleshooting (red) and Learning (blue) (extrapolated from samples) 0% 100% Release 1 Release 2 Release 3 Percentage Capacity spent on Troubleshooting (red) and Learning (blue) Figure out what to do Learning is front-loaded Troubleshooting Productivity Learning Project Quake (Thrashing)
  • 36. 0% 100% Release 1 Release 2 Release 3 Percentage Capacity spent on Troubleshooting (red) and Learning (blue) Rush Before the Deadline Validation is Deferred Project Quake (Thrashing) Troubleshooting Productivity Learning 0% 100% Release 1 Release 2 Release 3 Percentage Capacity spent on Troubleshooting (red) and Learning (blue) Pain Builds Baseline friction keeps rising Project Quake (Thrashing) Troubleshooting Productivity Learning
  • 37. 0% 100% Release 1 Release 2 Release 3 Percentage Capacity spent on Troubleshooting (red) and Learning (blue) Chaos Reigns Unpredictable work stops fitting in the timebox Troubleshooting Productivity Learning Project Quake (Thrashing) The cost of bad architecture in the microservices world are EXTREMELY HIGH Visibility gives us a way to manage non-local optimization @janellekz
  • 38. Application I don’t UNDERSTAND! Quakes cascade through the supply chain Usability Problems @janellekz Application I don’t UNDERSTAND! 90% of our software is 3rd party components Usability Problems @janellekz
  • 39. Application Feedback Feedback Feedback What if we shared our pain signals upstream? I don’t UNDERSTAND! Usability Problems @janellekz Application Pressure for better Idea Flow Usability Problems Feedback Feedback Feedback I don’t UNDERSTAND! What if we shared our pain signals upstream?
  • 40. Everything is AWESOME! Application Pressure for better Idea Flow Feedback Feedback Feedback What if we shared our pain signals upstream? Shared dumping ground of crappy software I don’t UNDERSTAND! I don’t UNDERSTAND! I don’t UNDERSTAND! Non-Local optimization is the challenge of our generation @janellekz
  • 41. 2. How do we measure Friction()? Flow Data Science 1. What is a Flow System? 3. What does a project quake look like? 4. How do we reduce the quakes? @janellekz 3. Feedback Loop 1. Optimization Target 2. Pain Signal Rules Engine Statistical Process Control (Software) Idea Flow ”Continuous Improvement” = Optimize Quality of Decisions
  • 42. Product( Requirements( So1ware(Task( Possible(Decision(Paths( So1ware( Software is a Reflection of our Decisions @janellekz Product( Requirements( So1ware(Task( High%Risk% Decision%Habits% So1ware( (and(all(our(problems)( ( RESET Software is a Reflection of our Decisions @janellekz
  • 43. Product( Requirements( So1ware(Task( High%Risk% Decision%Habits% So1ware( (and(all(our(problems)( ( Technical Debt is really a Symptom of the Problem Software is a Reflection of our Decisions Decision Optimization @janellekz How do we optimize decisions? Likeliness(of(( Unexpected( Behavior( Cost(to(Troubleshoot(and(Repair( High(Frequency( Low(Impact( Low(Frequency( Low(Impact( Low(Frequency( High(Impact( PAIN( Reduce Likeliness = Quake Proofing Reduce Recovery Cost = Quake Tolerance @janellekz
  • 44. Time% Pressure% Compromise% Safety% for% Speed% Increase% Number%&% Severity%of% Hazards% % More%Pain% and%Higher% Task%Effort% Constant' Urgency' Cycle of Chaos High-Risk Decision Habits ProblemsQuakes @janellekz Time% Pressure% Compromise% Safety% for% Speed% Increase% Number%&% Severity%of% Hazards% % More%Pain% and%Higher% Task%Effort% Constant' Urgency' Cycle of Chaos High-Risk Decision Habits ProblemsQuakes @janellekz
  • 45. Time% Pressure% Compromise% Safety% for% Speed% Increase% Number%&% Severity%of% Hazards% % More%Pain% and%Higher% Task%Effort% Constant' Urgency' Cycle of Chaos High-Risk Decision Habits ProblemsQuakes @janellekz Time% Pressure% Compromise% Safety% for% Speed% Increase% Number%&% Severity%of% Hazards% % More%Pain% and%Higher% Task%Effort% Constant' Urgency' Cycle of Chaos High-Risk Decision Habits ProblemsQuakes @janellekz
  • 46. Time% Pressure% Compromise% Safety% for% Speed% Increase% Number%&% Severity%of% Hazards% % More%Pain% and%Higher% Task%Effort% Constant' Urgency' Cycle of Chaos High-Risk Decision Habits ProblemsQuakes @janellekz Fewer% Problems%to% Fix% Stop%% and% Think% Mi8gate% the% Risk% Increased% Produc8vity% and% Innova8on% Safety' Cycle of Safety Low-Risk Decision Habits Slack Time QuakesQuakes @janellekz
  • 47. Fewer% Problems%to% Fix% Stop%% and% Think% Mi8gate% the% Risk% Increased% Produc8vity% and% Innova8on% Safety' Cycle of Safety Low-Risk Decision Habits Slack Time QuakesQuakes @janellekz Fewer% Problems%to% Fix% Stop%% and% Think% Mi8gate% the% Risk% Increased% Produc8vity% and% Innova8on% Safety' Cycle of Safety Low-Risk Decision Habits Slack Time QuakesQuakes @janellekz
  • 48. Fewer% Problems%to% Fix% Stop%% and% Think% Mi8gate% the% Risk% Increased% Produc8vity% and% Innova8on% Safety' Cycle of Safety Low-Risk Decision Habits Slack Time QuakesQuakes @janellekz Fewer% Problems%to% Fix% Stop%% and% Think% Mi8gate% the% Risk% Increased% Produc8vity% and% Innova8on% Safety' Cycle of Safety Low-Risk Decision Habits Quakes Slack Time @janellekz
  • 49. Quality Target Lower Control Limit Upper Control Limit X" Perfect Quality Upper Control Limit Lower Control Limit OOC Alarm: Root Cause Analysis SPC “Quake” Charts (Manufacturing) Learn @janellekz #Symptom #Symptom #Symptom #Cause #Cause #Fix #Fix #Fix #Fix#Cause #Cause #Symptom OOC Alarm: Root Cause Analysis @janellekz
  • 50. #Symptom #Symptom #Symptom #Cause #Cause #Fix #Fix #Fix #Fix#Cause #Cause #Symptom OOC Alarm: Root Cause Analysis @janellekz Automate: Data-Driven Rules Engine #Symptom #Symptom #Cause #Cause #Fix #Fix Quake Monitor Danger? Trigger Actions Rules Engine @janellekz
  • 51. Temporal Semantic SPC Generalized AI Platform Flow paradigm applied to AI Synthesis: Theory of Consciousness @janellekz
  • 52. Idea Flow 3. Feedback Loop 1. Optimization Target 2. Pain Signal Rules Engine Streaming Monitor Danger? Trigger Analytics Job Real-Time Streaming SPC Platform @janellekz Temporal Semantic SPC Trusted Buddy Network wifi mic speaker headphones “What if you checked the config? That’s what broke last time I saw that error…” Pair Programming Buddy
  • 53. Temporal Semantic SPC Trusted Buddy Network wifi mic speaker headphones “Jerry’s been stuck for an hour on your EmailTemplate code… maybe you can help?” XP: Tony’ Buddy Lvl. 7 Pair Programming Buddy Idea Flow “Story Frames” Ticker Tape Sensory Receiver /ideaflow Patterns I don’t UNDERSTAND! RAGE @janellekz
  • 54. Situational Deep Learning “StoryWeb” Semantic Graphs ESV Monitors and NLP Feedback Patterns Temporal Semantic SPC Platform RAGE Empathy @janellekz Imagine a world where you are not only building AI into your software, you’re building your software with AI Next-Generation Meta-Programming Empathy @janellekz
  • 55. AI that asks the right question at the right time Design Goal: Amplify the Humans @janellekz What does this mean for our future? “Umm, you just said you’re building Skynet…?” @janellekz
  • 56. Our choices from this moment onward… MATTER A LOT What does this mean for our future? @janellekz Power = Electricity
  • 57. x Infinite = Creativity World’s Greatest Magic Trick @janellekz
  • 58. How to measure the PAIN in Software Development Janelle Klein Step 1. Read my Book leanpub.com/ideaflow/c/MAGIC FREE! @janellekz To Understand Architecture… 1. 2. 3. 4. 5. 6. @janellekz
  • 59. Step 2. We practice Flow Pattern: Cycle of Chaos @janellekz Pattern: Cycle of Safety Visibility => Empathy => Clarity => Alignment ArtistsArtists ArtistsArtists @janellekz Step 2. We practice Flow
  • 60. CommunityWare Platform for Flow Brian Sletten Miko Matsumura Kara RawsonJanelle Klein Co-Founder R&D Team @janellekz Step 3. We keep going! Flow @janellekz
  • 61. Long Term Roadmap Software Battle Mage Mentorship AI for Software Craftsmanship Infinite Support for Creative Economy DreamerOS Runtime VR Dream Simulator @janellekz Janelle Klein janelle@openmastery.org @janellekz Janelle Klein Founder of Open Mastery janelle@openmastery.org Join Us: openmastery.org FREE! MAGIC