SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
A g i l e To u r B a n g k o k
PAIRING
Or how to have fun while kicking ass at
software development
Today we’re going to talk
about Pairing. pairing is the
practice of two people
working on the same problem
at the same time on the same
computer.

Specifically we are going to
focus on some of the
difficulties people usually
have with pairing and how to
overcome them, in order to
get the most out of this
practice.

Just a quick check before we
start - how many people in
this room have paired before?
how many pair regularly?
HAPPY DEVS WRITE BETTER CODE
Pairing is *usually* described by devs as a practice that makes them happier with their work.
2
WHY PAIR?
Some of the benefits of pairing include…
• Great way to up-skill new team members
• Less mistakes, less bugs!
• Focus on building the right thing
• Sharing the ownership of the code
• Push each other to write better code
• Less wasted time
• Less rabbit-holes
• Intent based development
• Fun
3
HOW TO PAIR?
The rules…
• Two people, one shared “destination”, one computer.
• Driver - Navigator
• Swap roles regularly
• Rotate pairs often for maximum knowledge transfer.
• The pairing station!
4
Set up a large monitor (or even two) -
this is to make sure no one is
uncomfortable squinting or straining
their neck.

Both driver and navigator should have
access to the mouse and keyboard

Enough space to make you both
comfortable

Sometimes it’s best to let the less
experienced person drive more, until
they get comfortable with the code
base.

Learning to navigate is a skill in itself
that requires confidence and
familiarity with the code, the domain
and good practices. Make sure you
teach and learn that skill.

This will help everyone in the team to
understand all different parts of the
code and own it together

Eliminate “human bottlenecks”

Learn how everyone else works

See the bigger picture

Share the good practices - constantly
drive each other to get better
WHAT I THOUGHT PAIRING WOULD
LOOK LIKE…
WHAT IT REALLY LOOKED LIKE…
7
…
SO WHAT WENT WRONG?
Pairing can be stressful and unproductive when good pairing practices are not followed.

If you’re feeling pairing creates frustration, distraction, or wastes your time, you are not alone.

In the past couple of years I have heard people tell me they hated pairing, that working alone is the
WHEN MAKINGAMISTAKE…
Never put your pair down, or make fun of them, for making a mistake.
8
Never, ever ever put someone
down for making a mistake.
Don’t react with anger or
mock them.

This can easily happen if you
pair with someone less
experienced, or just new to
the team.

Remember that pairing is
about sharing knowledge and
improving the overall
capabilities of your team. 

Also keep your mind open,
you might learn something
even from someone new and
inexperienced.
GETTINGANNOYED…
Being so close and personal with another person can be quite stressful.
9
We all know this one. You’ve
been working with the same
person for a little too long.
You have different ways of
doing things. The small things
start getting on your nerves
and you notice you are slowly
acting more snappy towards
each other…

Any team that wants to
continue pairing successfully
for longer than a few days,
needs to have a discussion, a
“negotiation of terms” if you
want to call it that. Find out
how each team member
would like to be treated 

(for example, some people
may take longer to think and
do not like to be rushed. other
people may want their pair to
switch their phone to silent as
the noise distracts them….)

Above all, always remember
to respect your pair
TIME PRESSURE…
Don’t let it change the way you work or talk with your pair.
10
When you have been trying to
push something through for a
few days… you’re starting to
feel unproductive, you really
want to just “get things
done”. You might
(accidentally or not) start
shutting your pair out.

You might..

say: “I’m just going to work
on my own for a little while, I
really want to get this done…”

do: start “driving” without
taking the time to explain your
actions, ignore the
“navigator’s” comments or
dismiss them.

Why is that bad?

This will create even more
pressure in the long run. First,
your code won’t be as clean
as it would be if you were still
pairing. It may take longer but
that’s usually because the
end product is better. You will
also become the only person
THE SILENCE
Sometimes you just need time to think. When pairing, try to think together.
11
Some people take longer to
think things through in their
heads.

Other people get so focused
in solution mode that they
find it hard to also maintain
verbal narration.

Sometimes it’s just a matter
of “Let me just finish writing
this thing and then I’ll explain
it to you…”

