SlideShare a Scribd company logo
1 of 23
Agile Offsharing:
Using Pair Work to Overcome
Nearshoring Difficulties
Prof. Dr. Lutz Prechelt
Institut für Informatik Mobile Solutions Day
Freie Universität Berlin 2014-06-24
Outline
• Pair Programming: What and why?
• Agile Offsharing: Why, what, how?
• "But we are not using offshoring!"
2Lutz Prechelt, Freie Universität Berlin
Pair Programming
• Claimed advantages:
• Faster than solo
• Fewer defects
• Better software design
• More concentrated work
• 2 people familiar with code
• Can employ joint knowledge
• Faster learning
• Enjoyable
• Disadvantages/Issues:
• May require more resources
• Some programmers do not
like it
• Use it for:
• Shorter time-to-market
• Higher quality
• Reducing code knowledge
bottlenecks
• Knowledge transfer
3Lutz Prechelt, Freie Universität Berlin
Domain,
Users &
Requirements
Team A
Team B
Agile Offsharing:
Assumed situation/problem
Joint system
Geographic & cultural
distribution
4Lutz Prechelt, Freie Universität Berlin
Is distribution common?
5Lutz Prechelt, Freie Universität Berlin
Domain,
Users &
Requirements
Home Team A
Remote Team B
Subsystem BSubsystem A
Subsystem B Specwrites misunderstands
Waterfall model thinking
?
Belief: "Modularization helps!"
6Lutz Prechelt, Freie Universität Berlin
1
3a 3b
2a
2b
Why misunderstandings happen
Lutz Prechelt, Freie Universität Berlin
1. Up-front requirements specification is difficult.
2. We tend to under-estimate what needs explanation:
Domain,
Users &
Requirements
Team A
Team B
Subsystem BSubsystem A
some talking (email, chat, skype, phone)
The Agile process illusion
Belief: "Modularization plus talking helps"
8Lutz Prechelt, Freie Universität Berlin
Domain,
Users &
Requirements
Team A Team A'
Distributed pair programming (DPP)
Radical idea: Agile Offsharing
Belief: "Only close collaboration works"
Joint system
9Lutz Prechelt, Freie Universität Berlin
Agile Offsharing:
The radical step
Again:
The new idea of Agile Offsharing is the following
• If cross-site communication is difficult
• do not avoid it
• i.e. don't go for technical work locality
• rather, maximize it
• i.e. voluntarily introduce
cross-site technical work
• in order to transfer knowledge
10Lutz Prechelt, Freie Universität Berlin
it always is!
Questions
so far?
11Lutz Prechelt, Freie Universität Berlin
Preconditions for using
Agile Offsharing
Technical/organizational:
• Small time zone difference
• Technical communication
infrastructure
• Strong network connection
• Joint repositories
• Distributed-IDE tools
• Audio, perhaps video
equipment
• Pair-work-ready workplace
Social:
• Collaboration readiness:
• One-team thinking
• Non-competitive attitude
• Transparency & trust
• Team stability
• Willingness for pair work
• Compatible development
processes
• Collaboration skills:
• Strong skills in a joint
natural language
• Recognizing gaps in
requirements understanding
• Requirements explanation
skills
12Lutz Prechelt, Freie Universität Berlin
Notideal!
Establishing Agile Offsharing (1/4):
People
• Find pairing volunteers
• at least two on each side
• strong language and
communication skills
• preferably strong technical
skills
• Do not push anybody
Photograph: Corbis RF / Alamy/Alamy
13Lutz Prechelt, Freie Universität Berlin
Establishing Agile Offsharing (2/4):
Technical infrastructure
• Establish distributed editing:
• Eclipse: Saros
• Visual Studio: VS anywhere
• IntelliJ IDEA: soon: Saros
• Mac OS X: SubEthaEdit
• Browser: Cloud9, Codenvy
• Start with local trials at
both sites
• then set up an official
server, firewall rules, etc.
• Invest in comfortable,
high-quality headsets
• Find handy, reliable audio
software, e.g.:
• SIP VoIP, Skype, Lync
• Phone conferencing systems
• Jitsi, mumble
14AG Software Engineering, Institut für Informatik, Freie Universität Berlin
Saros
Cloud9
A schematic view of Saros
Establishing Agile Offsharing (3/4):
Tasks & Getting Going
• Create list K:
Reqirements knowledge to
be transfered
• identify an expert
• estimate explanation time
• should be 0.2 to 2 hours
each
• note closest-match
volunteer
• Somewhat like story cards
• Create list T:
Development task
• list eligible developers
• list required knowledge
pieces
• estimate required time
• should be 1 to 5 hours each
• Find K-T matches
• that have suitable volunteer
pairs
• Arrange and execute
sessions
• Consciously perform them
for knowledge transport
16AG Software Engineering, Institut für Informatik, Freie Universität Berlin
Establishing Agile Offsharing (4/4):
Refine
• Learn how to arrange
sessions with little effort
• Learn how to cope with
conflict
• e.g. detect and repair
power imbalances
• Learn how to cope with
language skill limitations
• Learn how to optimize
knowledge transport
• Reflection session after
DPP session
• Better task selection
• Draw in more volunteers
17AG Software Engineering, Institut für Informatik, Freie Universität Berlin
"But we are not using offshoring!"
• Are your relevant colleagues
always available locally?
• The pairing idea also applies
if the knowledge is not
about requirements:
• remote technology expert
• remote usability expert
• remote expert for existing
code
• remote partner for
• design discussion
• debugging
• etc.
Furthermore:
1. Saros sessions can have up
to 5 participants
2. Side-by-side programming:
• "Hanging around" in the
same Saros session
• short bursts of pairing as
needed
We call the resulting behaviors
"Distributed Party Programming"
(DPP)
18Lutz Prechelt, Freie Universität Berlin
Some questions of mine
• Who has done distributed
pair programming:
• via screen sharing?
• via Saros (or similar)?
• Who wants to try out
Distributed Party
Programming?
• Who wants to try out
Agile Offsharing?
• We are available for
consulting or research
cooperation
19Lutz Prechelt, Freie Universität Berlin
20Lutz Prechelt, Freie Universität Berlin
Questions of yours?
Agile Offsharing:
Current research status
• Pair Programming:
• There are roles related to
knowledge transfer
• e.g. task expert/mentee
• There are learnable
knowledge transfer
behavior patterns
• e.g. Clarification Cascade
• Distributed Pair
Programming (DPP):
• Competent pairs can work
fully fluently
• Awareness limitations
bridged e.g. by verbalization
• Limited use of concurrent
editing does not break PP
• Looks as good as local PP
• Agile Offsharing idea:
• Various experts all found
Agile Offsharing plausible
• We have just won the
Ready-Set-Transfer
technology transfer contest
• Int'l. Conf. on
Software Engineering
• We work with Lithuanian
offshore company NFQ to
evaluate Agile Offsharing
21AG Software Engineering, Institut für Informatik, Freie Universität Berlin
Thank you!
22Lutz Prechelt, Freie Universität Berlin
Agile Offsharing:
Make a radically new assumption
Context:
• Distributed software development, but with agile methods
• Only the "home" team builds the requirements knowledge
• Traditional assumption:
Transfer reqs knowledge explicitly, but
maximize locality for technical work
• Agile Offsharing assumption:
Must transfer reqs during technical work
or else bandwith is too low
• therefore, introduce cross-site technical work
23Lutz Prechelt, Freie Universität Berlin

