SlideShare a Scribd company logo
Empathy
The hidden ingredient of good
software development?
Daniel Bryant
@danielbryantuk
empathy
noun | em·pa·thy | ˈem-pə-thē
The feeling that you understand and share
another person's experiences and emotions
The ability to share someone else's
feelings and perspective
18/08/2016 @danielbryantuk
A typical software development debacle…
Me: I think we’re some missing empathy here…
Client: Is that a new JavaScript framework? Empathy.js?
Me: No, no – shared understanding...
Client: Is it a new communication style? RxEmpathy?
Me: No, I mean thinking about the needs and feelings of your
(customer|team mate|boss|internet troll)
18/08/2016 @danielbryantuk
Empathy misplaced?
18/08/2016 @danielbryantuk
We’re (typically) developing software…
…for other people
…with other people
...to create an (emotional) experience
Surely we have to understand other peoples’ experiences?
This is why empathy is important
18/08/2016 @danielbryantuk
@danielbryantuk
• Chief Scientist at OpenCredo, CTO at SpectoLabs
• Agile, architecture, CI/CD, DevOps
• Java, Go, JS, microservices, cloud, containers
• Driving change through the application of technology and teams
• London Java Community Associate
• InfoQ Editor, DZone MVB, Voxxed…
• Conference regular: Devoxx, JavaOne, QCon…
18/08/2016 @danielbryantuk
The next 40 minutes: Empathy…
• Core principles
• In the real world
• Requirements gathering
• Architecture and development
• Operations
• Leadership
18/08/2016 @danielbryantuk
Core principles
Know yourself, know others, seek rapid feedback
18/08/2016 @danielbryantuk
Core themes in the presentation
• Know yourself
• Who we are determines how we see others (emotional intelligence)
• The first person we must examine is ourselves
• Know others
• The world – with one exception – is composed of others
• We can lift people up or take people down
• Seek rapid feedback
• No one gets it right all the time
18/08/2016 @danielbryantuk
Know thyself…
18/08/2016 @danielbryantuk
Know others
18/08/2016 @danielbryantuk
The range of empathy…
18/08/2016 @danielbryantuk
Strong empathy Strong apathy
Requirements gathering
Because we’re creating software for other people
18/08/2016 @danielbryantuk
IT as conversational medium
• Post-agile
• Start with why (impact)
• Design thinking
• Empathy
• Ethnography
• Abductive thinking
• Iterative user testing
18/08/2016 @danielbryantuk
Impact mapping
18/08/2016 @danielbryantuk
www.impactmapping.org
Personas
• Represent a major user group
• Express needs and expectations
• Uncovering universal features
and functionality
• Describe real people with
backgrounds, goals, and values
18/08/2016 @danielbryantuk
Empathy mapping
18/08/2016 @danielbryantuk
Ethnography - “get out of the building”
• www.notonthehighstreet.com
• “In your shoes”
• Large UK retailer
• “Shop floor time”
• My own experiences…
18/08/2016 @danielbryantuk
Core themes - requirements
• Know yourself
• What impact am I seeking? (Start with why)
• Know others
• Seek to understand users
• Visit users in their natural habitat
• Seek rapid feedback
• Prototyping
• Build, measure, learn
18/08/2016 @danielbryantuk
Architecture and development
Because we’re building software alongside other people
18/08/2016 @danielbryantuk
Architecture
• Shared understanding
• Architects must code
• Risk management
• Technical
• Stakeholder
• ‘Just enough’ upfront design
18/08/2016 @danielbryantuk
Risk management - 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
18/08/2016 @danielbryantuk
Evaluation - Fitness functions
• Microservices as an Evolutionary Architecture
• Neal Ford and Rebecca Parsons
• Great for evaluation and documentation
• Platforms / Language
• Middleware
• Data stores
18/08/2016 @danielbryantuk
Evaluation - Raible’s comparison matrix
18/08/2016 @danielbryantuk
www.slideshare.net/mraible/comparing-jvm-web-frameworks-february-2014
Evaluation – The Spine Model
• Effective conversations make for
effective collaboration
• It's a TOOL Problem
• As a species, we have always been Tool
users and makers.
• We use _____ to get our work done
• People get stuck in a dilemma where
equally plausible options are available
• “Going up the Spine” breaks deadlock http://spinemodel.info/explanation/introduction/
Determine the need for the tool
• PRACTICES before Tools
• Decide on the Practices that the tools are there to
support
• We do _____ to create value
• PRINCIPLES before Practices
• Decide on the Principles to measure those Practices
against.
• We leverage _____ to change the system
• VALUES before Principles
• Make as explicit as possible the Values at play in the
system.
• We optimise for _____
• NEEDS before Values
• It all starts at Needs. Why does this system exist in the
first place?
• We are here to satisfy _____ http://spinemodel.info/explanation/introduction/
Coding
• All code is communication
• ”Clean Code”
• Wikis and READMEs
“Always code as if the person who ends
up maintaining your code is a violent
psychopath who knows where you live.”
-Jeff Atwood
blog.codinghorror.com/coding-for-violent-psychopaths/
18/08/2016 @danielbryantuk
Systems thinking – the user journey
• Understand the user journey
• “Shift left” QA
• Three amigos
• ”Quality Advocates”
• BDD and TDD
• Outside in
18/08/2016 @danielbryantuk
If you’re building microservices...
18/08/2016 @danielbryantuk
specto.io/blog/recipe-for-designing-building-testing-microservices.html
Core themes – architecture and dev
• Know yourself
• Check your evaluation and communcation skills
• Know others
• Understand the whole (systems/solution-focused)
• Establish the correct perspective - think outside-in
• Seek rapid feedback
• Prototype
18/08/2016 @danielbryantuk
Operations
Because everyone is responsible for the (continual) delivery of valuable software
18/08/2016 @danielbryantuk
Regulatory fit theory
18/08/2016 @danielbryantuk
Mary Poppendieck
bit.ly/1VvYi83
Share the pain...
18/08/2016 @danielbryantuk
“Developer-on-call”
An occasional spike to the head
is a good thing...
...metaphorically speaking
• You build it, you run it
• Accountability
• Shared responsibility
• Communication
18/08/2016 @danielbryantuk
DevOps - it’s not a department
• Pair with developers
• Treat operators are stakeholders
• Involve in standups
• Communication face-to-face
18/08/2016 @danielbryantuk
Outside-in (and systems) thinking
• Lineage-driven fault injection
• Semantic monitoring
• Avoiding alert fatigue
18/08/2016 @danielbryantuk
www.infoq.com/presentations/failure-test-research-netflix
Core themes - operations
• Know yourself
• Seek freedom and accountability
• Know others
• Dev-on-call / DevOps
• It’s all about perspective – think systems and outside-in
• Seek rapid feedback
• Semantic monitoring (systems)
18/08/2016 @danielbryantuk
Leadership
Because we’re always influencing (leading) other people
18/08/2016 @danielbryantuk
Communicate the tech vision
18/08/2016 @danielbryantuk
Don’t micromanage - People learn from mistakes
18/08/2016 @danielbryantuk
People with new tech be like…
…f*cking new technology
This has been me
many times!
Listen, empathise, and provide feedback
• Separate appreciation, coaching
and evaluation
• First seek to understand
• See your blind spots
• Identify the relationship system
• Cultivate a growth identity
18/08/2016 @danielbryantuk
Leadership
• Know yourself
• Big five personality traits, MBTI, meditation
• Know your vision/mission/goals
• Know others
• Engineers (including myself) can be a funny interesting bunch!
• Care about the team (their stories, journey, motivation…)
• Coaching is a valuable skills
• Seek rapid feedback
• 360 feedback
18/08/2016 @danielbryantuk
Wrapping up
Because this presentation has to finish at some point…
18/08/2016 @danielbryantuk
Empathy is like a muscle…
18/08/2016 @danielbryantuk
Empathy is like a muscle…
• Habit 1: Cultivate curiosity about strangers
• Habit 2: Challenge prejudices and discover
commonalities
• Habit 3: Try another person’s life
• Habit 4: Listen hard—and open up
• Habit 5: Inspire mass action and social change
• Habit 6: Develop an ambitious imagination
18/08/2016 @danielbryantuk
Final thoughts
• Know yourself
• Who we are determines how we see others
• The first person we must examine is ourselves
• Know others
• The world – with one exception – is composed of others
• We can lift people up or take people down
• Seek rapid feedback
• No one gets it right all the time
18/08/2016 @danielbryantuk
The rest is up to you…
Thanks to all the OpenCredo team and Tareq Abedrabbo for inspiration
@danielbryantuk
daniel.bryant@opencredo.com
www.opencredo.com
18/08/2016 @danielbryantuk