Either way, the point is - your
pair cannot read your mind
(unfortunately), and your pair
is your partner in decision
making.
DO ITALLYOURSELF..
Don’t ignore your navigator, share the responsibility and learn to delegate.
12
This comes from having an attitude of “I know
how to do this myself and don’t need you to
tell me how to do it”. We are all guilty of this
from time to time.

Remember that the “Navigator” role needs to
be learned, and if you disagree with something
the navigator suggests, explain why and talk it
through.
LET THEM DO ITALL..
Even if you believe your pair is fully capable of doing everything themselves…
13
Try to discuss how to handle distractions.
Don’t spend too much time on your phone or
talking to other people and abandon your pair.
HOW COULD WE DO BETTER?
A few suggestions to make everyone happier while pairing.
14
So we sat together for a retro
and discussed how each person
wanted to be treated while
pairing. 

Each person is different, but a
few things never change..
SAFETY
If you can make people feel safe, you can talk to almost anyone about almost anything.
15
Everything must start with
safety.

When someone feels unsafe,
they will be scared to make a
mistake for fear of being
ridiculed or humiliated.

If you sense that safety is at
risk, diagnose the cause. The
two conditions of safety are
Mutual Purpose and Mutual
Respect. Commit to search
for a goal that will benefit
both parties. This soothes
fears and rebuilds safety. If
necessary, collaborate with
the other person to invent a
mutual purpose. Don't settle
for a compromise. Move to
different (often more creative)
or higher and more
encompassing goals.

If you create a safe working
environment when anyone
can say what’s on their
minds, you will be able to get
valuable input and maximise
the team’s performance.
RESPECT
Mutual respect will minimise conflicts and help you learn from each other.
16
One of the things that people
value the most when working
with others is the feeling that
they are respected.

Respect means that you let
your pair contribute their
opinion before you make up
your mind. Never put them
down for saying something
you do not agree with. Listen
with an open mind. 

Respect their personal space
and basic human needs.
FEEDBACK
How do you resolve issues without compromising a relationship?
17
Giving and receiving feedback is super
important for successful pairing (and working in
teams in general, too!)

But how do you give valuable feedback without
hurting someone’s feelings?

Some tips for giving feedback:

- state facts, followed by how you feel. For
example: “Yesterday you started playing on
your phone while we were pairing. I felt lost
and confused.”

- Use tentative words and never any offensive
language. Try to only use facts and not
exaggerate.

- Ask for the other person’s side of the story.

- IF ASKED TO - Suggest some ways in which
you think you can solve issues (offer help but
don’t force it)

Some tips for receiving feedback:

- Don’t get defensive or angry. People give you
feedback because they still care enough to do
so. It’s hard to give feedback.

- Listen until the person finishes talking before
responding. Take a few seconds to “process”
what they said and compose your response.

- Ask how you can solve the problem.
SELFAWARENESS
Try to answer this question about yourself: “what am I like when I’m stressed?”
18
What is your “Style under stress”?

Different people react to stress differently.

Some people talk too much, others will be
silent, some will yell and others will be passive
aggressive. 

Find out about yourself and your team members
how you tend to react under stress, and make a
concentrated effort to control your emotions.
HAVE FUN
Celebrate success, balance hard work with team activities, take things lightly and have fun!
19
Working so intensely can be quite draining in
the long run, so remember to balance all the
hard work with some fun group activities.
For questions or suggestions:
ronigreenwood@thoughtworks.com
QUESTIONS?

Contenu connexe

Tendances

Google forms and Quizlet - CETPA Update
Google forms and Quizlet - CETPA UpdateGoogle forms and Quizlet - CETPA Update
Google forms and Quizlet - CETPA UpdateJon Corippo
 
10 Ways To Manage Your Project Manager
10 Ways To Manage Your Project Manager10 Ways To Manage Your Project Manager
10 Ways To Manage Your Project Managercopperkup
 
Agent of Change
Agent of ChangeAgent of Change
Agent of Changemfrost503
 
10 Ways to Manage your Project Manager
10 Ways to Manage your Project Manager10 Ways to Manage your Project Manager
10 Ways to Manage your Project ManagerMichael Stratton
 
The Path of Pain: Mastering Game Design in 20 steps - takeaway
The Path of Pain: Mastering Game Design in 20 steps - takeawayThe Path of Pain: Mastering Game Design in 20 steps - takeaway
The Path of Pain: Mastering Game Design in 20 steps - takeawayKacper Szymczak
 
