SlideShare a Scribd company logo
1 of 85
Download to read offline
CTO, New Iron
Janelle Klein
Learnable APIs
An Open Standard
for
Easy to Learn and Use Hard to Learn and Use
Learnability Index
©2015 New Iron Group
Saturday, August 8, 15
RESET
Why should I care?
Saturday, August 8, 15
RESET
...
The Modern API Decision-Making Process
“Hmm... I need a Contact Management API.”
Saturday, August 8, 15
RESET
Contact Management API
...
“Hmm... I need a Contact Management API.”
The Modern API Decision-Making Process
Saturday, August 8, 15
RESET
Contact Management API
...
Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most
popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below
you'll find some more stats from the directory, including the entire list of CRM APIs.
source: http://programmableweb.com
“Hmm... I need a Contact Management API.”
The Modern API Decision-Making Process
Saturday, August 8, 15
RESET
Contact Management API
...
Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most
popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below
you'll find some more stats from the directory, including the entire list of CRM APIs.
source: http://programmableweb.com
“Hmm... I need a Contact Management API.”
The Modern API Decision-Making Process
“Ugh...this is taking too long.”
Saturday, August 8, 15
RESET
Contact Management API
...
Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most
popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below
you'll find some more stats from the directory, including the entire list of CRM APIs.
source: http://programmableweb.com
“Hmm... I need a Contact Management API.”
“Hey George, what API do you use for Contact Management?”
The Modern API Decision-Making Process
“Ugh...this is taking too long.”
Saturday, August 8, 15
RESET
Contact Management API
...
Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most
popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below
you'll find some more stats from the directory, including the entire list of CRM APIs.
source: http://programmableweb.com
“Hmm... I need a Contact Management API.”
“Hey George, what API do you use for Contact Management?”
“We made our own Salesforce mashup.
I’ll send you a link.”
The Modern API Decision-Making Process
“Ugh...this is taking too long.”
Saturday, August 8, 15
RESET
Contact Management API
...
Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most
popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below
you'll find some more stats from the directory, including the entire list of CRM APIs.
source: http://programmableweb.com
“Hmm... I need a Contact Management API.”
“Hey George, what API do you use for Contact Management?”
“We made our own Salesforce mashup.
I’ll send you a link.”
“Thanks, George. I’ll use that one I guess.”
The Modern API Decision-Making Process
“Ugh...this is taking too long.”
Saturday, August 8, 15
RESET
Okay... but this is just a minor annoyance.
source: Domics - “What’s a Shrug?”
The real pain happens later...
Saturday, August 8, 15
RESET
https://www.youtube.com/watch?v=0mUN3RppEHE
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
Saturday, August 8, 15
Infecting
We’re putting software and connectivity in everything...
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
Saturday, August 8, 15
The security implications are frightening...
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
100 million lines of code running a car!
Saturday, August 8, 15
RESET
90% of our software is assembled from existing parts...
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
The Complexity and Risk is in the Supply Chain
Saturday, August 8, 15
The Talent Shortage
Higher Demand for Software
Software Development knowledge is mostly tacit knowledge
that’s learned through mentorship (not school)
Broken Education System+
More Incompetent Devs building software
Saturday, August 8, 15
Bad Software is like Environment Pollution
Breaking
Point
Cost
&
Risk
Complexity
Cumulative Complexity in the SW Supply Chain
(i.e. shared dumping ground of crappy software)
The risk to public safety is on all of us.
Saturday, August 8, 15
RESET
What Can We Possibly Do?
source: Domics - “What’s a Shrug?”
Saturday, August 8, 15
RESET
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
The Difference? Modern Building Codes
Haiti Quake: 7.0 with 230,000 deaths
Chile Quake: 8.8 with 279 deaths
Saturday, August 8, 15
RESET
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
We’ve copied everything from Deming’s manufacturing ideas
except Quality and Risk Management Practices.
Saturday, August 8, 15
RESET
To conquer the challenges of quality and risk
We have to manage quality in the Supply Chain
Fear and Inspiration
Josh Corman, DevOpsDays Austin 2015
Saturday, August 8, 15
The @iamthecavalry community rally call:
It’s not our software, but it is our problem.
Saturday, August 8, 15
Let’s take ownership of the supply chain problems
and design the future we want.
Saturday, August 8, 15
RESET
Deliberate Design of Human Systems
There is always cost. There are always consequences.
Open != Good
Private Competition
Survival of the Fittest
Self-Optimizing
Creativity
Innovation
Open Standards
Define the Competition
Optimize the Whole
Public Debate
Empathy
Interactions
cause
system effects
Saturday, August 8, 15
Let’s Take Ownership of Evolution
Pain Pushes
(Threat of Survival)
Opportunity Pulls
(Path of Least Resistance)
“The System”
Saturday, August 8, 15
Learnable APIs
Open Standard
for
What if we had...
Saturday, August 8, 15
Mistakes are primarily
caused by a lack of understanding.
Easy to Learn and Use Hard to Learn and Use
Learnability Index
Learnability measures the cost of understanding.
Learnability measures the risk of mistakes.
Saturday, August 8, 15
RESET
Contact Management API
...
“Hmm... I need a Contact Management API.”
Let’s Try this Again...
Saturday, August 8, 15
RESET
Contact Management API
...
“Hmm... I need a Contact Management API.”
Let’s Try this Again...
Quality decisions create selection pressures for quality in the market
Saturday, August 8, 15
RESET
Contact Management API
...
“Hmm... I need a Contact Management API.”
Let’s Try this Again...
Quality decisions create selection pressures for quality in the market
Cost of Ownership Analysis
Saturday, August 8, 15
What information do we need
to make quality supply chain decisions?
What’s the strategy to get there?
Saturday, August 8, 15
RESET
...
I’ve been working on a related challenge
for the last ~8 years.
Software Rewrite Cycle
How to Break
the
Start%
Over%
Unmaintainable%
So0ware%
Saturday, August 8, 15
RESET
My software project...
We tried to do all the “right” things
...and brought down production 3x in a row.
Saturday, August 8, 15
Technical Debt Risk of Mistakes
I thought the problem was
Technical Debt
Saturday, August 8, 15
Risk of Mistakes
?
Most of our mistakes were in the
most well-written parts of the code.
Saturday, August 8, 15
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...
Saturday, August 8, 15
Complex(
So*ware(
...pain...
This is what I knew...
What made development feel painful?
Saturday, August 8, 15
Unexpected
Behavior
Problem
Resolved
Tracking Painful Interaction with the Code (Friction)
Troubleshooting
Progress
5 hours and 18 minutes of troubleshooting...
PAINFUL
Saturday, August 8, 15
The Amount of PAIN was Driven By...
Likeliness(of((
Unexpected(
Behavior(
Cost(to(Troubleshoot(and(Repair(
High(Frequency(
Low(Impact(
Low(Frequency(
Low(Impact(
Low(Frequency(
High(Impact(
PAIN(
Saturday, August 8, 15
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
What causes PAIN?
Bad Input Assumptions
Stale Memory Mistakes
Semantic Mistakes
Similarity Mistakes
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 Generation
Using Debugger
Most of the pain was caused by human factors.
Saturday, August 8, 15
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
What causes PAIN?
Bad Input Assumptions
Stale Memory Mistakes
Semantic Mistakes
Similarity Mistakes
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 Generation
Using Debugger
Most of the pain was caused by human factors.
Saturday, August 8, 15
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
What causes PAIN?
Bad Input Assumptions
Stale Memory Mistakes
Semantic Mistakes
Similarity Mistakes
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
Most of the pain was caused by human factors.
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Generation
Using Debugger
Saturday, August 8, 15
“Idea Flow” is a metaphor for the
human interaction in software development
Idea Flow Map
Saturday, August 8, 15
Confirmed
Expectations
Confirmation:
Everything feels as it should be...
Saturday, August 8, 15
Violated
Expectations
Conflict:
Something is out of place...
Saturday, August 8, 15
The Idea Flow Process looks like this:
Saturday, August 8, 15
“Friction” occurs in the context of a Process.
Pain is caused by high-friction movement.
friction
Saturday, August 8, 15
Friction occurs in Three Places:
ConflictConfirm
Rework'
Learn'
Validate(
Modify'
Confirming Loop! Conflict Loop!
Troubleshoot'
Saturday, August 8, 15
Troubleshooting Pain
Likelihood)of))
Unexpected)
Behavior)
Cost)to)Troubleshoot)and)Repair)
High)Frequency)
Low)Impact)
Low)Frequency)
Low)Impact)
Low)Frequency)
High)Impact)
PAIN)
Saturday, August 8, 15
Learning Pain
Likelihood)of))
working)with)
Unfamiliar)
Code)
Cost)to)Learn)
High)Frequency)
Easy)to)Learn)
Low)Frequency)
Easy)to)Learn)
Low)Frequency)
Hard)to)Learn)
PAIN)
Saturday, August 8, 15
Rework Pain
Likelihood)of))
making)a))
Bad)Assump4on)
Cost)to)Correct)Decisions)
High)Uncertainty)
Low)Delay)
Low)Uncertainty)
Low)Delay)
Low)Uncertainty)
High)Delay)
PAIN)
Saturday, August 8, 15
How do we measure
Idea Flow in Developer Experience?
Saturday, August 8, 15
Idea Flow Mapping Tools
(Open Source)
Saturday, August 8, 15
Troubleshooting
Progress
Learning
Rework
Idea Flow Mapping Tools
(Open Source)
Saturday, August 8, 15
Troubleshooting
Progress
Learning
Rework
Idea Flow Mapping Tools
(Open Source)
Experiment via
Unit Testing
Experiment via
Running App
Saturday, August 8, 15
Troubleshooting
Progress
Learning
Rework
Idea Flow Mapping Tools
(Open Source)
Saturday, August 8, 15
Troubleshooting
Progress
Learning
Rework
Idea Flow Mapping Tools
(Open Source)
Tags: #problemtag
Saturday, August 8, 15
Input: 
Task + Constraints
Target: Optimal Idea Flow
Output: Actual Friction
1.
Visibility
2.
Clarity
3.
Awareness
Idea Flow Learning Framework
1. Visibility - Make the Pain Visible
2. Clarity - Understand the Causes of Pain
3. Awareness - Improve Decision Habits
(data-driven learning)
Saturday, August 8, 15
We can learn to read the
Visual Indicators in Idea Flow Maps
Le#$Atrium$
Le#$Ventricle$
Right$Ventricle$
Right$Atrium$
What’s$causing$this$pa7ern?$
Similar to how an EKG helps doctors diagnose heart problems...
Saturday, August 8, 15
...Idea Flow Maps help developers diagnose software problems.
Problem-Solving
Machine
Saturday, August 8, 15
= Solution Strategy
The “Heart” of Software Development
(the problem-solving machine)
Saturday, August 8, 15
= Solution Strategy
The “Heart” of Software Development
(the problem-solving machine)
Evaluate alternatives and
decide on a general strategy
Saturday, August 8, 15
= Solution Strategy
The “Heart” of Software Development
(the problem-solving machine)
Scan through the code and
build a conceptual model of
how it works
Saturday, August 8, 15
= Solution Strategy
The “Heart” of Software Development
(the problem-solving machine)
Feedback loop phase involves writing a
little code, validating that it works, then
refining the details of the strategy.
Saturday, August 8, 15
= Solution Strategy
The “Heart” of Software Development
(the problem-solving machine)
If we discover our strategy isn’t going to
work, we have to go back to the
drawing board to find an alternative.
Saturday, August 8, 15
Depending on where the disruptions are in the process,
we see a different effect in Idea Flow.
Saturday, August 8, 15
"How did you evaluate the possible options and choose a strategy?"
"What was wrong with the different strategies you tried?"
"What was the discovery that made you choose a different direction?"
Problems with Evaluating Alternatives
Saturday, August 8, 15
"Were you working with something that you were unfamiliar with?"
"Did you run into code that was noisy, ambiguous, or misleading?"
"What do you think made it difficult to learn?"
Problems with Modeling
Saturday, August 8, 15
"Did your task involve changes to complex code or business rules?"
"Were there a lot of details that you had to keep in your head?"
"What was causing the complexity in the validation cycles?"
Problems with Refining
Saturday, August 8, 15
"What experiments did you run to troubleshoot the problem?"
"How many times did you run the experiment?"
"How long did it take to get through each experiment cycle?"
Problems with the Validation Cycle
Saturday, August 8, 15
"Was there something in the code that made these changes especially mistake-prone?"
"How familiar were you with the language and tools you were working with?"
"Were you tired or distracted when you did the work?"
Problems with Execution
Saturday, August 8, 15
The Ten Pains of Software Development
Saturday, August 8, 15
Add up Friction by Pain Type
100 hours
50 hours
Troubleshooting
Learning
Rework
Focused Improvements Visible Feedback
Saturday, August 8, 15
What’s Causing the
Software Rewrite Cycle?
Start%
Over%
Unmaintainable%
So0ware%
Saturday, August 8, 15
Cycle of Escalating Risk
Constant'
Urgency'
Time'
Pressure'
Ignore'
Risk'
Increase'
Likeliness'
&'Magnitude'
of'Pain'
More'Frequent'
Bugs'and'
Higher'
Task'Effort'
Saturday, August 8, 15
Case Study 1:
Healthy project about 10 months old
Troubleshooting
Progress
Learning
Rework10-20% friction
Effects of Escalating Risk
Saturday, August 8, 15
Case Study 2:
Thrashing project about 18 months old
Troubleshooting
Progress
Learning
Rework40-60% friction
0:00 28:15
12:230:00
Effects of Escalating Risk
Saturday, August 8, 15
Case Study 3:
Post-meltdown project about 12 years old
Troubleshooting
Progress
Learning
Rework60-90% friction
7:070:00
0:00 19:52
Effects of Escalating Risk
Saturday, August 8, 15
Case Study 1
Case Study 2
Case Study 3
1 day
2 days
1 day
3 days
1 day
3 days
We can’t see these effects by measuring velocity or task lead-time.
Effects of Escalating Risk
Saturday, August 8, 15
RESET
Remember This?
We’ve copied everything from Deming’s manufacturing ideas
except Quality and Risk Management Practices.
Saturday, August 8, 15
Idea Flow Learning Framework
is a software control system!
Input: 
Task + Constraints
Target: Optimal Idea Flow
Output: Actual Friction
1.
Visibility
2.
Clarity
3.
Awareness
My background...
Statistical Process Control (SPC) and Supply Chain in Manufacturing
Saturday, August 8, 15
How do we measure
Learnability of an API?
Saturday, August 8, 15
“Learnability” is the average friction across
a specific set of Developer Use Case Experiments
Easy to Learn and Use Hard to Learn and Use
Learnability Index
Open Standard for All APIs and Libraries
Saturday, August 8, 15
RESET
Contact Management API
...
“How do we get here?”
The Conversation Starts with a Vision
Cost of Ownership Analysis
(Even if it’s a half-baked vision)
Saturday, August 8, 15
Proposal for a Road Map
Open Mastery (Launching Fall 2015)
Developer peer learning network focused on using
data-driven learning to codify open decision models
and standards for industry-wide problems.
Community Backlog
1. Personal Mastery (Codify Idea Flow-based Software Control decision-making)
2. Open Software Mastery Certification
3. Team Mastery (Software Mentorship, Knowledge Integration, Improvement Strategy)
4. Open Software Mentorship Certification
5. Supply Chain Mastery (Cost of Ownership Analysis, Component Decision Hub)
6. Open API DX Certification
Saturday, August 8, 15
Think about it,
Blog about it,
Tweet about it!
@janellekz
#ideaflow!
Free e-book if you sign up
by Aug 30th!
@janellekz
janelle@newiron.com
Twitter:
Email:
Saturday, August 8, 15

