Post on 23-Jun-2015
description
1 / 12 Lutz Prechelt, prechelt@inf.fu-berlin.de
Agile Offsharing:A software process idea
Lutz PrecheltFreie Universität Berlin
based on joint work with: Stephan Salinger, Julia Schenk, Franz Zieris, Holger Schmeisky, Christopher Oezbek, Laura Plonka, Danou Nauck, Karl Beecher, Edna Rosen, Björn Kahlert and ~50 Saros contributors
ICSE 2014 "Ready – Set – Transfer" Contest Panel
2 / 12
Our topics
1 Pair Programming (PP)
2 Saros, a distributed IDE Ingredients
3 Distributed Pair Programming (DPP)
4 Agile Offsharing idea to be transferred
Lutz Prechelt, prechelt@inf.fu-berlin.de
Round 1
Round 2
3 / 12
Domain, Users &
Requirements
"Local"SW developers
Subsystem BSubsystem A
can understand
write write
communication by documents, visits, email, chat, phone, daily video standup, etc.
4 The Agile Offsharing idea
Lutz Prechelt, Freie Universität Berlin
Geographic & cultural distribution
"Remote"SW developers
Distributed Pair Programming
Joint system
*Works for othertypes of
knowledge asymmetry
as well
*
4 / 12
Agile Offsharing makes a radical step
Conventional approach:Minimize the need for
communication("Reduce coupling!")
Agile Offsharing approach:Actively increase the need for
communication("If it hurts, do it more often!")
Lutz Prechelt, prechelt@inf.fu-berlin.de
5 / 12
Details
Agile Offsharing is not for everybody
Preconditions:
• Modest time zone difference
• Limited cultural difference• both national and
SW development culture
• Low-enough language barrier• for enough team members
• Volunteer team members
• Reliable, low-latency network connectivity
Steps for use:
• Setup & try out DPP tooling
• Find volunteers
• Select tasks & form pairs
• Do DPP
• Reflect on DPP sessions
Can only be worked outby technology transfer
Lutz Prechelt, prechelt@inf.fu-berlin.de
6 / 12
Why is Agile Offsharing needed?
Lutz Prechelt, Freie Universität Berlin
We tend to under-estimate what needs explanation:
7 / 12
How is Agile Offsharingtransfer-ready?
1 Pair Programming (PP)
2 Saros, a distributed IDE Ingredients
3 Distributed Pair Programming (DPP)
4 Agile Offsharing trials
Lutz Prechelt, prechelt@inf.fu-berlin.de
8 / 12
1 Knowledge about Pair Programming (PP)
• Research on conceptualizing the PP process since 2004• on real industrial sessions
• Goal: Find helpful behavioral patterns and antipatterns
• Results so far:• Base concepts
• Roles• e.g. Spokesperson, Watchman,
Guide/Robot, Task expert/Mentee
• Knowledge transfer mechanisms
• e.g. Clarification Cascade
Lutz Prechelt, prechelt@inf.fu-berlin.de
time
9 / 12
2 The Saros DPP tool
• Distributed IDE• Plugin for Eclipse, soon also for IntelliJ IDEA• In development since 2006, Open Source• Industrial strength
• >1000 downloads per month
Lutz Prechelt, prechelt@inf.fu-berlin.de
10 / 12
2 The Saros DPP tool
11 / 12
Knowledge about Distributed-Pair Programming (DPP)
• Research on conceptualizing the DPP process since 2010• builds on the PP research
• Goal 1: Find helpful behavioral patterns and antipatterns• Coping with
limited awareness• Making sensible use of
concurrent editing
• Goal 2: Validate usefulness
• Results so far:• Effortless awareness
bridging (Eclipse dialogs)• Prudent, limited use of
concurrent editing• DPP can be as efficient as
PP – or even slightly more
Lutz Prechelt, prechelt@inf.fu-berlin.de
3
12 / 12
4 Agile Offsharing trials
• Just starting, with Lithuanian outsourcing provider NFQ• builds web applications
with long-term customers
• NFQ funds our full-time group member Holger Schmeisky• since 2014-04
• Also: In discussion with 2 large multinationals• we expect to start trials at
one of them later this year
Lutz Prechelt, prechelt@inf.fu-berlin.de
Corporation D
Corporation S
13 / 12 Lutz Prechelt, prechelt@inf.fu-berlin.de
Thank you!