How To Overcome Fear Of Failure In 3 Easy Steps
How To Overcome Fear Of Failure In 3 Easy StepsHow To Overcome Fear Of Failure In 3 Easy Steps
How To Overcome Fear Of Failure In 3 Easy StepsMichael Lee
 
Agile Retrospectives
Agile Retrospectives Agile Retrospectives
Agile Retrospectives Yves Hanoulle
 
Managing while staying technical
Managing while staying technicalManaging while staying technical
Managing while staying technicalKalpesh Patel
 
It's Not Your Fault - Blameless Post-mortems
It's Not Your Fault - Blameless Post-mortemsIt's Not Your Fault - Blameless Post-mortems
It's Not Your Fault - Blameless Post-mortemsJason Hand
 
Agile creativity games
Agile creativity games Agile creativity games
Agile creativity games Mariya Breyter
 
Agile Games - Playful approaches to agile principles
Agile Games - Playful approaches to agile principlesAgile Games - Playful approaches to agile principles
Agile Games - Playful approaches to agile principlesRobert Misch
 
On Onboarding
On OnboardingOn Onboarding
On Onboardingjoshelman
 
Fox IBSC Action Research Presentation
Fox IBSC Action Research PresentationFox IBSC Action Research Presentation
Fox IBSC Action Research Presentationcfox59
 
Time Management Powerpoint
Time Management PowerpointTime Management Powerpoint
Time Management Powerpointpr4s80122
 
Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...
Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...
Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...AnnArborSPARK
 

Tendances (20)

Google forms and Quizlet - CETPA Update
Google forms and Quizlet - CETPA UpdateGoogle forms and Quizlet - CETPA Update
Google forms and Quizlet - CETPA Update
 
10 Ways To Manage Your Project Manager
10 Ways To Manage Your Project Manager10 Ways To Manage Your Project Manager
10 Ways To Manage Your Project Manager
 
Agent of Change
Agent of ChangeAgent of Change
Agent of Change
 
10 Ways to Manage your Project Manager
10 Ways to Manage your Project Manager10 Ways to Manage your Project Manager
10 Ways to Manage your Project Manager
 
The Path of Pain: Mastering Game Design in 20 steps - takeaway
The Path of Pain: Mastering Game Design in 20 steps - takeawayThe Path of Pain: Mastering Game Design in 20 steps - takeaway
The Path of Pain: Mastering Game Design in 20 steps - takeaway
 
How To Overcome Fear Of Failure In 3 Easy Steps
How To Overcome Fear Of Failure In 3 Easy StepsHow To Overcome Fear Of Failure In 3 Easy Steps
How To Overcome Fear Of Failure In 3 Easy Steps
 
Agile Retrospectives
Agile Retrospectives Agile Retrospectives
Agile Retrospectives
 
Agile adoption
Agile adoptionAgile adoption
Agile adoption
 
90 minutes of fun filled learning
90 minutes of fun filled learning90 minutes of fun filled learning
90 minutes of fun filled learning
 
Managing while staying technical
Managing while staying technicalManaging while staying technical
Managing while staying technical
 
It's Not Your Fault - Blameless Post-mortems
It's Not Your Fault - Blameless Post-mortemsIt's Not Your Fault - Blameless Post-mortems
It's Not Your Fault - Blameless Post-mortems
 
B417 ws four v0.2
B417 ws four v0.2B417 ws four v0.2
B417 ws four v0.2
 
Agile creativity games
Agile creativity games Agile creativity games
Agile creativity games
 
Doing Things Quicker
Doing Things QuickerDoing Things Quicker
Doing Things Quicker
 
Leading agile teams
Leading agile teamsLeading agile teams
Leading agile teams
 
Agile Games - Playful approaches to agile principles
Agile Games - Playful approaches to agile principlesAgile Games - Playful approaches to agile principles
Agile Games - Playful approaches to agile principles
 
On Onboarding
On OnboardingOn Onboarding
On Onboarding
 
Fox IBSC Action Research Presentation
Fox IBSC Action Research PresentationFox IBSC Action Research Presentation
Fox IBSC Action Research Presentation
 
Time Management Powerpoint
Time Management PowerpointTime Management Powerpoint
Time Management Powerpoint
 
Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...
Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...
Selling Smart Workshop - November 6, 2013 - Identifying Personality Styles an...
 

