SlideShare a Scribd company logo
Remote Pair
Programming
Agile 2013
Johannes Brodwall
Exilesoft Chief scientist
@jhannes
Can a distributed team
still Communicate
closely?
This talk is for you if
you…
Want to work with remote
colleagues
Want to practice pair
programming (more)
Want to see some TDD coding
Want to see some TDD coding
(And you’re not scared by coding)
After this talk
• Find a remote mentor
• Pair with your remote team
• Run a distributed workshop
1. Why
2. How
3. Demonstration
4. Discussion:
Distributed agile
Why global teams
There are not enough devs here
There are not enough devs here
(for most values of “here”)
(There are not enough devs here)
But there are more “over there”
But
Communication cost increases
with distance
Luckily
Communication cost increases
with distance
Everybody knows that:
Communication cost increases
with distance
Which would you prefer:
Which would you prefer:
A. Team sits onsite, but…
uses headphones all day
speak to customer monthly
Which would you prefer:
A. Team sits onsite, but…
uses headphones all day
speak to customer monthly
B. Team 1/3 around the world
Pair programs with local devs
Speak with customer daily
Distribution change
communication
Huge email discussions
Large meetings
Small group discussions
Structured collaboration
Practical remote
programming
Don’t send each keystroke
across the world and back
We want a solution that is
not super-expensive
Voice sharing
Screen sharing
File sharing
Voice sharing (Skype)
Screen sharing (GoToMeeting)
File sharing (Dropbox)
Ping pong
Ingredient #1:
Pair programming
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming
Ingredient #2:
Test driven
development
Failing test
Write code
Failing test
Write code
Failing test
Ingredient #3:
Refactoring
Failing test
Write code
Failing test
Write code
Failing test
Refactor code
and tests
Refactor code
and tests
Put together
Failing test
Write code
Failing test
Write code
Failing test
Failing test
Write code
Failing test
Write code
Failing test
Refactor code
and tests
Refactor code
and tests
Failing test
Write code
Failing test
Write code
Failing test
Refactor code
and tests
Refactor code
and tests
Demonstration
What to watch for?
What to watch for?
• Collaboration
• Problems and approaches
Say hello to my team!
Remember: Suboptimal
network
Please:
• Talk about what you see to the person
next to you (whisper)
•Tweet to @jhannes
Demonstration
(Guest starring Niruka
Ruhunage)
Kata: Bank OCR
Kata: Bank OCR
_ _ _ _ _ _ _ _ _
|_||_||_||_||_||_||_||_||_|
|_||_||_||_||_||_||_||_||_|
=> 888888888 AMB [888886888, 888888988, 888888880]
Discussion
Benefits
(Guest starring Niruka
Ruhunage)
Domain knowledge
Also involving the quiet
ones
Grow technically
What did you see?
Dealing with time-lag
Helping each other
Communicating ideas
Usage
Dev extension
Training
Job interviews
Dev extension
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming
Training
• You just saw it…
Interviews
• Reveals real skills
• Motivating: fun and educational
=> Good PR
• Pre-start training
Distributed
workshops
First week
Monday Tuesday Wednesday Thursday Friday
Goal,
Stakeholders
Dev baseline Dev baseline
Review usage
Define
progress,
Stories
Wrap up docs
Dev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s
going on today
Stakeholder,
Usage
Usage review,
Context,
Domain,
Deployment
Refine
models
Review,
Retrospective
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming
1. Teams of 3 (distributed)
2. Create goal statements –
10 minutes
3. Consensus goal
For some stakeholder
Who has a goal
The system/activity/increment
Is a type of system/activity
Which gives a capability/feature.
Unlike most relevant alternative
This has a distinguishing advantage.
For a busy sales officer
Who wants to find good prospects to contact
when in a city
The CRM customer radar
Is a mobile map application
Which displays nearby customers on a map.
Unlike searching for prospects in CRM portal
This provides the information at a glance.
What do we get
from this?
Small groups
Clear task
Cross boundaries
Distributed
retrospective
Example agenda
1. Defining word
2. Groups discussion: achievements
and challenges
3. Whole team discuss where are we
4. Round the table suggest actions
5. Hopes for the future
Lessons
Small groups
Clear task
Eye contact doesn’t work
Decreasing the
distance
How do you decrease
the distance in your
team?
Conclusions
More distribution =>
more structured communication
Dropbox, Skype, GoToMeeting
It’s a small world, after all
Find a remote pair prog partner
Find a remote pair prog partner
Have fun
Grab hold of me in the hallway
for a pair programming session
jbr@exilesoft.com
nru@exilesoft.com
http://johannesbrodwall.com
http://exilesoft.com
http://twitter.com/jhannes
Thank you

More Related Content