More Related Content

Viewers also liked

Jaslowski_2yr Portfolio_Spring 2015
Jaslowski_2yr Portfolio_Spring 2015Jaslowski_2yr Portfolio_Spring 2015
Jaslowski_2yr Portfolio_Spring 2015Mike Jaslowski
 
Thiqar kploat 27 10 2016
Thiqar kploat 27 10 2016Thiqar kploat 27 10 2016
Thiqar kploat 27 10 2016Nour Elbader
 
06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы
06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы
06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавыAnastasiyaF
 

Viewers also liked (7)

Jaslowski_2yr Portfolio_Spring 2015
Jaslowski_2yr Portfolio_Spring 2015Jaslowski_2yr Portfolio_Spring 2015
Jaslowski_2yr Portfolio_Spring 2015
 
Education in America
Education in AmericaEducation in America
Education in America
 
Apurv Malhotra_Resume
Apurv Malhotra_ResumeApurv Malhotra_Resume
Apurv Malhotra_Resume
 
Jndi (1)
Jndi (1)Jndi (1)
Jndi (1)
 
Thiqar kploat 27 10 2016
Thiqar kploat 27 10 2016Thiqar kploat 27 10 2016
Thiqar kploat 27 10 2016
 
06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы
06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы
06. Усходнеславянскія плямёны на тэрыторыі Беларусі. На шляху да дзяржавы
 