En vedette

дослідження африки
дослідження африкидослідження африки
дослідження африкиnikitenkomp12
 
досвід роботи Чарнош О.Є.
досвід роботи Чарнош О.Є.досвід роботи Чарнош О.Є.
досвід роботи Чарнош О.Є.yagilnytska
 
Analizuvrvnachshkole12 131111111
Analizuvrvnachshkole12 131111111Analizuvrvnachshkole12 131111111
Analizuvrvnachshkole12 131111111NikolayAnikin
 
чортківська рпмк
чортківська рпмкчортківська рпмк
чортківська рпмкyagilnytska
 
двикалюк є.в.
двикалюк є.в.двикалюк є.в.
двикалюк є.в.yagilnytska
 
All_Care's_PowerPoint_Presentation (1)
All_Care's_PowerPoint_Presentation (1)All_Care's_PowerPoint_Presentation (1)
All_Care's_PowerPoint_Presentation (1)Maria Foxhall
 
Способ прекретить плодить раздолбаев
Способ прекретить плодить раздолбаевСпособ прекретить плодить раздолбаев
Способ прекретить плодить раздолбаевDenis Tkachenko
 
мир для нас
мир для насмир для нас
мир для насNikolayAnikin
 
20161028 mindmaps- a killer way to increase your test coverage
20161028 mindmaps- a killer way to increase your test coverage 20161028 mindmaps- a killer way to increase your test coverage
20161028 mindmaps- a killer way to increase your test coverage Staff Agile66
 
Механізми протидії корупції в системі організації навчального процесу: органі...
Механізми протидії корупції в системі організації навчального процесу: органі...Механізми протидії корупції в системі організації навчального процесу: органі...
Механізми протидії корупції в системі організації навчального процесу: органі...Руслан Костюкевич
 
Spring Fair talk (Feb 2015): how to increase your online sales
Spring Fair talk (Feb 2015): how to increase your online salesSpring Fair talk (Feb 2015): how to increase your online sales
Spring Fair talk (Feb 2015): how to increase your online salesScreen Pages
 

En vedette (16)

дослідження африки
дослідження африкидослідження африки
дослідження африки
 
досвід роботи Чарнош О.Є.
досвід роботи Чарнош О.Є.досвід роботи Чарнош О.Є.
досвід роботи Чарнош О.Є.
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Analizuvrvnachshkole12 131111111
Analizuvrvnachshkole12 131111111Analizuvrvnachshkole12 131111111
Analizuvrvnachshkole12 131111111
 
чортківська рпмк
чортківська рпмкчортківська рпмк
чортківська рпмк
 
двикалюк є.в.
двикалюк є.в.двикалюк є.в.
двикалюк є.в.
 
All_Care's_PowerPoint_Presentation (1)
All_Care's_PowerPoint_Presentation (1)All_Care's_PowerPoint_Presentation (1)
All_Care's_PowerPoint_Presentation (1)
 
Analytics leads to improved quality and performance
Analytics leads to improved quality and performanceAnalytics leads to improved quality and performance
Analytics leads to improved quality and performance
 
Puniak b.m.
Puniak b.m.Puniak b.m.
Puniak b.m.
 
Johan
JohanJohan
Johan
 
Способ прекретить плодить раздолбаев
Способ прекретить плодить раздолбаевСпособ прекретить плодить раздолбаев
Способ прекретить плодить раздолбаев
 
мир для нас
мир для насмир для нас
мир для нас
 
20161028 mindmaps- a killer way to increase your test coverage
20161028 mindmaps- a killer way to increase your test coverage 20161028 mindmaps- a killer way to increase your test coverage
20161028 mindmaps- a killer way to increase your test coverage
 
Механізми протидії корупції в системі організації навчального процесу: органі...
Механізми протидії корупції в системі організації навчального процесу: органі...Механізми протидії корупції в системі організації навчального процесу: органі...
Механізми протидії корупції в системі організації навчального процесу: органі...
 
Spring Fair talk (Feb 2015): how to increase your online sales
Spring Fair talk (Feb 2015): how to increase your online salesSpring Fair talk (Feb 2015): how to increase your online sales
Spring Fair talk (Feb 2015): how to increase your online sales
 
EnglishCV
EnglishCVEnglishCV
EnglishCV
 

