Cognitive Empathy and Emotional Empathy in Human Behavior and ...
CraftConf [Preview] "Empathy - The Hidden Ingredient of Good Software Development"
-
Upload
daniel-bryant -
Category
Technology
-
view
640 -
download
1
Transcript of CraftConf [Preview] "Empathy - The Hidden Ingredient of Good Software Development"
EmpathyThemissingingredienttoeffectivesoftwaredevelopment?
DanielBryant@danielbryantuk
empathynoun|em·pa·thy |\ˈem-pə-thē\
Thefeelingthatyouunderstandandshareanotherperson'sexperiencesandemotions
Theabilitytosharesomeoneelse'sfeelings
25/04/2016 @danielbryantuk
Atypicalsoftwaredevelopmentdebacle…
Me: Ithinkwe’resomemissingempathyhere…Dev: IsthataJavaScriptframework?Empathy.js?
Me: No,no– sharedunderstanding...Dev: Isitanewcommunicationstyle?RxEmpathy?
Me: No,Imeanthinkingabouttheneedsandfeelingsofyour(customer|teammate|boss|internettroll)
Dev: ...
25/04/2016 @danielbryantuk
Empathymisplaced?
25/04/2016 @danielbryantuk
We’re(typically)developingsoftware…
…forotherpeople…withotherpeople...tocreatean(emotional)experience
Surelywehavetounderstandexperiences(andemotions)?
Thisiswhyempathyisimportant
25/04/2016 @danielbryantuk
@danielbryantuk
• ChiefScientistatOpenCredo• Agile,Architecture,CI/CD,DevOps
• Microservices,cloud,containers
• Drivingchangethroughtheapplicationoftechnologyandteams
• LondonJavaCommunityAssociate• InfoQ Editor,DZoneMVB,Voxxed…• Conferenceregular:Devoxx,JavaOne,QCon…
25/04/2016 @danielbryantuk
Thenext30minutes
• Coreprinciples
• Empathyintherealworld• Requirementsgathering• Architectureanddevelopment• Operations
• Leadership
25/04/2016 @danielbryantuk
CoreprinciplesKnowyourself,knowothers,seekrapidfeedback
25/04/2016 @danielbryantuk
Corethemesinthepresentation
• Knowyourself• Whowearedetermineshowweseeothers(emotionalintelligence)• Thefirstpersonwemustexamineisourselves
• Knowothers• Theworld– withoneexception– iscomposedofothers• Wecanliftpeopleuportakepeopledown
• Seekrapidfeedback• Noonegetsitrightallthetime
25/04/2016 @danielbryantuk
Knowthyself…
25/04/2016 @danielbryantuk
Knowothers
25/04/2016 @danielbryantuk
Therangeofempathy…
25/04/2016 @danielbryantuk
Strongempathy Strongapathy
RequirementsgatheringBecausewe’recreatingsoftwareforotherpeople
25/04/2016 @danielbryantuk
ITasconversationalmedium
• Agile
• Startwithwhy(impact)
• Designthinking• Empathy• Ethnography• Abductivethinking• Iterativeusertesting
25/04/2016 @danielbryantuk
Impactmapping
25/04/2016 @danielbryantuk
www.impactmapping.org
Personas
• Representamajorusergroup
• Expressneedsandexpectations
• Uncoveringuniversalfeaturesandfunctionality
• Describerealpeoplewithbackgrounds,goals,andvalues
25/04/2016 @danielbryantuk
Empathymapping
25/04/2016 @danielbryantuk
Ethnography- “Getoutofthebuilding”
• www.notonthehighstreet.com• “Inyourshoes”
• LargeUKretailer• “Shopfloortime”
• Myownexperiences…
25/04/2016 @danielbryantuk
Corethemes- requirements
• Knowyourself• Identifyyourbias(asmuchaspossible)• WhatimpactamIseeking(startwithwhy)?
• Knowothers• Seektounderstandusers• Visitusersintheirnaturalhabitat
• Seekrapidfeedback• Prototyping• Build,measure,learn
25/04/2016 @danielbryantuk
ArchitectureanddevelopmentBecausewe’rebuildingsoftwarealongsideotherpeople
25/04/2016 @danielbryantuk
Architecture
• Sharedunderstanding• Architectsmustcode
• Riskmanagement• Technical• Stakeholder
• ‘Justenough’upfrontdesign
25/04/2016 @danielbryantuk
Riskmanagement- evaluation
“Iwillpostponeusingthisshinynewframeworkuntilmypeershavevalidatedtheproposedbenefitswithrigorousscientificexperiments”
- Saidbynoprogrammer…ever
25/04/2016 @danielbryantuk
Raible’s comparisonmatrix
25/04/2016 @danielbryantuk
www.slideshare.net/mraible/comparing-jvm-web-frameworks-february-2014
Coding
• Allcodeiscommunication
• ”CleanCode”
• WikisandREADMEs
“Alwayscodeasifthepersonwhoendsupmaintainingyourcodeisaviolentpsychopathwhoknowswhereyoulive.”
-JeffAtwoodblog.codinghorror.com/coding-for-violent-psychopaths/
25/04/2016 @danielbryantuk
Systemsthinking– theuserjourney
• Understandtheuserjourney
• “Shiftleft”QA• Threeamigos• ”QualityAdvocates”
• BDDandTDD• Outsidein
25/04/2016 @danielbryantuk
Corethemes– architectureanddev
• Knowyourself• Checkyourcommunicationskills
• Knowothers• Solution-focused• Thinkoutside-in
• Seekrapidfeedback• Prototype
25/04/2016 @danielbryantuk
OperationsBecauseeveryoneisresponsibleforthe(continual)deliveryofvaluablesoftware
25/04/2016 @danielbryantuk
Regulatoryfittheory
25/04/2016 @danielbryantuk
MaryPoppendieckbit.ly/1VvYi83
Sharethepain...
25/04/2016 @danielbryantuk
“Developer-on-call”
Anoccasionalspiketotheheadisagoodthing...
...metaphoricallyspeaking
• Youbuildit,yourunit• Accountability• Sharedresponsibility• Communication
25/04/2016 @danielbryantuk
DevOps- it’snotadepartment
• Pairwithdevelopers
• Treatoperatorsarestakeholders
• Involveinstandups• Communicationface-to-face
25/04/2016 @danielbryantuk
Outside-in(andsystems)thinking
• Lineage-drivenfaultinjection
• Semanticmonitoring• Avoidingalertfatigue
25/04/2016 @danielbryantuk
www.infoq.com/presentations/failure-test-research-netflix
Corethemes- operations
• Knowyourself• Seekfreedomandaccountability
• Knowothers• Dev-on-call/DevOps• Thinkoutside-in
• Seekrapidfeedback• Semanticmonitoring(systems)
25/04/2016 @danielbryantuk
LeadershipBecausewe’realwaysinfluencing(leading)otherpeople
25/04/2016 @danielbryantuk
Leadership
• Knowyourself• Bigfivepersonalitytraits,MBTI,meditation
• Knowothers• Engineers(includingmyself)canbeafunny interestingbunch!• Careabouttheteam(theirstories,journey,motivation…)• Coachingisavaluableskills
• Seekrapidfeedback• 360feedback
25/04/2016 @danielbryantuk
WrappingupBecausethispresentationhastofinishatsomepoint…
25/04/2016 @danielbryantuk
Empathyislikeamuscle…
25/04/2016 @danielbryantuk
Finalthoughts
• Knowyourself• Whowearedetermineshowweseeothers• Thefirstpersonwemustexamineisourselves
• Knowothers• Theworld– withoneexception– iscomposedofothers• Wecanliftpeopleuportakepeopledown
• Seekrapidfeedback• Noonegetsitrightallthetime
25/04/2016 @danielbryantuk
Therestisuptoyou…
Thanks toalltheOpenCredo teamandTareq Abedrabbo forinspiration
@danielbryantuk
25/04/2016 @danielbryantuk