IELTS Speaking Part2
IELTS Speaking Part2IELTS Speaking Part2
IELTS Speaking Part2
 

Similar to An Open Standard for Learnable APIs

STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-MagazineSTQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-MagazineAlbert Gareev
 
2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec
2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec
2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSecAPIsecure_ Official
 
The what why and how of web analytics testing
The what why and how of web analytics testingThe what why and how of web analytics testing
The what why and how of web analytics testingVodqaBLR
 
LIVErtising 2018 09 Gr_AI_t Expectations
LIVErtising 2018 09 Gr_AI_t ExpectationsLIVErtising 2018 09 Gr_AI_t Expectations
LIVErtising 2018 09 Gr_AI_t ExpectationsJean Pierre Ranschaert
 
Manual Tester To Automation Tester
Manual Tester To Automation Tester Manual Tester To Automation Tester
Manual Tester To Automation Tester Kalyan Katuru
 
Splunk for ITOps
Splunk for ITOpsSplunk for ITOps
Splunk for ITOpsSplunk
 
Designing with capabilities (DDD-EU 2017)
Designing with capabilities (DDD-EU 2017)Designing with capabilities (DDD-EU 2017)
Designing with capabilities (DDD-EU 2017)Scott Wlaschin
 
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIsSpeed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIsgeorge_edwards
 
