SlideShare una empresa de Scribd logo
1 de 62
Thinking, Fast and Slow…
With Software Development
Daniel Bryant
Principal Consultant, OpenCredo
daniel.bryant@opencredo.com
@danielbryantuk
Think More Deliberately
• Our decision making can be flawed…
• Apply process and models (as appropriate)
• Collaborate more (and better)
• Plan, do, check, act…
16/10/2015 @danielbryantuk
Who Am I?
• London Java Community Associate
• muservicesweekly.com
• InfoQ Editor, DZone MVB, Voxxed
16/10/2015 @danielbryantuk
• Principal Consultant at OpenCredo
 Technical/digital transformation
 CI/CD, DevOps
 Microservices, cloud and containers
 {{ insert latest buzzword }}
Pointy-Haired Decision Making…
16/10/2015 @danielbryantuk
dilbert.com/strip/2010-08-24
Our Thinking: A Tale of Two Systems…
System 1:
fast, instinctive, emotional, subconscious
System 2:
slower, deliberate, reasoning, conscious
16/10/2015 @danielbryantuk
2 + 2 = ?
16/10/2015 @danielbryantuk
(24 / 2) * (1 / 3) = ?
16/10/2015 @danielbryantuk
2 + 2 = 4
(24 / 2) * (1 / 3) = 4
16/10/2015 @danielbryantuk
16/10/2015 @danielbryantuk
16/10/2015 @danielbryantuk
16/10/2015 @danielbryantuk
Bob is a single male in his 20’s who is bright,
quiet, likes science fiction and fantasy, and
avoids interacting with people in the real world
Which is more probable?
• Bob is a programmer
• Bob is a programmer and plays MMORPG?
16/10/2015 @danielbryantuk
Conjunction Fallacy
16/10/2015 @danielbryantuk
Our Thinking: A Tale of Two Systems…
System 1:
fast, instinctive, emotional, subconscious
Rapid, associative, and has systemic errors
System 2:
slower, deliberate, reasoning, conscious
Lazy, and causal (not statistical)
16/10/2015 @danielbryantuk
Heuristics / biases affecting software delivery
16/10/2015 @danielbryantuk
Availability Heuristic
“If something can be recalled,
it must be important”
‘Hipster-itis’
e.g. the ‘best’ architectural style
16/10/2015 @danielbryantuk
Microservices
• The current flavour of the month!
– Great ideas, but dangerously over-hyped
• Frameworks and products emerging
– Virtuous (vicious?) circle
– “The bandwagon effect”
– Have we found the silver bullet?…
16/10/2015 @danielbryantuk
Whatever is Available
When all you have is a hammer…
…everything looks like a nail
16/10/2015 @danielbryantuk
When all you have is a SOA…
…everything looks like a service
(please avoid creating the toString() service)
16/10/2015 @danielbryantuk
When all you have is a Jenkins…
…everything looks like a Jenkins Job
16/10/2015 @danielbryantuk
When all you have is a Spring Framework…
…everything looks like an AbstractSingletonProxyFactoryBean
16/10/2015 @danielbryantuk
Availability: Think Professionally
• Stop… engage system 2
• Spike/prototype, experiment, evaluate…
• Constant learning
– Find trusted mentors
– Cultivate blogs
– Read the classics
16/10/2015 @danielbryantuk
Fundamentals
16/10/2015 @danielbryantuk
Evaluation
“I will postpone using this shiny new framework
until my peers have validated the proposed
benefits with rigorous scientific experiments”
- Said by no programmer
…ever
16/10/2015 @danielbryantuk
Raible’s Comparison Matrix
16/10/2015 @danielbryantuk
Matt Raible comparison matrix (bit.ly/OxUzad)
Optimistic Bias
“People tend to be overconfident,
believing that they have substantial
control in their lives”
I know what our customers want…
…how could I possibly be wrong?
16/10/2015 @danielbryantuk
Four Factors of Optimistic Bias
• Desired end state
– Self-enhancement, perceived control
• Cognitive mechanisms
– Representativeness heuristic, singular target focus
• Information about self vs target
• Overall mood
16/10/2015 @danielbryantuk
Optimism: Think Professionally
• Define (and share) clear goals
• Build, measure, learn…
• Remove uncertainty early (bit.ly/1mAb6o4)
– “Patterns of Effective Delivery” by Dan North
• Software is inherently collaborative…
16/10/2015 @danielbryantuk
The Three Amigos
16/10/2015 @danielbryantuk
Pair Mob Programming
16/10/2015 @danielbryantuk
benjiweber.co.uk/blog/2014/11/30/the-unruly-mob/
probablyfine.co.uk/papers/mob-programming.pdf
www.infoq.com/interviews/zuill-mob-programming
DevOps: Share the Pain...
16/10/2015 @danielbryantuk
“Dev-on-call”
An occasional spike to the head
is a good thing...
...metaphorically speaking
• You build it, you run it
– Shared responsibility
– Communication
16/10/2015 @danielbryantuk
Remove (or Limit) Uncertainty
16/10/2015 @danielbryantuk
Check the HiPPO
16/10/2015 @danielbryantuk
bit.ly/1xseeXM
Planning Fallacy
“A phenomenon in which predictions about
how much time will be needed to complete a
future task display an optimistic bias. ”
Was your last project completed on time?
…and on budget?
16/10/2015 @danielbryantuk
IT Track Record…
• Sainsbury’s Supply Chain Management System
– $526m bit.ly/160SnAj
• NHS patient record system
– £10bn bit.ly/XBzFuV
• HealthCare.gov
– onforb.es/1k7egyb
16/10/2015 @danielbryantuk
Most Common Factors for Failure
• Unrealistic or unarticulated project goals
• Inaccurate estimates of needed resources
• Badly defined system requirements
• Poor reporting of the project's status
• Unmanaged risks
• Poor communication among customers, developers, and users
• Use of immature technology
• Inability to handle the project's complexity
• Sloppy development practices
• Poor project management
• Stakeholder politics
• Commercial pressures
Source spectrum.ieee.org/computing/software/why-software-fails
16/10/2015 @danielbryantuk
Most Common Factors for Failure
• Unrealistic or unarticulated project goals
• Inaccurate estimates of needed resources
• Badly defined system requirements
• Poor reporting of the project's status
• Unmanaged risks
• Poor communication among customers, developers, and users
• Use of immature technology
• Inability to handle the project's complexity
• Sloppy development practices
• Poor project management
• Stakeholder politics
• Commercial pressures
Source spectrum.ieee.org/computing/software/why-software-fails
16/10/2015 @danielbryantuk
At the Start: Feedback & Federation
• Plan, do, check (showcase), act
• Improve estimation (or #noestimates?)
• Divide and conquer
– SOA, microservices, modules… (systems thinking)
– Squads, guilds, chapters
16/10/2015 @danielbryantuk
Spotify
16/10/2015 @danielbryantuk
A Side Note
Even if your upfront planning is good…
16/10/2015 @danielbryantuk
Things Inevitably Go Wrong…
16/10/2015 @danielbryantuk
At the End: It’s All About People
16/10/2015 @danielbryantuk
From Macro to Micro…
16/10/2015 @danielbryantuk
Accept Unknown Unknowns…
16/10/2015 @danielbryantuk
dilbert.com/strips/comic/1995-11-10/
Sunk Cost Fallacy
“Any past cost that has already been
paid and cannot be recovered should not
figure into the decision making process. ”
When did you last remove a framework?
…or a library?
16/10/2015 @danielbryantuk
Why Are We Reluctant?
• We don’t like being wrong…
• Existing effort appears wasted
– Endowment effect
• Loss aversion
– Twice as powerful, psychologically, as gains?
16/10/2015 @danielbryantuk
Try Not to ‘Sink Costs’
16/10/2015 @danielbryantuk
Retrospect Regularly
• Did we make the right choice?
• When was the ‘last responsible moment’?
• What can we learn?
• How can we get better?
16/10/2015 @danielbryantuk
Anchoring Bias
“Common tendency to rely too heavily
on the first piece of information offered
when making decisions. ”
How does your manager ask for estimates?
…is it an unbiased question?
16/10/2015 @danielbryantuk
16/10/2015 @danielbryantuk
Anchoring: Learn to “Upwardly Manage”
• Learn to say no…
– Provide explanations and alternatives
• Make sure goals/user stories are well-defined
– Collaboration
– Feedback
• Apply PERT estimations (bit.ly/1mGzuoe)
16/10/2015 @danielbryantuk
A Little More #NoEstimates
16/10/2015 @danielbryantuk
Read Your Way to Tech Leadership (?)
16/10/2015 @danielbryantuk
Ok, lets wrap this up…
16/10/2015 @danielbryantuk
We All Make Mistakes…
16/10/2015 @danielbryantuk
Have a Little Empathy…
16/10/2015 @danielbryantuk
“You will be the same person in five years as
you are today except for the people you meet
and the books you read.”
- Charlie “Tremendous” Jones
(bit.ly/1LAdQkv)
16/10/2015 @danielbryantuk
Awesome Conferences and Books
16/10/2015 @danielbryantuk
16/10/2015 @danielbryantuk
Summary
• Apply process and models (as appropriate)
– Listen to system 1, but engage system 2…
• Collaborate more (and better)
• Learn, do, retrospect, (teach,) repeat
- “Think” more deliberately -
16/10/2015 @danielbryantuk
Thanks for Listening!
Comments and feedback are welcomed…
daniel.bryant@opencredo.com
@danielbryantuk
www.infoq.com/author/Daniel-Bryant
www.parleys.com/author/daniel-bryant
www.muservicesweekly.com
16/10/2015 @danielbryantuk

Más contenido relacionado

Destacado

Java6weekstraining
Java6weekstrainingJava6weekstraining
Java6weekstrainingAmit Singh
 
Transformation digitale et banques de detail
Transformation digitale et banques de detail Transformation digitale et banques de detail
Transformation digitale et banques de detail BRIVA
 
El extraño caso del Dr. Jekyll y Mr. Hyde
El extraño caso del Dr. Jekyll y Mr. HydeEl extraño caso del Dr. Jekyll y Mr. Hyde
El extraño caso del Dr. Jekyll y Mr. HydeMichelle Serna Esquivel
 
Diaa arafa sr.accountant
Diaa arafa sr.accountantDiaa arafa sr.accountant
Diaa arafa sr.accountantDiaa Said
 
Trimestre 1
Trimestre 1Trimestre 1
Trimestre 1gioliher
 
Webinar - 2017 at EPIP
Webinar - 2017 at EPIPWebinar - 2017 at EPIP
Webinar - 2017 at EPIPEPIPNational
 
Las dependencias de la casa por Mayra Guamaní
Las dependencias de la casa por Mayra GuamaníLas dependencias de la casa por Mayra Guamaní
Las dependencias de la casa por Mayra GuamaníMAYRAGUAMANI
 
Презентация видеопродакшена, видеостудии
Презентация видеопродакшена, видеостудииПрезентация видеопродакшена, видеостудии
Презентация видеопродакшена, видеостудииЕвгений Пешков
 
#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon
#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon
#PortraitDeStartuper #3 - Tilkee - Sylvain TillonSébastien Bourguignon
 
Eliminating Bias in Investigations
Eliminating Bias in InvestigationsEliminating Bias in Investigations
Eliminating Bias in InvestigationsCase IQ
 
Version incompleta libro terminologia táctica aplicada
Version incompleta libro terminologia táctica aplicadaVersion incompleta libro terminologia táctica aplicada
Version incompleta libro terminologia táctica aplicadaUNAM
 
Docker containerd Kubernetes sig node
Docker containerd Kubernetes sig nodeDocker containerd Kubernetes sig node
Docker containerd Kubernetes sig nodePatrick Chanezon
 

Destacado (16)

Competition ppt1
Competition ppt1Competition ppt1
Competition ppt1
 
Prueba slidershare
Prueba slidersharePrueba slidershare
Prueba slidershare
 
Java6weekstraining
Java6weekstrainingJava6weekstraining
Java6weekstraining
 
Transformation digitale et banques de detail
Transformation digitale et banques de detail Transformation digitale et banques de detail
Transformation digitale et banques de detail
 
El extraño caso del Dr. Jekyll y Mr. Hyde
El extraño caso del Dr. Jekyll y Mr. HydeEl extraño caso del Dr. Jekyll y Mr. Hyde
El extraño caso del Dr. Jekyll y Mr. Hyde
 
Ps1 chapter 1
Ps1 chapter 1Ps1 chapter 1
Ps1 chapter 1
 
Diaa arafa sr.accountant
Diaa arafa sr.accountantDiaa arafa sr.accountant
Diaa arafa sr.accountant
 
Trimestre 1
Trimestre 1Trimestre 1
Trimestre 1
 
CV OF PRISHEN GUNPATH
CV OF PRISHEN GUNPATHCV OF PRISHEN GUNPATH
CV OF PRISHEN GUNPATH
 
Webinar - 2017 at EPIP
Webinar - 2017 at EPIPWebinar - 2017 at EPIP
Webinar - 2017 at EPIP
 
Las dependencias de la casa por Mayra Guamaní
Las dependencias de la casa por Mayra GuamaníLas dependencias de la casa por Mayra Guamaní
Las dependencias de la casa por Mayra Guamaní
 
Презентация видеопродакшена, видеостудии
Презентация видеопродакшена, видеостудииПрезентация видеопродакшена, видеостудии
Презентация видеопродакшена, видеостудии
 
#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon
#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon
#PortraitDeStartuper #3 - Tilkee - Sylvain Tillon
 
Eliminating Bias in Investigations
Eliminating Bias in InvestigationsEliminating Bias in Investigations
Eliminating Bias in Investigations
 
Version incompleta libro terminologia táctica aplicada
Version incompleta libro terminologia táctica aplicadaVersion incompleta libro terminologia táctica aplicada
Version incompleta libro terminologia táctica aplicada
 
Docker containerd Kubernetes sig node
Docker containerd Kubernetes sig nodeDocker containerd Kubernetes sig node
Docker containerd Kubernetes sig node
 

Similar a Thinking fast and slow with software development - Daniel Bryant

JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"Daniel Bryant
 
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"Daniel Bryant
 
Microservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactAmbassador Labs
 
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"Daniel Bryant
 
Jfokus 2015 "Thinking Fast and Slow with Software Development"
Jfokus 2015 "Thinking Fast and Slow with Software Development"Jfokus 2015 "Thinking Fast and Slow with Software Development"
Jfokus 2015 "Thinking Fast and Slow with Software Development"Daniel Bryant
 
microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"Daniel Bryant
 
The London Web "Empathy - The Hidden Ingredient of Good Software Development"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"The London Web "Empathy - The Hidden Ingredient of Good Software Development"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"Daniel Bryant
 
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...Daniel Bryant
 
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"Daniel Bryant
 
CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...Daniel Bryant
 
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"Daniel Bryant
 
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...Daniel Bryant
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
AllDayDevOps: "Microservices: The People and Organisational Impact"
AllDayDevOps: "Microservices: The People and Organisational Impact"AllDayDevOps: "Microservices: The People and Organisational Impact"
AllDayDevOps: "Microservices: The People and Organisational Impact"Daniel Bryant
 
Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...
Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...
Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...Smart Chicago Collaborative
 
NTC Workshop: Digital Inclusion Program Sustainability
NTC Workshop: Digital Inclusion Program SustainabilityNTC Workshop: Digital Inclusion Program Sustainability
NTC Workshop: Digital Inclusion Program SustainabilityDenise Linn Riedl
 
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant OpenCredo
 

Similar a Thinking fast and slow with software development - Daniel Bryant (20)

JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"JAX London 2016: "Empathy - The hidden ingredient of good software development?"
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
 
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"Microservice Summit 2016 "Microservices: The Organisational and People Impact"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
 
Microservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People Impact
 
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
 
Jfokus 2015 "Thinking Fast and Slow with Software Development"
Jfokus 2015 "Thinking Fast and Slow with Software Development"Jfokus 2015 "Thinking Fast and Slow with Software Development"
Jfokus 2015 "Thinking Fast and Slow with Software Development"
 
microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"microXchg 2017: "Microservices: The People and Organisational Impact"
microXchg 2017: "Microservices: The People and Organisational Impact"
 
The London Web "Empathy - The Hidden Ingredient of Good Software Development"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"The London Web "Empathy - The Hidden Ingredient of Good Software Development"
The London Web "Empathy - The Hidden Ingredient of Good Software Development"
 
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
 
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
 
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
 
CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...
 
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
 
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
 
The seven deadly sins of microservices
The seven deadly sins of microservicesThe seven deadly sins of microservices
The seven deadly sins of microservices
 
AllDayDevOps: "Microservices: The People and Organisational Impact"
AllDayDevOps: "Microservices: The People and Organisational Impact"AllDayDevOps: "Microservices: The People and Organisational Impact"
AllDayDevOps: "Microservices: The People and Organisational Impact"
 
Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...
Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...
Digital Inclusion Program Sustainability: Documenting Lessons, Sharing Succes...
 
NTC Workshop: Digital Inclusion Program Sustainability
NTC Workshop: Digital Inclusion Program SustainabilityNTC Workshop: Digital Inclusion Program Sustainability
NTC Workshop: Digital Inclusion Program Sustainability
 
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
 

Más de JAXLondon_Conference

Cassandra and Spark - Tim Berglund
Cassandra and Spark - Tim BerglundCassandra and Spark - Tim Berglund
Cassandra and Spark - Tim BerglundJAXLondon_Conference
 
All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...JAXLondon_Conference
 
The Unit Test is dead. Long live the Unit Test! - Colin Vipurs
The Unit Test is dead. Long live the Unit Test! - Colin VipursThe Unit Test is dead. Long live the Unit Test! - Colin Vipurs
The Unit Test is dead. Long live the Unit Test! - Colin VipursJAXLondon_Conference
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerJAXLondon_Conference
 
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJava Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJAXLondon_Conference
 
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJava Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJAXLondon_Conference
 
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay PrewerSmoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay PrewerJAXLondon_Conference
 
VC from the inside - a techie's perspective - Adrian Colyer
VC from the inside - a techie's perspective - Adrian ColyerVC from the inside - a techie's perspective - Adrian Colyer
VC from the inside - a techie's perspective - Adrian ColyerJAXLondon_Conference
 
Use your type system; write less code - Samir Talwar
Use your type system; write less code - Samir TalwarUse your type system; write less code - Samir Talwar
Use your type system; write less code - Samir TalwarJAXLondon_Conference
 
The java memory model and the mutability matrix of pain - Jamie Allen
The java memory model and the mutability matrix of pain - Jamie AllenThe java memory model and the mutability matrix of pain - Jamie Allen
The java memory model and the mutability matrix of pain - Jamie AllenJAXLondon_Conference
 
The art of shifting perspectives - Rachel Davies
The art of shifting perspectives - Rachel DaviesThe art of shifting perspectives - Rachel Davies
The art of shifting perspectives - Rachel DaviesJAXLondon_Conference
 
Spring Boot in the Web Tier - Dave Syer
Spring Boot in the Web Tier - Dave SyerSpring Boot in the Web Tier - Dave Syer
Spring Boot in the Web Tier - Dave SyerJAXLondon_Conference
 
Microservices from dream to reality in an hour - Dr. Holly Cummins
Microservices from dream to reality in an hour - Dr. Holly CumminsMicroservices from dream to reality in an hour - Dr. Holly Cummins
Microservices from dream to reality in an hour - Dr. Holly CumminsJAXLondon_Conference
 
Love your architecture - Alexander von Zitzewitz
Love your architecture - Alexander von ZitzewitzLove your architecture - Alexander von Zitzewitz
Love your architecture - Alexander von ZitzewitzJAXLondon_Conference
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJAXLondon_Conference
 
Java generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
Java generics past, present and future - Raoul-Gabriel Urma, Richard WarburtonJava generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
Java generics past, present and future - Raoul-Gabriel Urma, Richard WarburtonJAXLondon_Conference
 
Java 8 best practices - Stephen Colebourne
Java 8 best practices - Stephen ColebourneJava 8 best practices - Stephen Colebourne
Java 8 best practices - Stephen ColebourneJAXLondon_Conference
 
Intuitions for scaling data centric architectures - Benjamin Stopford
Intuitions for scaling data centric architectures - Benjamin StopfordIntuitions for scaling data centric architectures - Benjamin Stopford
Intuitions for scaling data centric architectures - Benjamin StopfordJAXLondon_Conference
 
Hybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos ErotocritouHybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos ErotocritouJAXLondon_Conference
 

Más de JAXLondon_Conference (20)

Cassandra and Spark - Tim Berglund
Cassandra and Spark - Tim BerglundCassandra and Spark - Tim Berglund
Cassandra and Spark - Tim Berglund
 
All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...
 
The Unit Test is dead. Long live the Unit Test! - Colin Vipurs
The Unit Test is dead. Long live the Unit Test! - Colin VipursThe Unit Test is dead. Long live the Unit Test! - Colin Vipurs
The Unit Test is dead. Long live the Unit Test! - Colin Vipurs
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
 
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJava Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
 
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel UrmaJava Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
Java Generics Past, Present and Future - Richard Warburton, Raoul-Gabriel Urma
 
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay PrewerSmoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
 
VC from the inside - a techie's perspective - Adrian Colyer
VC from the inside - a techie's perspective - Adrian ColyerVC from the inside - a techie's perspective - Adrian Colyer
VC from the inside - a techie's perspective - Adrian Colyer
 
Use your type system; write less code - Samir Talwar
Use your type system; write less code - Samir TalwarUse your type system; write less code - Samir Talwar
Use your type system; write less code - Samir Talwar
 
The java memory model and the mutability matrix of pain - Jamie Allen
The java memory model and the mutability matrix of pain - Jamie AllenThe java memory model and the mutability matrix of pain - Jamie Allen
The java memory model and the mutability matrix of pain - Jamie Allen
 
The art of shifting perspectives - Rachel Davies
The art of shifting perspectives - Rachel DaviesThe art of shifting perspectives - Rachel Davies
The art of shifting perspectives - Rachel Davies
 
Spring Boot in the Web Tier - Dave Syer
Spring Boot in the Web Tier - Dave SyerSpring Boot in the Web Tier - Dave Syer
Spring Boot in the Web Tier - Dave Syer
 
Microservices from dream to reality in an hour - Dr. Holly Cummins
Microservices from dream to reality in an hour - Dr. Holly CumminsMicroservices from dream to reality in an hour - Dr. Holly Cummins
Microservices from dream to reality in an hour - Dr. Holly Cummins
 
Love your architecture - Alexander von Zitzewitz
Love your architecture - Alexander von ZitzewitzLove your architecture - Alexander von Zitzewitz
Love your architecture - Alexander von Zitzewitz
 
Lambdas puzzler - Peter Lawrey
Lambdas puzzler - Peter LawreyLambdas puzzler - Peter Lawrey
Lambdas puzzler - Peter Lawrey
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
Java generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
Java generics past, present and future - Raoul-Gabriel Urma, Richard WarburtonJava generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
Java generics past, present and future - Raoul-Gabriel Urma, Richard Warburton
 
Java 8 best practices - Stephen Colebourne
Java 8 best practices - Stephen ColebourneJava 8 best practices - Stephen Colebourne
Java 8 best practices - Stephen Colebourne
 
Intuitions for scaling data centric architectures - Benjamin Stopford
Intuitions for scaling data centric architectures - Benjamin StopfordIntuitions for scaling data centric architectures - Benjamin Stopford
Intuitions for scaling data centric architectures - Benjamin Stopford
 
Hybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos ErotocritouHybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
 

Último

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
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
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Último (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
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...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
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
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Thinking fast and slow with software development - Daniel Bryant

  • 1. Thinking, Fast and Slow… With Software Development Daniel Bryant Principal Consultant, OpenCredo daniel.bryant@opencredo.com @danielbryantuk
  • 2. Think More Deliberately • Our decision making can be flawed… • Apply process and models (as appropriate) • Collaborate more (and better) • Plan, do, check, act… 16/10/2015 @danielbryantuk
  • 3. Who Am I? • London Java Community Associate • muservicesweekly.com • InfoQ Editor, DZone MVB, Voxxed 16/10/2015 @danielbryantuk • Principal Consultant at OpenCredo  Technical/digital transformation  CI/CD, DevOps  Microservices, cloud and containers  {{ insert latest buzzword }}
  • 4. Pointy-Haired Decision Making… 16/10/2015 @danielbryantuk dilbert.com/strip/2010-08-24
  • 5. Our Thinking: A Tale of Two Systems… System 1: fast, instinctive, emotional, subconscious System 2: slower, deliberate, reasoning, conscious 16/10/2015 @danielbryantuk
  • 6. 2 + 2 = ? 16/10/2015 @danielbryantuk
  • 7. (24 / 2) * (1 / 3) = ? 16/10/2015 @danielbryantuk
  • 8. 2 + 2 = 4 (24 / 2) * (1 / 3) = 4 16/10/2015 @danielbryantuk
  • 12. Bob is a single male in his 20’s who is bright, quiet, likes science fiction and fantasy, and avoids interacting with people in the real world Which is more probable? • Bob is a programmer • Bob is a programmer and plays MMORPG? 16/10/2015 @danielbryantuk
  • 14. Our Thinking: A Tale of Two Systems… System 1: fast, instinctive, emotional, subconscious Rapid, associative, and has systemic errors System 2: slower, deliberate, reasoning, conscious Lazy, and causal (not statistical) 16/10/2015 @danielbryantuk
  • 15. Heuristics / biases affecting software delivery 16/10/2015 @danielbryantuk
  • 16. Availability Heuristic “If something can be recalled, it must be important” ‘Hipster-itis’ e.g. the ‘best’ architectural style 16/10/2015 @danielbryantuk
  • 17. Microservices • The current flavour of the month! – Great ideas, but dangerously over-hyped • Frameworks and products emerging – Virtuous (vicious?) circle – “The bandwagon effect” – Have we found the silver bullet?… 16/10/2015 @danielbryantuk
  • 18. Whatever is Available When all you have is a hammer… …everything looks like a nail 16/10/2015 @danielbryantuk
  • 19. When all you have is a SOA… …everything looks like a service (please avoid creating the toString() service) 16/10/2015 @danielbryantuk
  • 20. When all you have is a Jenkins… …everything looks like a Jenkins Job 16/10/2015 @danielbryantuk
  • 21. When all you have is a Spring Framework… …everything looks like an AbstractSingletonProxyFactoryBean 16/10/2015 @danielbryantuk
  • 22. Availability: Think Professionally • Stop… engage system 2 • Spike/prototype, experiment, evaluate… • Constant learning – Find trusted mentors – Cultivate blogs – Read the classics 16/10/2015 @danielbryantuk
  • 24. Evaluation “I will postpone using this shiny new framework until my peers have validated the proposed benefits with rigorous scientific experiments” - Said by no programmer …ever 16/10/2015 @danielbryantuk
  • 25. Raible’s Comparison Matrix 16/10/2015 @danielbryantuk Matt Raible comparison matrix (bit.ly/OxUzad)
  • 26. Optimistic Bias “People tend to be overconfident, believing that they have substantial control in their lives” I know what our customers want… …how could I possibly be wrong? 16/10/2015 @danielbryantuk
  • 27. Four Factors of Optimistic Bias • Desired end state – Self-enhancement, perceived control • Cognitive mechanisms – Representativeness heuristic, singular target focus • Information about self vs target • Overall mood 16/10/2015 @danielbryantuk
  • 28. Optimism: Think Professionally • Define (and share) clear goals • Build, measure, learn… • Remove uncertainty early (bit.ly/1mAb6o4) – “Patterns of Effective Delivery” by Dan North • Software is inherently collaborative… 16/10/2015 @danielbryantuk
  • 29. The Three Amigos 16/10/2015 @danielbryantuk
  • 30. Pair Mob Programming 16/10/2015 @danielbryantuk benjiweber.co.uk/blog/2014/11/30/the-unruly-mob/ probablyfine.co.uk/papers/mob-programming.pdf www.infoq.com/interviews/zuill-mob-programming
  • 31. DevOps: Share the Pain... 16/10/2015 @danielbryantuk
  • 32. “Dev-on-call” An occasional spike to the head is a good thing... ...metaphorically speaking • You build it, you run it – Shared responsibility – Communication 16/10/2015 @danielbryantuk
  • 33. Remove (or Limit) Uncertainty 16/10/2015 @danielbryantuk
  • 34. Check the HiPPO 16/10/2015 @danielbryantuk bit.ly/1xseeXM
  • 35. Planning Fallacy “A phenomenon in which predictions about how much time will be needed to complete a future task display an optimistic bias. ” Was your last project completed on time? …and on budget? 16/10/2015 @danielbryantuk
  • 36. IT Track Record… • Sainsbury’s Supply Chain Management System – $526m bit.ly/160SnAj • NHS patient record system – £10bn bit.ly/XBzFuV • HealthCare.gov – onforb.es/1k7egyb 16/10/2015 @danielbryantuk
  • 37. Most Common Factors for Failure • Unrealistic or unarticulated project goals • Inaccurate estimates of needed resources • Badly defined system requirements • Poor reporting of the project's status • Unmanaged risks • Poor communication among customers, developers, and users • Use of immature technology • Inability to handle the project's complexity • Sloppy development practices • Poor project management • Stakeholder politics • Commercial pressures Source spectrum.ieee.org/computing/software/why-software-fails 16/10/2015 @danielbryantuk
  • 38. Most Common Factors for Failure • Unrealistic or unarticulated project goals • Inaccurate estimates of needed resources • Badly defined system requirements • Poor reporting of the project's status • Unmanaged risks • Poor communication among customers, developers, and users • Use of immature technology • Inability to handle the project's complexity • Sloppy development practices • Poor project management • Stakeholder politics • Commercial pressures Source spectrum.ieee.org/computing/software/why-software-fails 16/10/2015 @danielbryantuk
  • 39. At the Start: Feedback & Federation • Plan, do, check (showcase), act • Improve estimation (or #noestimates?) • Divide and conquer – SOA, microservices, modules… (systems thinking) – Squads, guilds, chapters 16/10/2015 @danielbryantuk
  • 41. A Side Note Even if your upfront planning is good… 16/10/2015 @danielbryantuk
  • 42. Things Inevitably Go Wrong… 16/10/2015 @danielbryantuk
  • 43. At the End: It’s All About People 16/10/2015 @danielbryantuk
  • 44. From Macro to Micro… 16/10/2015 @danielbryantuk
  • 45. Accept Unknown Unknowns… 16/10/2015 @danielbryantuk dilbert.com/strips/comic/1995-11-10/
  • 46. Sunk Cost Fallacy “Any past cost that has already been paid and cannot be recovered should not figure into the decision making process. ” When did you last remove a framework? …or a library? 16/10/2015 @danielbryantuk
  • 47. Why Are We Reluctant? • We don’t like being wrong… • Existing effort appears wasted – Endowment effect • Loss aversion – Twice as powerful, psychologically, as gains? 16/10/2015 @danielbryantuk
  • 48. Try Not to ‘Sink Costs’ 16/10/2015 @danielbryantuk
  • 49. Retrospect Regularly • Did we make the right choice? • When was the ‘last responsible moment’? • What can we learn? • How can we get better? 16/10/2015 @danielbryantuk
  • 50. Anchoring Bias “Common tendency to rely too heavily on the first piece of information offered when making decisions. ” How does your manager ask for estimates? …is it an unbiased question? 16/10/2015 @danielbryantuk
  • 52. Anchoring: Learn to “Upwardly Manage” • Learn to say no… – Provide explanations and alternatives • Make sure goals/user stories are well-defined – Collaboration – Feedback • Apply PERT estimations (bit.ly/1mGzuoe) 16/10/2015 @danielbryantuk
  • 53. A Little More #NoEstimates 16/10/2015 @danielbryantuk
  • 54. Read Your Way to Tech Leadership (?) 16/10/2015 @danielbryantuk
  • 55. Ok, lets wrap this up… 16/10/2015 @danielbryantuk
  • 56. We All Make Mistakes… 16/10/2015 @danielbryantuk
  • 57. Have a Little Empathy… 16/10/2015 @danielbryantuk
  • 58. “You will be the same person in five years as you are today except for the people you meet and the books you read.” - Charlie “Tremendous” Jones (bit.ly/1LAdQkv) 16/10/2015 @danielbryantuk
  • 59. Awesome Conferences and Books 16/10/2015 @danielbryantuk
  • 61. Summary • Apply process and models (as appropriate) – Listen to system 1, but engage system 2… • Collaborate more (and better) • Learn, do, retrospect, (teach,) repeat - “Think” more deliberately - 16/10/2015 @danielbryantuk
  • 62. Thanks for Listening! Comments and feedback are welcomed… daniel.bryant@opencredo.com @danielbryantuk www.infoq.com/author/Daniel-Bryant www.parleys.com/author/daniel-bryant www.muservicesweekly.com 16/10/2015 @danielbryantuk

Notas del editor

  1. Many explanations for the optimistic bias come from the goals that people want and outcomes they wish to see.[1] People tend to view their risks as less than others because they believe that this is what other people want to see. These explanations include self-enhancement, self-presentation, and perceived control. Self-enhancement suggests that optimistic predictions are satisfying and that it feels good to think that positive events will happen. People tend to focus on finding information that supports what they want to see happen, rather than what will happen to them Representative heuristic: individuals tend to think in stereotypical categories rather than about their actual targets when making comparisons. The estimates of likelihood associated with the optimistic bias are based on how closely an event matches a person's overall idea of the specific event Individuals know a lot more about themselves than they do about others.[1] Because information about others is less available, information about the self versus others leads people to make specific conclusions about their own risk, but results in them having a harder time making conclusions about the risks of others. This leads to differences in judgments and conclusions about self-risks compared to the risks of others, leading to larger gaps in the optimistic bias
  2. In behavioral economics, the endowment effect (also known as divestiture aversion) is the hypothesis that people ascribe more value to things merely because they own them (1990 where participants were given a mug and then offered the chance to sell it or trade it for an equally priced alternative good (pens). Kahneman et al. (1990)[2] found that the amount participants required as compensation for the mug once their ownership of the mug had been established ("willingness to accept") was approximately twice as high as the amount they were willing to pay to acquire the mug ("willingness to pay") Loss aversion implies that one who loses $100 will lose more satisfaction than another person will gain satisfaction from a $100 windfall.
  3. delay commitment until the last responsible moment, that is, the moment at which failing to make a decision eliminates an important alternative. If commitments are delayed beyond the last responsible moment, then decisions are made by default, which is generally not a good approach to making decisions. The key is to make decisions as late as you can responsibly wait because that is the point at which you have the most information on which to base the decision.
  4. Program Evaluation and Review Technique Three-point estimation technique