More Related Content

Similar to Agile Offsharing: Using Pair Work to Overcome Nearshoring Difficulties

It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)Mike Harris
 
How Agile Offsharing is ready for technology transfer
How Agile Offsharing is ready for technology transferHow Agile Offsharing is ready for technology transfer
How Agile Offsharing is ready for technology transferLutz Prechelt
 
Working with Developers
Working with DevelopersWorking with Developers
Working with DevelopersPaul Walk
 
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...Dr. Haxel Consult
 
324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdfMrRZapata
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
The Mythical Man Month
The Mythical Man MonthThe Mythical Man Month
The Mythical Man MonthMr Cracker
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Agile Localization: Oxymoron or Heroic Achievement?
Agile Localization: Oxymoron or Heroic Achievement?Agile Localization: Oxymoron or Heroic Achievement?
Agile Localization: Oxymoron or Heroic Achievement?Laura Dent
 
Models and Methods for Global User Research
Models and Methods for Global User ResearchModels and Methods for Global User Research
Models and Methods for Global User ResearchGfK User Centric
 
FEC2017-Introduction-to-programming
FEC2017-Introduction-to-programmingFEC2017-Introduction-to-programming
FEC2017-Introduction-to-programmingHenrikki Tenkanen
 
DevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving LessonsDevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving LessonsPerforce
 
What is open source?
What is open source?What is open source?
What is open source?Ahmet Bulut
 
Improving success with Distributed Teams
Improving success with Distributed TeamsImproving success with Distributed Teams
Improving success with Distributed TeamsGreg Robinson
 
OpenChain at EOLE 2017
OpenChain at EOLE 2017OpenChain at EOLE 2017
OpenChain at EOLE 2017Shane Coughlan
 
Chris Covell Collaboration for distributed teams
Chris Covell   Collaboration for distributed teamsChris Covell   Collaboration for distributed teams
Chris Covell Collaboration for distributed teamsAgile Lietuva
 
Remote agile testing webinar slides.
Remote agile testing webinar slides. Remote agile testing webinar slides.
Remote agile testing webinar slides. XBOSoft
 