Similaire à 20161028 pairing - roni greenwood

Pairing agile tour bkk
Pairing   agile tour bkkPairing   agile tour bkk
Pairing agile tour bkkRoni Greenwood
 
15 principles for an excellent work ethic
15 principles for an excellent work ethic15 principles for an excellent work ethic
15 principles for an excellent work ethickunzitegroup
 
15 principles for an excellent work ethic
15 principles for an excellent work ethic15 principles for an excellent work ethic
15 principles for an excellent work ethicHpm India
 
Joker's Guide To Personal Effectiveness
Joker's Guide To Personal EffectivenessJoker's Guide To Personal Effectiveness
Joker's Guide To Personal Effectivenessbites consulting
 
Difficult Conversations
Difficult ConversationsDifficult Conversations
Difficult Conversationskktv
 
Difficult Conversations
Difficult ConversationsDifficult Conversations
Difficult Conversationskktv
 
focus the power of target thinking
focus the power of target thinkingfocus the power of target thinking
focus the power of target thinkingAmit Dwivedi
 
TOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdf
TOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdfTOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdf
TOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdfDR BHADRAPPA HARALAYYA
 
12 mind tricks that win people over and help you get ahead
12 mind tricks that win people over and help you get ahead12 mind tricks that win people over and help you get ahead
12 mind tricks that win people over and help you get aheadzubeditufail
 
Professional Etiquette And Do Donts
Professional Etiquette And Do DontsProfessional Etiquette And Do Donts
Professional Etiquette And Do DontsSouvik Santra
 
Everything Matters: Inclusive Design
Everything Matters: Inclusive DesignEverything Matters: Inclusive Design
Everything Matters: Inclusive DesignJess Mitchell
 
Speak With Confidence: How To Level Up Your Confidence Speaking In Front of ...
Speak With Confidence: How To Level Up Your Confidence Speaking In Front of  ...Speak With Confidence: How To Level Up Your Confidence Speaking In Front of  ...
Speak With Confidence: How To Level Up Your Confidence Speaking In Front of ...Flavian Mwasi
 
Introduction to human memory
Introduction to human memoryIntroduction to human memory
Introduction to human memoryLance Jones
 
MGT 309Speech Planning DocumentAdapted from Business S.docx
MGT 309Speech Planning DocumentAdapted from Business S.docxMGT 309Speech Planning DocumentAdapted from Business S.docx
MGT 309Speech Planning DocumentAdapted from Business S.docxannandleola
 
101 tips-for-successful-public-speaking-ns
101 tips-for-successful-public-speaking-ns101 tips-for-successful-public-speaking-ns
101 tips-for-successful-public-speaking-nsConfidential
 

Similaire à 20161028 pairing - roni greenwood (20)

Pairing agile tour bkk
Pairing   agile tour bkkPairing   agile tour bkk
Pairing agile tour bkk
 
15 principles for an excellent work ethic
15 principles for an excellent work ethic15 principles for an excellent work ethic
15 principles for an excellent work ethic
 
15 principles for an excellent work ethic
15 principles for an excellent work ethic15 principles for an excellent work ethic
15 principles for an excellent work ethic
 
Joker's Guide To Personal Effectiveness
Joker's Guide To Personal EffectivenessJoker's Guide To Personal Effectiveness
Joker's Guide To Personal Effectiveness
 
Week 3 presentation
Week 3 presentationWeek 3 presentation
Week 3 presentation
 
Difficult Conversations
Difficult ConversationsDifficult Conversations
Difficult Conversations
 
Difficult Conversations
Difficult ConversationsDifficult Conversations
Difficult Conversations
 
focus the power of target thinking
focus the power of target thinkingfocus the power of target thinking
focus the power of target thinking
 
TOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdf
TOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdfTOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdf
TOP 10 WAYS TO IMPROVE THE COMMUNICATION SKILLS.pdf
 
12 mind tricks that win people over and help you get ahead
12 mind tricks that win people over and help you get ahead12 mind tricks that win people over and help you get ahead
12 mind tricks that win people over and help you get ahead
 
Facilitation 101
Facilitation 101Facilitation 101
Facilitation 101
 
Professional Etiquette And Do Donts
Professional Etiquette And Do DontsProfessional Etiquette And Do Donts
Professional Etiquette And Do Donts
 