PPTX
Leveraging the Power of VoiceThread
PPTX
Final assignment
PDF
Power of the Swarm - Agile Serbia Conference 2017
PDF
Let's get managers talking talent
PDF
Agile prague 2017 - Real Teams - Petri Heiramo
PPTX
Victoria Brazil: Present Better with Tech
PPT
ACPET e Mentor Online Session 7
PPTX
Webinar Best Practices and Online Teaching Tips from the Field
Leveraging the Power of VoiceThread
Final assignment
Power of the Swarm - Agile Serbia Conference 2017
Let's get managers talking talent
Agile prague 2017 - Real Teams - Petri Heiramo
Victoria Brazil: Present Better with Tech
ACPET e Mentor Online Session 7
Webinar Best Practices and Online Teaching Tips from the Field

Similar to 2013 08-07 agile 2013 - remote pair programming (20)

PDF
Career Hacks for Developers
PDF
How to prepare, run and document a co-creative workshop?
PPTX
Merits of good design - Plymouth e-learning conference
PDF
Design and research synthesis: how to make sense of all what you've learned?
PDF
Design Sprints
PDF
Collaboration Within A Multidisciplinary Team
PDF
NUS Hackers Project Intern 2016
PPT
Chris Covell Collaboration for distributed teams
PPTX
UXPA Lean UX Bridging the gap between UX and Developers
PPTX
Live Conversation: Connecting with customers in real time
PDF
UX Design With Distributed Teams
PDF
Bwhtmlpdx0809
PDF
What is service design?
PDF
Tuning and Improving Your Agility
PDF
From People To Insights In Hours: Fast & Easy Think-Out-Loud Studies With Use...
PDF
Building Business Processes by Means of Online Workshops
PDF
Building Business Processes by Means of Online Workshops
PPT
Building Delightful Products: A Customer-Centric Approach to Product Strategy...
PPTX
Mob Testing
PDF
Spca2014 public rovers
Career Hacks for Developers
How to prepare, run and document a co-creative workshop?
Merits of good design - Plymouth e-learning conference
Design and research synthesis: how to make sense of all what you've learned?
Design Sprints
Collaboration Within A Multidisciplinary Team
NUS Hackers Project Intern 2016
Chris Covell Collaboration for distributed teams
UXPA Lean UX Bridging the gap between UX and Developers
Live Conversation: Connecting with customers in real time
UX Design With Distributed Teams
Bwhtmlpdx0809
What is service design?
Tuning and Improving Your Agility
From People To Insights In Hours: Fast & Easy Think-Out-Loud Studies With Use...
Building Business Processes by Means of Online Workshops
Building Business Processes by Means of Online Workshops
Building Delightful Products: A Customer-Centric Approach to Product Strategy...
Mob Testing
Spca2014 public rovers
Ad

More from Johannes Brodwall (20)

PPTX
Build Your Stuff with Privacy by Design
PPTX
The new new mobile web
PPTX
Remote Pair Programming (Agile India)
PPTX
Getting your project off the ground (BuildStuffLt)
PPTX
Remote pair programming (BuildStuffLt)
PPTX
DevDay.lk - Bare Knuckle Web Development
PPTX
Extreme Programming Live - JavaZone
PPTX
2013 09-11 java zone - extreme programming live
PPTX
WeActuallyBuildStuff - Extreme Programming Live
PPTX
Bare-Bones Software Architecture
PPTX
Agile Architecture in Odessa
PPTX
Bare-knuckle web development
PPTX
Agile Architecture
PPTX
Agile Prague Coding Dojo
PPTX
Agile Programming Live - AgilePrague2012
PPTX
Agile Contracts - AgilePrague2012
PPTX
Smidig Stykkpriskontrakt
PPTX
Experience Agile Programming
PPTX
Agile Contracts
PPTX
Smidig ansvarsprosjekt
Build Your Stuff with Privacy by Design
The new new mobile web
Remote Pair Programming (Agile India)
Getting your project off the ground (BuildStuffLt)
Remote pair programming (BuildStuffLt)
DevDay.lk - Bare Knuckle Web Development
Extreme Programming Live - JavaZone
2013 09-11 java zone - extreme programming live
WeActuallyBuildStuff - Extreme Programming Live
Bare-Bones Software Architecture
Agile Architecture in Odessa
Bare-knuckle web development
Agile Architecture
Agile Prague Coding Dojo
Agile Programming Live - AgilePrague2012
Agile Contracts - AgilePrague2012
Smidig Stykkpriskontrakt
Experience Agile Programming
Agile Contracts
Smidig ansvarsprosjekt
Ad

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Cloud computing and distributed systems.
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Teaching material agriculture food technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

2013 08-07 agile 2013 - remote pair programming