Similar to Agile Offsharing: Using Pair Work to Overcome Nearshoring Difficulties (20)

It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
How Agile Offsharing is ready for technology transfer
How Agile Offsharing is ready for technology transferHow Agile Offsharing is ready for technology transfer
How Agile Offsharing is ready for technology transfer
 
Working with Developers
Working with DevelopersWorking with Developers
Working with Developers
 
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
 
324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
The Mythical Man Month
The Mythical Man MonthThe Mythical Man Month
The Mythical Man Month
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile Localization: Oxymoron or Heroic Achievement?
Agile Localization: Oxymoron or Heroic Achievement?Agile Localization: Oxymoron or Heroic Achievement?
Agile Localization: Oxymoron or Heroic Achievement?
 
Going open source first
Going open source firstGoing open source first
Going open source first
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Models and Methods for Global User Research
Models and Methods for Global User ResearchModels and Methods for Global User Research
Models and Methods for Global User Research
 
FEC2017-Introduction-to-programming
FEC2017-Introduction-to-programmingFEC2017-Introduction-to-programming
FEC2017-Introduction-to-programming
 
DevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving LessonsDevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving Lessons
 
What is open source?
What is open source?What is open source?
What is open source?
 
Improving success with Distributed Teams
Improving success with Distributed TeamsImproving success with Distributed Teams
Improving success with Distributed Teams
 
python training online
python training onlinepython training online
python training online
 
OpenChain at EOLE 2017
OpenChain at EOLE 2017OpenChain at EOLE 2017
OpenChain at EOLE 2017
 
Chris Covell Collaboration for distributed teams
Chris Covell   Collaboration for distributed teamsChris Covell   Collaboration for distributed teams
Chris Covell Collaboration for distributed teams
 
Remote agile testing webinar slides.
Remote agile testing webinar slides. Remote agile testing webinar slides.
Remote agile testing webinar slides.
 

Recently uploaded

Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Niamh verma
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...wyqazy
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 

Recently uploaded (9)

Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
Chandigarh Call Girls Service ❤️🍑 9115573837 👄🫦Independent Escort Service Cha...
 
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
哪里有卖的《俄亥俄大学学历证书+俄亥俄大学文凭证书+俄亥俄大学学位证书》Q微信741003700《俄亥俄大学学位证书复制》办理俄亥俄大学毕业证成绩单|购买...
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 