Best practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.shBest practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.shGuillaume Montard
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Skills Matter
 
How to (almost certainly) fail: Building vs. buying your API infrastructure
How to (almost certainly) fail: Building vs. buying your API infrastructureHow to (almost certainly) fail: Building vs. buying your API infrastructure
How to (almost certainly) fail: Building vs. buying your API infrastructureApigee | Google Cloud
 
Movebot ENGR245 Lean LaunchPad Stanford 2018
Movebot ENGR245 Lean LaunchPad Stanford 2018Movebot ENGR245 Lean LaunchPad Stanford 2018
Movebot ENGR245 Lean LaunchPad Stanford 2018Stanford University
 
Google Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 yearsGoogle Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 yearsPatrick Chanezon
 
Big Data makes me grumpy, Justo Ruiz Ferrer, CTO @ Valo
Big Data makes me grumpy, Justo Ruiz Ferrer, CTO @ ValoBig Data makes me grumpy, Justo Ruiz Ferrer, CTO @ Valo
Big Data makes me grumpy, Justo Ruiz Ferrer, CTO @ ValoJ On The Beach
 
NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...
NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...
NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...Amazon Web Services
 
Sap penetration testing_defense_in_depth
Sap penetration testing_defense_in_depthSap penetration testing_defense_in_depth
Sap penetration testing_defense_in_depthIgor Igoroshka
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World 3scale
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Gabriel Ortiz
 
Generative AI Use cases for Enterprise - Second Session
Generative AI Use cases for Enterprise - Second SessionGenerative AI Use cases for Enterprise - Second Session
Generative AI Use cases for Enterprise - Second SessionGene Leybzon
 
Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Arty Starr
 

Similar to An Open Standard for Learnable APIs (20)

STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-MagazineSTQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
 
2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec
2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec
2022 APIsecure_API Security Testing: The Next Step in Modernizing AppSec
 
The what why and how of web analytics testing
The what why and how of web analytics testingThe what why and how of web analytics testing
The what why and how of web analytics testing
 
LIVErtising 2018 09 Gr_AI_t Expectations
LIVErtising 2018 09 Gr_AI_t ExpectationsLIVErtising 2018 09 Gr_AI_t Expectations
LIVErtising 2018 09 Gr_AI_t Expectations
 
Manual Tester To Automation Tester
Manual Tester To Automation Tester Manual Tester To Automation Tester
Manual Tester To Automation Tester
 
Splunk for ITOps
Splunk for ITOpsSplunk for ITOps
Splunk for ITOps
 
Designing with capabilities (DDD-EU 2017)
Designing with capabilities (DDD-EU 2017)Designing with capabilities (DDD-EU 2017)
Designing with capabilities (DDD-EU 2017)
 
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIsSpeed Welshpool - Transport Technology, Realtime, PODs and APIs
Speed Welshpool - Transport Technology, Realtime, PODs and APIs
 