Everything Matters: Inclusive Design
Everything Matters: Inclusive DesignEverything Matters: Inclusive Design
Everything Matters: Inclusive Design
 
Speak With Confidence: How To Level Up Your Confidence Speaking In Front of ...
Speak With Confidence: How To Level Up Your Confidence Speaking In Front of  ...Speak With Confidence: How To Level Up Your Confidence Speaking In Front of  ...
Speak With Confidence: How To Level Up Your Confidence Speaking In Front of ...
 
Introduction to human memory
Introduction to human memoryIntroduction to human memory
Introduction to human memory
 
MGT 309Speech Planning DocumentAdapted from Business S.docx
MGT 309Speech Planning DocumentAdapted from Business S.docxMGT 309Speech Planning DocumentAdapted from Business S.docx
MGT 309Speech Planning DocumentAdapted from Business S.docx
 
101 tips-for-successful-public-speaking-ns
101 tips-for-successful-public-speaking-ns101 tips-for-successful-public-speaking-ns
101 tips-for-successful-public-speaking-ns
 
Mental agility
Mental agilityMental agility
Mental agility
 
How to handle nervousness during interview
How to handle nervousness during interviewHow to handle nervousness during interview
How to handle nervousness during interview
 
Sales_Pro
Sales_ProSales_Pro
Sales_Pro
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