More Related Content

PDF
CTOs in London "The Challenges of Evaluating Development Technology Within th...
PDF
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
PDF
MicroManchester 2016 "A Brief Guide to Microservices"
PDF
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
PDF
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...
PDF
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
PDF
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
PDF
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"
CTOs in London "The Challenges of Evaluating Development Technology Within th...
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
MicroManchester 2016 "A Brief Guide to Microservices"
Microservice Summit 2016 "Microservices: The Organisational and People Impact"
MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture ...
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
vJUG24 2016 "Seven (More) Deadly Sins of Microservice"

What's hot (12)

PPTX
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
PDF
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
PDF
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
PDF
muCon 2016: "Seven (More) Deadly Sins of Microservices"
PDF
ZTLive 2016 "Introduction to Microservices"
PDF
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
PDF
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
PPTX
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
PDF
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
PDF
Haufe #msaday: "Building a Microservice Ecosystem"
PPTX
Fringe IA (InfoCamp Seattle 2013)
PPTX
Fringe IA: Understanding complex organizational, data, & technical issues
TTN 2015 "Defining DevOps: Concepts, Technology and Automation. Oh yeah, and ...
muCon 2015 "The Business Behind Microservices: Organisational, Architectural,...
ACCU16 "Let's Not Repeat the Mistakes of SOA: 'Micro' Services, Macro Organis...
muCon 2016: "Seven (More) Deadly Sins of Microservices"
ZTLive 2016 "Introduction to Microservices"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
OOP2016 "The Business Behind Microservices: Organisational, Architectural and...
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
ContainerSched 2015 "Our journey to world (gifting) domination - how notonthe...
Haufe #msaday: "Building a Microservice Ecosystem"
Fringe IA (InfoCamp Seattle 2013)
Fringe IA: Understanding complex organizational, data, & technical issues
Ad