Best practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.shBest practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.sh
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
 
How to (almost certainly) fail: Building vs. buying your API infrastructure
How to (almost certainly) fail: Building vs. buying your API infrastructureHow to (almost certainly) fail: Building vs. buying your API infrastructure
How to (almost certainly) fail: Building vs. buying your API infrastructure
 
Movebot ENGR245 Lean LaunchPad Stanford 2018
Movebot ENGR245 Lean LaunchPad Stanford 2018Movebot ENGR245 Lean LaunchPad Stanford 2018
Movebot ENGR245 Lean LaunchPad Stanford 2018
 
Google Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 yearsGoogle Opening up to Developers - From 2 to 55 APIs in 3 years
Google Opening up to Developers - From 2 to 55 APIs in 3 years
 
Big Data makes me grumpy, Justo Ruiz Ferrer, CTO @ Valo
Big Data makes me grumpy, Justo Ruiz Ferrer, CTO @ ValoBig Data makes me grumpy, Justo Ruiz Ferrer, CTO @ Valo
Big Data makes me grumpy, Justo Ruiz Ferrer, CTO @ Valo
 
NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...
NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...
NEW LAUNCH! Deploying and Managing Voice Skills in your Organization with Ale...
 
Sap penetration testing_defense_in_depth
Sap penetration testing_defense_in_depthSap penetration testing_defense_in_depth
Sap penetration testing_defense_in_depth
 
A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World A Connector, A Container and an API Walk Into a Bar: The Programmable World
A Connector, A Container and an API Walk Into a Bar: The Programmable World
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1
 
Generative AI Use cases for Enterprise - Second Session
Generative AI Use cases for Enterprise - Second SessionGenerative AI Use cases for Enterprise - Second Session
Generative AI Use cases for Enterprise - Second Session
 
Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!
 

More from Arty Starr

The Ultimate Metric
The Ultimate MetricThe Ultimate Metric
The Ultimate MetricArty Starr
 
The Ultimate Metric
The Ultimate MetricThe Ultimate Metric
The Ultimate MetricArty Starr
 
A Programmer's Guide to Humans
A Programmer's Guide to HumansA Programmer's Guide to Humans
A Programmer's Guide to HumansArty Starr
 
Learn Your Way to AWESOME.
Learn Your Way to AWESOME.Learn Your Way to AWESOME.
Learn Your Way to AWESOME.Arty Starr
 
Data-Driven Software Mastery @Open Mastery Austin
Data-Driven Software Mastery @Open Mastery AustinData-Driven Software Mastery @Open Mastery Austin
Data-Driven Software Mastery @Open Mastery AustinArty Starr
 
Bringing Science to Software Development
Bringing Science to Software DevelopmentBringing Science to Software Development
Bringing Science to Software DevelopmentArty Starr
 
Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Arty Starr
 
Make a F.O.C.O.L. Point!
Make a F.O.C.O.L. Point!Make a F.O.C.O.L. Point!
Make a F.O.C.O.L. Point!Arty Starr
 
Stop Getting Crushed By Business Pressure
Stop Getting Crushed By Business PressureStop Getting Crushed By Business Pressure
Stop Getting Crushed By Business PressureArty Starr
 
Reviewing a Developer Experience
Reviewing a Developer ExperienceReviewing a Developer Experience
Reviewing a Developer ExperienceArty Starr
 
Open Mastery: Let's Conquer the Challenges of the Industry!
Open Mastery: Let's Conquer the Challenges of the Industry!Open Mastery: Let's Conquer the Challenges of the Industry!
Open Mastery: Let's Conquer the Challenges of the Industry!Arty Starr
 
The Art of Better
The Art of BetterThe Art of Better
The Art of BetterArty Starr
 
Top 5 Reasons Why Improvement Efforts Fail
Top 5 Reasons Why Improvement Efforts FailTop 5 Reasons Why Improvement Efforts Fail
Top 5 Reasons Why Improvement Efforts FailArty Starr
 

More from Arty Starr (14)

The Ultimate Metric
The Ultimate MetricThe Ultimate Metric
The Ultimate Metric
 
The Ultimate Metric
The Ultimate MetricThe Ultimate Metric
The Ultimate Metric
 
A Programmer's Guide to Humans
A Programmer's Guide to HumansA Programmer's Guide to Humans
A Programmer's Guide to Humans
 
Learn Your Way to AWESOME.
Learn Your Way to AWESOME.Learn Your Way to AWESOME.
Learn Your Way to AWESOME.
 
Why #OpenDX?
Why #OpenDX?Why #OpenDX?
Why #OpenDX?
 
Data-Driven Software Mastery @Open Mastery Austin
Data-Driven Software Mastery @Open Mastery AustinData-Driven Software Mastery @Open Mastery Austin
Data-Driven Software Mastery @Open Mastery Austin
 
Bringing Science to Software Development
Bringing Science to Software DevelopmentBringing Science to Software Development
Bringing Science to Software Development
 
Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!
 
Make a F.O.C.O.L. Point!
Make a F.O.C.O.L. Point!Make a F.O.C.O.L. Point!
Make a F.O.C.O.L. Point!
 
Stop Getting Crushed By Business Pressure
Stop Getting Crushed By Business PressureStop Getting Crushed By Business Pressure
Stop Getting Crushed By Business Pressure
 