20161028 pairing - roni greenwood

  • 1. A g i l e To u r B a n g k o k PAIRING Or how to have fun while kicking ass at software development Today we’re going to talk about Pairing. pairing is the practice of two people working on the same problem at the same time on the same computer. Specifically we are going to focus on some of the difficulties people usually have with pairing and how to overcome them, in order to get the most out of this practice. Just a quick check before we start - how many people in this room have paired before? how many pair regularly?
  • 2. HAPPY DEVS WRITE BETTER CODE Pairing is *usually* described by devs as a practice that makes them happier with their work. 2
  • 3. WHY PAIR? Some of the benefits of pairing include… • Great way to up-skill new team members • Less mistakes, less bugs! • Focus on building the right thing • Sharing the ownership of the code • Push each other to write better code • Less wasted time • Less rabbit-holes • Intent based development • Fun 3
  • 4. HOW TO PAIR? The rules… • Two people, one shared “destination”, one computer. • Driver - Navigator • Swap roles regularly • Rotate pairs often for maximum knowledge transfer. • The pairing station! 4 Set up a large monitor (or even two) - this is to make sure no one is uncomfortable squinting or straining their neck. Both driver and navigator should have access to the mouse and keyboard Enough space to make you both comfortable Sometimes it’s best to let the less experienced person drive more, until they get comfortable with the code base. Learning to navigate is a skill in itself that requires confidence and familiarity with the code, the domain and good practices. Make sure you teach and learn that skill. This will help everyone in the team to understand all different parts of the code and own it together Eliminate “human bottlenecks” Learn how everyone else works See the bigger picture Share the good practices - constantly drive each other to get better
  • 5. WHAT I THOUGHT PAIRING WOULD LOOK LIKE…
  • 6. WHAT IT REALLY LOOKED LIKE…
  • 7. 7 … SO WHAT WENT WRONG? Pairing can be stressful and unproductive when good pairing practices are not followed. If you’re feeling pairing creates frustration, distraction, or wastes your time, you are not alone. In the past couple of years I have heard people tell me they hated pairing, that working alone is the
  • 8. WHEN MAKINGAMISTAKE… Never put your pair down, or make fun of them, for making a mistake. 8 Never, ever ever put someone down for making a mistake. Don’t react with anger or mock them. This can easily happen if you pair with someone less experienced, or just new to the team. Remember that pairing is about sharing knowledge and improving the overall capabilities of your team. Also keep your mind open, you might learn something even from someone new and inexperienced.
  • 9. GETTINGANNOYED… Being so close and personal with another person can be quite stressful. 9 We all know this one. You’ve been working with the same person for a little too long. You have different ways of doing things. The small things start getting on your nerves and you notice you are slowly acting more snappy towards each other… Any team that wants to continue pairing successfully for longer than a few days, needs to have a discussion, a “negotiation of terms” if you want to call it that. Find out how each team member would like to be treated (for example, some people may take longer to think and do not like to be rushed. other people may want their pair to switch their phone to silent as the noise distracts them….) Above all, always remember to respect your pair
  • 10. TIME PRESSURE… Don’t let it change the way you work or talk with your pair. 10 When you have been trying to push something through for a few days… you’re starting to feel unproductive, you really want to just “get things done”. You might (accidentally or not) start shutting your pair out. You might.. say: “I’m just going to work on my own for a little while, I really want to get this done…” do: start “driving” without taking the time to explain your actions, ignore the “navigator’s” comments or dismiss them. Why is that bad? This will create even more pressure in the long run. First, your code won’t be as clean as it would be if you were still pairing. It may take longer but that’s usually because the end product is better. You will also become the only person
  • 11. THE SILENCE Sometimes you just need time to think. When pairing, try to think together. 11 Some people take longer to think things through in their heads. Other people get so focused in solution mode that they find it hard to also maintain verbal narration. Sometimes it’s just a matter of “Let me just finish writing this thing and then I’ll explain it to you…” Either way, the point is - your pair cannot read your mind (unfortunately), and your pair is your partner in decision making.
  • 12. DO ITALLYOURSELF.. Don’t ignore your navigator, share the responsibility and learn to delegate. 12 This comes from having an attitude of “I know how to do this myself and don’t need you to tell me how to do it”. We are all guilty of this from time to time. Remember that the “Navigator” role needs to be learned, and if you disagree with something the navigator suggests, explain why and talk it through.
  • 13. LET THEM DO ITALL.. Even if you believe your pair is fully capable of doing everything themselves… 13 Try to discuss how to handle distractions. Don’t spend too much time on your phone or talking to other people and abandon your pair.
  • 14. HOW COULD WE DO BETTER? A few suggestions to make everyone happier while pairing. 14 So we sat together for a retro and discussed how each person wanted to be treated while pairing. Each person is different, but a few things never change..
  • 15. SAFETY If you can make people feel safe, you can talk to almost anyone about almost anything. 15 Everything must start with safety. When someone feels unsafe, they will be scared to make a mistake for fear of being ridiculed or humiliated. If you sense that safety is at risk, diagnose the cause. The two conditions of safety are Mutual Purpose and Mutual Respect. Commit to search for a goal that will benefit both parties. This soothes fears and rebuilds safety. If necessary, collaborate with the other person to invent a mutual purpose. Don't settle for a compromise. Move to different (often more creative) or higher and more encompassing goals. If you create a safe working environment when anyone can say what’s on their minds, you will be able to get valuable input and maximise the team’s performance.
  • 16. RESPECT Mutual respect will minimise conflicts and help you learn from each other. 16 One of the things that people value the most when working with others is the feeling that they are respected. Respect means that you let your pair contribute their opinion before you make up your mind. Never put them down for saying something you do not agree with. Listen with an open mind. Respect their personal space and basic human needs.
  • 17. FEEDBACK How do you resolve issues without compromising a relationship? 17 Giving and receiving feedback is super important for successful pairing (and working in teams in general, too!) But how do you give valuable feedback without hurting someone’s feelings? Some tips for giving feedback: - state facts, followed by how you feel. For example: “Yesterday you started playing on your phone while we were pairing. I felt lost and confused.” - Use tentative words and never any offensive language. Try to only use facts and not exaggerate. - Ask for the other person’s side of the story. - IF ASKED TO - Suggest some ways in which you think you can solve issues (offer help but don’t force it) Some tips for receiving feedback: - Don’t get defensive or angry. People give you feedback because they still care enough to do so. It’s hard to give feedback. - Listen until the person finishes talking before responding. Take a few seconds to “process” what they said and compose your response. - Ask how you can solve the problem.
  • 18. SELFAWARENESS Try to answer this question about yourself: “what am I like when I’m stressed?” 18 What is your “Style under stress”? Different people react to stress differently. Some people talk too much, others will be silent, some will yell and others will be passive aggressive. Find out about yourself and your team members how you tend to react under stress, and make a concentrated effort to control your emotions.
  • 19. HAVE FUN Celebrate success, balance hard work with team activities, take things lightly and have fun! 19 Working so intensely can be quite draining in the long run, so remember to balance all the hard work with some fun group activities.
  • 20. For questions or suggestions: ronigreenwood@thoughtworks.com QUESTIONS?