Agile Offsharing: Using Pair Work to Overcome Nearshoring Difficulties

  • 1. Agile Offsharing: Using Pair Work to Overcome Nearshoring Difficulties Prof. Dr. Lutz Prechelt Institut für Informatik Mobile Solutions Day Freie Universität Berlin 2014-06-24
  • 2. Outline • Pair Programming: What and why? • Agile Offsharing: Why, what, how? • "But we are not using offshoring!" 2Lutz Prechelt, Freie Universität Berlin
  • 3. Pair Programming • Claimed advantages: • Faster than solo • Fewer defects • Better software design • More concentrated work • 2 people familiar with code • Can employ joint knowledge • Faster learning • Enjoyable • Disadvantages/Issues: • May require more resources • Some programmers do not like it • Use it for: • Shorter time-to-market • Higher quality • Reducing code knowledge bottlenecks • Knowledge transfer 3Lutz Prechelt, Freie Universität Berlin
  • 4. Domain, Users & Requirements Team A Team B Agile Offsharing: Assumed situation/problem Joint system Geographic & cultural distribution 4Lutz Prechelt, Freie Universität Berlin
  • 5. Is distribution common? 5Lutz Prechelt, Freie Universität Berlin
  • 6. Domain, Users & Requirements Home Team A Remote Team B Subsystem BSubsystem A Subsystem B Specwrites misunderstands Waterfall model thinking ? Belief: "Modularization helps!" 6Lutz Prechelt, Freie Universität Berlin 1 3a 3b 2a 2b
  • 7. Why misunderstandings happen Lutz Prechelt, Freie Universität Berlin 1. Up-front requirements specification is difficult. 2. We tend to under-estimate what needs explanation:
  • 8. Domain, Users & Requirements Team A Team B Subsystem BSubsystem A some talking (email, chat, skype, phone) The Agile process illusion Belief: "Modularization plus talking helps" 8Lutz Prechelt, Freie Universität Berlin
  • 9. Domain, Users & Requirements Team A Team A' Distributed pair programming (DPP) Radical idea: Agile Offsharing Belief: "Only close collaboration works" Joint system 9Lutz Prechelt, Freie Universität Berlin
  • 10. Agile Offsharing: The radical step Again: The new idea of Agile Offsharing is the following • If cross-site communication is difficult • do not avoid it • i.e. don't go for technical work locality • rather, maximize it • i.e. voluntarily introduce cross-site technical work • in order to transfer knowledge 10Lutz Prechelt, Freie Universität Berlin it always is!
  • 11. Questions so far? 11Lutz Prechelt, Freie Universität Berlin
  • 12. Preconditions for using Agile Offsharing Technical/organizational: • Small time zone difference • Technical communication infrastructure • Strong network connection • Joint repositories • Distributed-IDE tools • Audio, perhaps video equipment • Pair-work-ready workplace Social: • Collaboration readiness: • One-team thinking • Non-competitive attitude • Transparency & trust • Team stability • Willingness for pair work • Compatible development processes • Collaboration skills: • Strong skills in a joint natural language • Recognizing gaps in requirements understanding • Requirements explanation skills 12Lutz Prechelt, Freie Universität Berlin Notideal!
  • 13. Establishing Agile Offsharing (1/4): People • Find pairing volunteers • at least two on each side • strong language and communication skills • preferably strong technical skills • Do not push anybody Photograph: Corbis RF / Alamy/Alamy 13Lutz Prechelt, Freie Universität Berlin
  • 14. Establishing Agile Offsharing (2/4): Technical infrastructure • Establish distributed editing: • Eclipse: Saros • Visual Studio: VS anywhere • IntelliJ IDEA: soon: Saros • Mac OS X: SubEthaEdit • Browser: Cloud9, Codenvy • Start with local trials at both sites • then set up an official server, firewall rules, etc. • Invest in comfortable, high-quality headsets • Find handy, reliable audio software, e.g.: • SIP VoIP, Skype, Lync • Phone conferencing systems • Jitsi, mumble 14AG Software Engineering, Institut für Informatik, Freie Universität Berlin Saros Cloud9
  • 15. A schematic view of Saros
  • 16. Establishing Agile Offsharing (3/4): Tasks & Getting Going • Create list K: Reqirements knowledge to be transfered • identify an expert • estimate explanation time • should be 0.2 to 2 hours each • note closest-match volunteer • Somewhat like story cards • Create list T: Development task • list eligible developers • list required knowledge pieces • estimate required time • should be 1 to 5 hours each • Find K-T matches • that have suitable volunteer pairs • Arrange and execute sessions • Consciously perform them for knowledge transport 16AG Software Engineering, Institut für Informatik, Freie Universität Berlin
  • 17. Establishing Agile Offsharing (4/4): Refine • Learn how to arrange sessions with little effort • Learn how to cope with conflict • e.g. detect and repair power imbalances • Learn how to cope with language skill limitations • Learn how to optimize knowledge transport • Reflection session after DPP session • Better task selection • Draw in more volunteers 17AG Software Engineering, Institut für Informatik, Freie Universität Berlin
  • 18. "But we are not using offshoring!" • Are your relevant colleagues always available locally? • The pairing idea also applies if the knowledge is not about requirements: • remote technology expert • remote usability expert • remote expert for existing code • remote partner for • design discussion • debugging • etc. Furthermore: 1. Saros sessions can have up to 5 participants 2. Side-by-side programming: • "Hanging around" in the same Saros session • short bursts of pairing as needed We call the resulting behaviors "Distributed Party Programming" (DPP) 18Lutz Prechelt, Freie Universität Berlin
  • 19. Some questions of mine • Who has done distributed pair programming: • via screen sharing? • via Saros (or similar)? • Who wants to try out Distributed Party Programming? • Who wants to try out Agile Offsharing? • We are available for consulting or research cooperation 19Lutz Prechelt, Freie Universität Berlin
  • 20. 20Lutz Prechelt, Freie Universität Berlin Questions of yours?
  • 21. Agile Offsharing: Current research status • Pair Programming: • There are roles related to knowledge transfer • e.g. task expert/mentee • There are learnable knowledge transfer behavior patterns • e.g. Clarification Cascade • Distributed Pair Programming (DPP): • Competent pairs can work fully fluently • Awareness limitations bridged e.g. by verbalization • Limited use of concurrent editing does not break PP • Looks as good as local PP • Agile Offsharing idea: • Various experts all found Agile Offsharing plausible • We have just won the Ready-Set-Transfer technology transfer contest • Int'l. Conf. on Software Engineering • We work with Lithuanian offshore company NFQ to evaluate Agile Offsharing 21AG Software Engineering, Institut für Informatik, Freie Universität Berlin
  • 22. Thank you! 22Lutz Prechelt, Freie Universität Berlin
  • 23. Agile Offsharing: Make a radically new assumption Context: • Distributed software development, but with agile methods • Only the "home" team builds the requirements knowledge • Traditional assumption: Transfer reqs knowledge explicitly, but maximize locality for technical work • Agile Offsharing assumption: Must transfer reqs during technical work or else bandwith is too low • therefore, introduce cross-site technical work 23Lutz Prechelt, Freie Universität Berlin