Reviewing a Developer Experience
Reviewing a Developer ExperienceReviewing a Developer Experience
Reviewing a Developer Experience
 
Open Mastery: Let's Conquer the Challenges of the Industry!
Open Mastery: Let's Conquer the Challenges of the Industry!Open Mastery: Let's Conquer the Challenges of the Industry!
Open Mastery: Let's Conquer the Challenges of the Industry!
 
The Art of Better
The Art of BetterThe Art of Better
The Art of Better
 
Top 5 Reasons Why Improvement Efforts Fail
Top 5 Reasons Why Improvement Efforts FailTop 5 Reasons Why Improvement Efforts Fail
Top 5 Reasons Why Improvement Efforts Fail
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

An Open Standard for Learnable APIs

  • 1. CTO, New Iron Janelle Klein Learnable APIs An Open Standard for Easy to Learn and Use Hard to Learn and Use Learnability Index ©2015 New Iron Group Saturday, August 8, 15
  • 2. RESET Why should I care? Saturday, August 8, 15
  • 3. RESET ... The Modern API Decision-Making Process “Hmm... I need a Contact Management API.” Saturday, August 8, 15
  • 4. RESET Contact Management API ... “Hmm... I need a Contact Management API.” The Modern API Decision-Making Process Saturday, August 8, 15
  • 5. RESET Contact Management API ... Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below you'll find some more stats from the directory, including the entire list of CRM APIs. source: http://programmableweb.com “Hmm... I need a Contact Management API.” The Modern API Decision-Making Process Saturday, August 8, 15
  • 6. RESET Contact Management API ... Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below you'll find some more stats from the directory, including the entire list of CRM APIs. source: http://programmableweb.com “Hmm... I need a Contact Management API.” The Modern API Decision-Making Process “Ugh...this is taking too long.” Saturday, August 8, 15
  • 7. RESET Contact Management API ... Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below you'll find some more stats from the directory, including the entire list of CRM APIs. source: http://programmableweb.com “Hmm... I need a Contact Management API.” “Hey George, what API do you use for Contact Management?” The Modern API Decision-Making Process “Ugh...this is taking too long.” Saturday, August 8, 15
  • 8. RESET Contact Management API ... Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below you'll find some more stats from the directory, including the entire list of CRM APIs. source: http://programmableweb.com “Hmm... I need a Contact Management API.” “Hey George, what API do you use for Contact Management?” “We made our own Salesforce mashup. I’ll send you a link.” The Modern API Decision-Making Process “Ugh...this is taking too long.” Saturday, August 8, 15
  • 9. RESET Contact Management API ... Our API directory now includes 63 CRM APIs. The newest is thePingGiant API. The most popular, in terms of mashups, is theSalesforce API. We list 44 Salesforce mashups. Below you'll find some more stats from the directory, including the entire list of CRM APIs. source: http://programmableweb.com “Hmm... I need a Contact Management API.” “Hey George, what API do you use for Contact Management?” “We made our own Salesforce mashup. I’ll send you a link.” “Thanks, George. I’ll use that one I guess.” The Modern API Decision-Making Process “Ugh...this is taking too long.” Saturday, August 8, 15
  • 10. RESET Okay... but this is just a minor annoyance. source: Domics - “What’s a Shrug?” The real pain happens later... Saturday, August 8, 15
  • 11. RESET https://www.youtube.com/watch?v=0mUN3RppEHE Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 Saturday, August 8, 15
  • 12. Infecting We’re putting software and connectivity in everything... Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 Saturday, August 8, 15
  • 13. The security implications are frightening... Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 100 million lines of code running a car! Saturday, August 8, 15
  • 14. RESET 90% of our software is assembled from existing parts... Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 The Complexity and Risk is in the Supply Chain Saturday, August 8, 15
  • 15. The Talent Shortage Higher Demand for Software Software Development knowledge is mostly tacit knowledge that’s learned through mentorship (not school) Broken Education System+ More Incompetent Devs building software Saturday, August 8, 15
  • 16. Bad Software is like Environment Pollution Breaking Point Cost & Risk Complexity Cumulative Complexity in the SW Supply Chain (i.e. shared dumping ground of crappy software) The risk to public safety is on all of us. Saturday, August 8, 15
  • 17. RESET What Can We Possibly Do? source: Domics - “What’s a Shrug?” Saturday, August 8, 15
  • 18. RESET Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 The Difference? Modern Building Codes Haiti Quake: 7.0 with 230,000 deaths Chile Quake: 8.8 with 279 deaths Saturday, August 8, 15
  • 19. RESET Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 We’ve copied everything from Deming’s manufacturing ideas except Quality and Risk Management Practices. Saturday, August 8, 15
  • 20. RESET To conquer the challenges of quality and risk We have to manage quality in the Supply Chain Fear and Inspiration Josh Corman, DevOpsDays Austin 2015 Saturday, August 8, 15
  • 21. The @iamthecavalry community rally call: It’s not our software, but it is our problem. Saturday, August 8, 15
  • 22. Let’s take ownership of the supply chain problems and design the future we want. Saturday, August 8, 15
  • 23. RESET Deliberate Design of Human Systems There is always cost. There are always consequences. Open != Good Private Competition Survival of the Fittest Self-Optimizing Creativity Innovation Open Standards Define the Competition Optimize the Whole Public Debate Empathy Interactions cause system effects Saturday, August 8, 15
  • 24. Let’s Take Ownership of Evolution Pain Pushes (Threat of Survival) Opportunity Pulls (Path of Least Resistance) “The System” Saturday, August 8, 15
  • 25. Learnable APIs Open Standard for What if we had... Saturday, August 8, 15
  • 26. Mistakes are primarily caused by a lack of understanding. Easy to Learn and Use Hard to Learn and Use Learnability Index Learnability measures the cost of understanding. Learnability measures the risk of mistakes. Saturday, August 8, 15
  • 27. RESET Contact Management API ... “Hmm... I need a Contact Management API.” Let’s Try this Again... Saturday, August 8, 15
  • 28. RESET Contact Management API ... “Hmm... I need a Contact Management API.” Let’s Try this Again... Quality decisions create selection pressures for quality in the market Saturday, August 8, 15
  • 29. RESET Contact Management API ... “Hmm... I need a Contact Management API.” Let’s Try this Again... Quality decisions create selection pressures for quality in the market Cost of Ownership Analysis Saturday, August 8, 15
  • 30. What information do we need to make quality supply chain decisions? What’s the strategy to get there? Saturday, August 8, 15
  • 31. RESET ... I’ve been working on a related challenge for the last ~8 years. Software Rewrite Cycle How to Break the Start% Over% Unmaintainable% So0ware% Saturday, August 8, 15
  • 32. RESET My software project... We tried to do all the “right” things ...and brought down production 3x in a row. Saturday, August 8, 15
  • 33. Technical Debt Risk of Mistakes I thought the problem was Technical Debt Saturday, August 8, 15
  • 34. Risk of Mistakes ? Most of our mistakes were in the most well-written parts of the code. Saturday, August 8, 15
  • 35. 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... Saturday, August 8, 15
  • 36. Complex( So*ware( ...pain... This is what I knew... What made development feel painful? Saturday, August 8, 15
  • 37. Unexpected Behavior Problem Resolved Tracking Painful Interaction with the Code (Friction) Troubleshooting Progress 5 hours and 18 minutes of troubleshooting... PAINFUL Saturday, August 8, 15
  • 38. The Amount of PAIN was Driven By... Likeliness(of(( Unexpected( Behavior( Cost(to(Troubleshoot(and(Repair( High(Frequency( Low(Impact( Low(Frequency( Low(Impact( Low(Frequency( High(Impact( PAIN( Saturday, August 8, 15
  • 39. What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? What causes PAIN? Bad Input Assumptions Stale Memory Mistakes Semantic Mistakes Similarity Mistakes 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 Generation Using Debugger Most of the pain was caused by human factors. Saturday, August 8, 15
  • 40. What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? What causes PAIN? Bad Input Assumptions Stale Memory Mistakes Semantic Mistakes Similarity Mistakes 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 Generation Using Debugger Most of the pain was caused by human factors. Saturday, August 8, 15
  • 41. What Causes Unexpected Behavior (likeliness)? What Makes Troubleshooting Time-Consuming (impact)? What causes PAIN? Bad Input Assumptions Stale Memory Mistakes Semantic Mistakes Similarity Mistakes Tedious Change Mistakes Copy-Edit Mistakes Transposition Mistakes Failed Refactor Mistakes False Alarm Most of the pain was caused by human factors. Non-Deterministic Behavior Ambiguous Clues Lots of Code Changes Noisy Output Cryptic Output Long Execution Time Environment Cleanup Test Data Generation Using Debugger Saturday, August 8, 15
  • 42. “Idea Flow” is a metaphor for the human interaction in software development Idea Flow Map Saturday, August 8, 15
  • 43. Confirmed Expectations Confirmation: Everything feels as it should be... Saturday, August 8, 15
  • 44. Violated Expectations Conflict: Something is out of place... Saturday, August 8, 15
  • 45. The Idea Flow Process looks like this: Saturday, August 8, 15
  • 46. “Friction” occurs in the context of a Process. Pain is caused by high-friction movement. friction Saturday, August 8, 15
  • 47. Friction occurs in Three Places: ConflictConfirm Rework' Learn' Validate( Modify' Confirming Loop! Conflict Loop! Troubleshoot' Saturday, August 8, 15
  • 51. How do we measure Idea Flow in Developer Experience? Saturday, August 8, 15
  • 52. Idea Flow Mapping Tools (Open Source) Saturday, August 8, 15
  • 53. Troubleshooting Progress Learning Rework Idea Flow Mapping Tools (Open Source) Saturday, August 8, 15
  • 54. Troubleshooting Progress Learning Rework Idea Flow Mapping Tools (Open Source) Experiment via Unit Testing Experiment via Running App Saturday, August 8, 15
  • 55. Troubleshooting Progress Learning Rework Idea Flow Mapping Tools (Open Source) Saturday, August 8, 15
  • 56. Troubleshooting Progress Learning Rework Idea Flow Mapping Tools (Open Source) Tags: #problemtag Saturday, August 8, 15
  • 57. Input: Task + Constraints Target: Optimal Idea Flow Output: Actual Friction 1. Visibility 2. Clarity 3. Awareness Idea Flow Learning Framework 1. Visibility - Make the Pain Visible 2. Clarity - Understand the Causes of Pain 3. Awareness - Improve Decision Habits (data-driven learning) Saturday, August 8, 15
  • 58. We can learn to read the Visual Indicators in Idea Flow Maps Le#$Atrium$ Le#$Ventricle$ Right$Ventricle$ Right$Atrium$ What’s$causing$this$pa7ern?$ Similar to how an EKG helps doctors diagnose heart problems... Saturday, August 8, 15
  • 59. ...Idea Flow Maps help developers diagnose software problems. Problem-Solving Machine Saturday, August 8, 15
  • 60. = Solution Strategy The “Heart” of Software Development (the problem-solving machine) Saturday, August 8, 15
  • 61. = Solution Strategy The “Heart” of Software Development (the problem-solving machine) Evaluate alternatives and decide on a general strategy Saturday, August 8, 15
  • 62. = Solution Strategy The “Heart” of Software Development (the problem-solving machine) Scan through the code and build a conceptual model of how it works Saturday, August 8, 15
  • 63. = Solution Strategy The “Heart” of Software Development (the problem-solving machine) Feedback loop phase involves writing a little code, validating that it works, then refining the details of the strategy. Saturday, August 8, 15
  • 64. = Solution Strategy The “Heart” of Software Development (the problem-solving machine) If we discover our strategy isn’t going to work, we have to go back to the drawing board to find an alternative. Saturday, August 8, 15
  • 65. Depending on where the disruptions are in the process, we see a different effect in Idea Flow. Saturday, August 8, 15
  • 66. "How did you evaluate the possible options and choose a strategy?" "What was wrong with the different strategies you tried?" "What was the discovery that made you choose a different direction?" Problems with Evaluating Alternatives Saturday, August 8, 15
  • 67. "Were you working with something that you were unfamiliar with?" "Did you run into code that was noisy, ambiguous, or misleading?" "What do you think made it difficult to learn?" Problems with Modeling Saturday, August 8, 15
  • 68. "Did your task involve changes to complex code or business rules?" "Were there a lot of details that you had to keep in your head?" "What was causing the complexity in the validation cycles?" Problems with Refining Saturday, August 8, 15
  • 69. "What experiments did you run to troubleshoot the problem?" "How many times did you run the experiment?" "How long did it take to get through each experiment cycle?" Problems with the Validation Cycle Saturday, August 8, 15
  • 70. "Was there something in the code that made these changes especially mistake-prone?" "How familiar were you with the language and tools you were working with?" "Were you tired or distracted when you did the work?" Problems with Execution Saturday, August 8, 15
  • 71. The Ten Pains of Software Development Saturday, August 8, 15
  • 72. Add up Friction by Pain Type 100 hours 50 hours Troubleshooting Learning Rework Focused Improvements Visible Feedback Saturday, August 8, 15
  • 73. What’s Causing the Software Rewrite Cycle? Start% Over% Unmaintainable% So0ware% Saturday, August 8, 15
  • 74. Cycle of Escalating Risk Constant' Urgency' Time' Pressure' Ignore' Risk' Increase' Likeliness' &'Magnitude' of'Pain' More'Frequent' Bugs'and' Higher' Task'Effort' Saturday, August 8, 15
  • 75. Case Study 1: Healthy project about 10 months old Troubleshooting Progress Learning Rework10-20% friction Effects of Escalating Risk Saturday, August 8, 15
  • 76. Case Study 2: Thrashing project about 18 months old Troubleshooting Progress Learning Rework40-60% friction 0:00 28:15 12:230:00 Effects of Escalating Risk Saturday, August 8, 15
  • 77. Case Study 3: Post-meltdown project about 12 years old Troubleshooting Progress Learning Rework60-90% friction 7:070:00 0:00 19:52 Effects of Escalating Risk Saturday, August 8, 15
  • 78. Case Study 1 Case Study 2 Case Study 3 1 day 2 days 1 day 3 days 1 day 3 days We can’t see these effects by measuring velocity or task lead-time. Effects of Escalating Risk Saturday, August 8, 15
  • 79. RESET Remember This? We’ve copied everything from Deming’s manufacturing ideas except Quality and Risk Management Practices. Saturday, August 8, 15
  • 80. Idea Flow Learning Framework is a software control system! Input: Task + Constraints Target: Optimal Idea Flow Output: Actual Friction 1. Visibility 2. Clarity 3. Awareness My background... Statistical Process Control (SPC) and Supply Chain in Manufacturing Saturday, August 8, 15
  • 81. How do we measure Learnability of an API? Saturday, August 8, 15
  • 82. “Learnability” is the average friction across a specific set of Developer Use Case Experiments Easy to Learn and Use Hard to Learn and Use Learnability Index Open Standard for All APIs and Libraries Saturday, August 8, 15
  • 83. RESET Contact Management API ... “How do we get here?” The Conversation Starts with a Vision Cost of Ownership Analysis (Even if it’s a half-baked vision) Saturday, August 8, 15
  • 84. Proposal for a Road Map Open Mastery (Launching Fall 2015) Developer peer learning network focused on using data-driven learning to codify open decision models and standards for industry-wide problems. Community Backlog 1. Personal Mastery (Codify Idea Flow-based Software Control decision-making) 2. Open Software Mastery Certification 3. Team Mastery (Software Mentorship, Knowledge Integration, Improvement Strategy) 4. Open Software Mentorship Certification 5. Supply Chain Mastery (Cost of Ownership Analysis, Component Decision Hub) 6. Open API DX Certification Saturday, August 8, 15
  • 85. Think about it, Blog about it, Tweet about it! @janellekz #ideaflow! Free e-book if you sign up by Aug 30th! @janellekz janelle@newiron.com Twitter: Email: Saturday, August 8, 15