Viewers also liked (10)

PDF
CraftConf [Preview] "Empathy - The Hidden Ingredient of Good Software Develop...
PPTX
JavaOne 2016 "Java, Microservices, Cloud and Containers"
PDF
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
PPTX
Devternity 2016 "Thinking Fast and Slow with Software Development"
PDF
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
PDF
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
PDF
microXchg 2017: "Microservices: The People and Organisational Impact"
PPTX
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
PDF
Why You Should Care About ALS @slidecomet @itseugenec
PDF
How to Make Awesome SlideShares: Tips & Tricks
CraftConf [Preview] "Empathy - The Hidden Ingredient of Good Software Develop...
JavaOne 2016 "Java, Microservices, Cloud and Containers"
SwisscomSoftwareDay 2016 "The Trials and Tribulations of Making Software Small"
Devternity 2016 "Thinking Fast and Slow with Software Development"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"
microXchg 2017: "Microservices: The People and Organisational Impact"
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
Why You Should Care About ALS @slidecomet @itseugenec
How to Make Awesome SlideShares: Tips & Tricks
Ad

Similar to The London Web "Empathy - The Hidden Ingredient of Good Software Development" (20)

PPTX
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
PPTX
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
PPTX
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
PPTX
J1 2015 "Thinking Fast and Slow with Software Development"
PPTX
LJC 2014 "Professional Software Development: Thinking Fast and Slow"
PDF
Bootstrapping a-devops-matter
PPTX
SC 2015: Thinking Fast and Slow with Software Development
PPTX
Devops, Epathy, Innovation and other sappy stuff from the trenches of web ope...
PDF
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
PDF
Cultural Challenges of Digitization - or: "OMG, the nerds are coming!"
PDF
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
PDF
Pair Programming, TDD and other impractical things
PDF
IBM Design Thinking_fin
PDF
Empathy from Agility
PPTX
Jfokus 2015 "Thinking Fast and Slow with Software Development"
PDF
Developers Developers Developers
PPTX
Collaborative software development
KEY
Thezenofscrum1 090221154550-phpapp01
PPTX
Thinking fast and slow with software development - Daniel Bryant
PDF
How to build your own greenfield?
JAX London 2016: "Empathy - The hidden ingredient of good software development?"
CraftConf16 "Empathy: The Hidden Ingredient of Good Software Development?"
GOTO CPH "With Age Comes Wisdom (Hopefully): Lessons Learned from 15 Years of...
J1 2015 "Thinking Fast and Slow with Software Development"
LJC 2014 "Professional Software Development: Thinking Fast and Slow"
Bootstrapping a-devops-matter
SC 2015: Thinking Fast and Slow with Software Development
Devops, Epathy, Innovation and other sappy stuff from the trenches of web ope...
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
Cultural Challenges of Digitization - or: "OMG, the nerds are coming!"
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Pair Programming, TDD and other impractical things
IBM Design Thinking_fin
Empathy from Agility
Jfokus 2015 "Thinking Fast and Slow with Software Development"
Developers Developers Developers
Collaborative software development
Thezenofscrum1 090221154550-phpapp01
Thinking fast and slow with software development - Daniel Bryant
How to build your own greenfield?

