the london web "empathy - the hidden ingredient of good software development"
TRANSCRIPT
![Page 1: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/1.jpg)
EmpathyThe hidden ingredient of good software development?
Daniel Bryant@danielbryantuk
![Page 2: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/2.jpg)
02/05/2023 @danielbryantuk
empathynoun | 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'sfeelings and perspective
![Page 3: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/3.jpg)
02/05/2023 @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)
![Page 4: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/4.jpg)
02/05/2023 @danielbryantuk
Empathy misplaced?
![Page 5: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/5.jpg)
02/05/2023 @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
![Page 6: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/6.jpg)
02/05/2023 @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…
![Page 7: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/7.jpg)
02/05/2023 @danielbryantuk
The next 40 minutes: Empathy…• Core principles
• In the real world• Requirements gathering• Architecture and development• Operations
• Leadership
![Page 8: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/8.jpg)
02/05/2023 @danielbryantuk
Core principlesKnow yourself, know others, seek rapid feedback
![Page 9: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/9.jpg)
02/05/2023 @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
![Page 10: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/10.jpg)
02/05/2023 @danielbryantuk
Know thyself…
![Page 11: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/11.jpg)
02/05/2023 @danielbryantuk
Know others
![Page 12: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/12.jpg)
02/05/2023
The range of empathy…
@danielbryantuk
Strong empathy Strong apathy
![Page 13: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/13.jpg)
02/05/2023 @danielbryantuk
Requirements gatheringBecause we’re creating software for other people
![Page 14: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/14.jpg)
02/05/2023 @danielbryantuk
IT as conversational medium• Post-agile
• Start with why (impact)
• Design thinking• Empathy• Ethnography• Abductive thinking• Iterative user testing
![Page 16: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/16.jpg)
02/05/2023 @danielbryantuk
Personas• Represent a major user group
• Express needs and expectations
• Uncovering universal features and functionality
• Describe real people with backgrounds, goals, and values
![Page 17: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/17.jpg)
02/05/2023 @danielbryantuk
Empathy mapping
![Page 18: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/18.jpg)
02/05/2023 @danielbryantuk
Ethnography - “get out of the building”
• www.notonthehighstreet.com• “In your shoes”
• Large UK retailer• “Shop floor time”
• My own experiences…
![Page 19: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/19.jpg)
02/05/2023 @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
![Page 20: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/20.jpg)
02/05/2023 @danielbryantuk
Architecture and developmentBecause we’re building software alongside other people
![Page 21: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/21.jpg)
02/05/2023 @danielbryantuk
Architecture• Shared understanding• Architects must code
• Risk management• Technical • Stakeholder
• ‘Just enough’ upfront design
![Page 22: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/22.jpg)
02/05/2023 @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
![Page 23: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/23.jpg)
02/05/2023 @danielbryantuk
Evaluation - Fitness functions
• Microservices as an Evolutionary Architecture• Neal Ford and Rebecca Parsons
• Great for evaluation and documentation• Platforms / Language• Middleware• Data stores
![Page 24: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/24.jpg)
02/05/2023
Evaluation - Raible’s comparison matrix
@danielbryantuk
www.slideshare.net/mraible/comparing-jvm-web-frameworks-february-2014
![Page 25: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/25.jpg)
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/
![Page 26: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/26.jpg)
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/
![Page 27: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/27.jpg)
02/05/2023 @danielbryantuk
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 Atwoodblog.codinghorror.com/coding-for-violent-psychopaths/
![Page 28: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/28.jpg)
02/05/2023 @danielbryantuk
Systems thinking – the user journey• Understand the user journey
• “Shift left” QA• Three amigos• ”Quality Advocates”
• BDD and TDD• Outside in
![Page 29: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/29.jpg)
02/05/2023 @danielbryantuk
If you’re building microservices...
specto.io/blog/recipe-for-designing-building-testing-microservices.html
![Page 30: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/30.jpg)
02/05/2023 @danielbryantuk
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
![Page 31: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/31.jpg)
02/05/2023 @danielbryantuk
OperationsBecause everyone is responsible for the (continual) delivery of valuable software
![Page 32: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/32.jpg)
02/05/2023 @danielbryantuk
Regulatory fit theory
Mary Poppendieckbit.ly/1VvYi83
![Page 33: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/33.jpg)
02/05/2023 @danielbryantuk
Share the pain...
![Page 34: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/34.jpg)
02/05/2023 @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
![Page 35: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/35.jpg)
02/05/2023 @danielbryantuk
DevOps - it’s not a department
• Pair with developers
• Treat operators are stakeholders
• Involve in standups• Communication face-to-face
![Page 36: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/36.jpg)
02/05/2023 @danielbryantuk
Outside-in (and systems) thinking
• Lineage-driven fault injection
• Semantic monitoring • Avoiding alert fatigue
www.infoq.com/presentations/failure-test-research-netflix
![Page 37: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/37.jpg)
02/05/2023 @danielbryantuk
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)
![Page 38: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/38.jpg)
02/05/2023 @danielbryantuk
LeadershipBecause we’re always influencing (leading) other people
![Page 39: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/39.jpg)
02/05/2023 @danielbryantuk
Communicate the tech vision
![Page 40: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/40.jpg)
02/05/2023
Don’t micromanage - People learn from mistakes
@danielbryantuk
People with new tech be like…
…f*cking new technology
This has been me many times!
![Page 41: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/41.jpg)
02/05/2023 @danielbryantuk
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
![Page 42: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/42.jpg)
02/05/2023 @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
![Page 43: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/43.jpg)
02/05/2023 @danielbryantuk
Wrapping upBecause this presentation has to finish at some point…
![Page 44: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/44.jpg)
02/05/2023 @danielbryantuk
Empathy is like a muscle…
![Page 45: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/45.jpg)
02/05/2023 @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
![Page 46: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/46.jpg)
02/05/2023 @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
![Page 47: The London Web "Empathy - The Hidden Ingredient of Good Software Development"](https://reader034.vdocuments.net/reader034/viewer/2022051706/58efd7461a28abaa288b4681/html5/thumbnails/47.jpg)
02/05/2023 @danielbryantuk
The rest is up to you…
Thanks to all the OpenCredo team and Tareq Abedrabbo for inspiration
@danielbryantuk