More from Daniel Bryant (20)

PDF
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
PDF
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
PDF
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PDF
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
PPTX
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
PDF
Fall 22: "From Kubernetes to PaaS to... err, what's next"
PDF
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
PDF
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
PDF
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
PDF
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
PDF
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
PDF
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
PDF
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
PDF
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
PDF
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
PDF
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
PDF
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
PDF
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
PDF
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
PPTX
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
Understanding_Digital_Forensics_Presentation.pptx
Modernizing your data center with Dell and AMD
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx

The London Web "Empathy - The Hidden Ingredient of Good Software Development"

  • 1. Empathy The hidden ingredient of good software development? Daniel Bryant @danielbryantuk
  • 2. empathy noun | em·pa·thy | ˈem-pə-thē The feeling that you understand and share another person's experiences and emotions The ability to share someone else's feelings and perspective 18/08/2016 @danielbryantuk
  • 3. A typical software development debacle… Me: I think we’re some missing empathy here… Client: Is that a new JavaScript framework? Empathy.js? Me: No, no – shared understanding... Client: Is it a new communication style? RxEmpathy? Me: No, I mean thinking about the needs and feelings of your (customer|team mate|boss|internet troll) 18/08/2016 @danielbryantuk
  • 5. We’re (typically) developing software… …for other people …with other people ...to create an (emotional) experience Surely we have to understand other peoples’ experiences? This is why empathy is important 18/08/2016 @danielbryantuk
  • 6. @danielbryantuk • Chief Scientist at OpenCredo, CTO at SpectoLabs • Agile, architecture, CI/CD, DevOps • Java, Go, JS, microservices, cloud, containers • Driving change through the application of technology and teams • London Java Community Associate • InfoQ Editor, DZone MVB, Voxxed… • Conference regular: Devoxx, JavaOne, QCon… 18/08/2016 @danielbryantuk
  • 7. The next 40 minutes: Empathy… • Core principles • In the real world • Requirements gathering • Architecture and development • Operations • Leadership 18/08/2016 @danielbryantuk
  • 8. Core principles Know yourself, know others, seek rapid feedback 18/08/2016 @danielbryantuk
  • 9. Core themes in the presentation • Know yourself • Who we are determines how we see others (emotional intelligence) • The first person we must examine is ourselves • Know others • The world – with one exception – is composed of others • We can lift people up or take people down • Seek rapid feedback • No one gets it right all the time 18/08/2016 @danielbryantuk
  • 12. The range of empathy… 18/08/2016 @danielbryantuk Strong empathy Strong apathy
  • 13. Requirements gathering Because we’re creating software for other people 18/08/2016 @danielbryantuk
  • 14. IT as conversational medium • Post-agile • Start with why (impact) • Design thinking • Empathy • Ethnography • Abductive thinking • Iterative user testing 18/08/2016 @danielbryantuk
  • 16. Personas • Represent a major user group • Express needs and expectations • Uncovering universal features and functionality • Describe real people with backgrounds, goals, and values 18/08/2016 @danielbryantuk
  • 18. Ethnography - “get out of the building” • www.notonthehighstreet.com • “In your shoes” • Large UK retailer • “Shop floor time” • My own experiences… 18/08/2016 @danielbryantuk
  • 19. Core themes - requirements • Know yourself • What impact am I seeking? (Start with why) • Know others • Seek to understand users • Visit users in their natural habitat • Seek rapid feedback • Prototyping • Build, measure, learn 18/08/2016 @danielbryantuk
  • 20. Architecture and development Because we’re building software alongside other people 18/08/2016 @danielbryantuk
  • 21. Architecture • Shared understanding • Architects must code • Risk management • Technical • Stakeholder • ‘Just enough’ upfront design 18/08/2016 @danielbryantuk
  • 22. Risk management - 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 18/08/2016 @danielbryantuk
  • 23. Evaluation - Fitness functions • Microservices as an Evolutionary Architecture • Neal Ford and Rebecca Parsons • Great for evaluation and documentation • Platforms / Language • Middleware • Data stores 18/08/2016 @danielbryantuk
  • 24. Evaluation - Raible’s comparison matrix 18/08/2016 @danielbryantuk www.slideshare.net/mraible/comparing-jvm-web-frameworks-february-2014
  • 25. Evaluation – The Spine Model • Effective conversations make for effective collaboration • It's a TOOL Problem • As a species, we have always been Tool users and makers. • We use _____ to get our work done • People get stuck in a dilemma where equally plausible options are available • “Going up the Spine” breaks deadlock http://spinemodel.info/explanation/introduction/
  • 26. Determine the need for the tool • PRACTICES before Tools • Decide on the Practices that the tools are there to support • We do _____ to create value • PRINCIPLES before Practices • Decide on the Principles to measure those Practices against. • We leverage _____ to change the system • VALUES before Principles • Make as explicit as possible the Values at play in the system. • We optimise for _____ • NEEDS before Values • It all starts at Needs. Why does this system exist in the first place? • We are here to satisfy _____ http://spinemodel.info/explanation/introduction/
  • 27. Coding • All code is communication • ”Clean Code” • Wikis and READMEs “Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.” -Jeff Atwood blog.codinghorror.com/coding-for-violent-psychopaths/ 18/08/2016 @danielbryantuk
  • 28. Systems thinking – the user journey • Understand the user journey • “Shift left” QA • Three amigos • ”Quality Advocates” • BDD and TDD • Outside in 18/08/2016 @danielbryantuk
  • 29. If you’re building microservices... 18/08/2016 @danielbryantuk specto.io/blog/recipe-for-designing-building-testing-microservices.html
  • 30. Core themes – architecture and dev • Know yourself • Check your evaluation and communcation skills • Know others • Understand the whole (systems/solution-focused) • Establish the correct perspective - think outside-in • Seek rapid feedback • Prototype 18/08/2016 @danielbryantuk
  • 31. Operations Because everyone is responsible for the (continual) delivery of valuable software 18/08/2016 @danielbryantuk
  • 32. Regulatory fit theory 18/08/2016 @danielbryantuk Mary Poppendieck bit.ly/1VvYi83
  • 33. Share the pain... 18/08/2016 @danielbryantuk
  • 34. “Developer-on-call” An occasional spike to the head is a good thing... ...metaphorically speaking • You build it, you run it • Accountability • Shared responsibility • Communication 18/08/2016 @danielbryantuk
  • 35. DevOps - it’s not a department • Pair with developers • Treat operators are stakeholders • Involve in standups • Communication face-to-face 18/08/2016 @danielbryantuk
  • 36. Outside-in (and systems) thinking • Lineage-driven fault injection • Semantic monitoring • Avoiding alert fatigue 18/08/2016 @danielbryantuk www.infoq.com/presentations/failure-test-research-netflix
  • 37. Core themes - operations • Know yourself • Seek freedom and accountability • Know others • Dev-on-call / DevOps • It’s all about perspective – think systems and outside-in • Seek rapid feedback • Semantic monitoring (systems) 18/08/2016 @danielbryantuk
  • 38. Leadership Because we’re always influencing (leading) other people 18/08/2016 @danielbryantuk
  • 39. Communicate the tech vision 18/08/2016 @danielbryantuk
  • 40. Don’t micromanage - People learn from mistakes 18/08/2016 @danielbryantuk People with new tech be like… …f*cking new technology This has been me many times!
  • 41. Listen, empathise, and provide feedback • Separate appreciation, coaching and evaluation • First seek to understand • See your blind spots • Identify the relationship system • Cultivate a growth identity 18/08/2016 @danielbryantuk
  • 42. Leadership • Know yourself • Big five personality traits, MBTI, meditation • Know your vision/mission/goals • Know others • Engineers (including myself) can be a funny interesting bunch! • Care about the team (their stories, journey, motivation…) • Coaching is a valuable skills • Seek rapid feedback • 360 feedback 18/08/2016 @danielbryantuk
  • 43. Wrapping up Because this presentation has to finish at some point… 18/08/2016 @danielbryantuk
  • 44. Empathy is like a muscle… 18/08/2016 @danielbryantuk
  • 45. Empathy is like a muscle… • Habit 1: Cultivate curiosity about strangers • Habit 2: Challenge prejudices and discover commonalities • Habit 3: Try another person’s life • Habit 4: Listen hard—and open up • Habit 5: Inspire mass action and social change • Habit 6: Develop an ambitious imagination 18/08/2016 @danielbryantuk
  • 46. Final thoughts • Know yourself • Who we are determines how we see others • The first person we must examine is ourselves • Know others • The world – with one exception – is composed of others • We can lift people up or take people down • Seek rapid feedback • No one gets it right all the time 18/08/2016 @danielbryantuk
  • 47. The rest is up to you… Thanks to all the OpenCredo team and Tareq Abedrabbo for inspiration @danielbryantuk daniel.bryant@opencredo.com www.opencredo.com 18/08/2016 @danielbryantuk

Editor's Notes

  • #15: goes from an observation to a theory which accounts for the observation, ideally seeking to find the simplest and most likely explanation