Distributed team is always a big headache to software development. In this presentation we will discuss what are the key elements of a distributed team in terms of success, and share a case study.
4. Challenges in distributed development
The most efficient and effective
method of conveying information to
and within a development team is
face-to-face conversation.
Challenges in distributed mode
Melbourne
Mon 3:00 pm
Pune
Mon 9:30 am
5. Case Study
MPLS
JIRA
Lync TV
Our client company includes
insurance and banking across
Australia and New Zealand.
The first Australia commercial project to IBM
GDC China.
Distributed Agile is something new to both
parties.
IBM confidential
6. Goal of This Pack
Principle guiding the goal and vision
Distributed Delivery is the ability to leverage an Agile approach to specifically
address the needs of geographically dispersed team.
We have a One Team culture and a single way of working across multiple
locations…
Maximizing
communication
Working togetherCommitment
TrustShared GoalCommon Vision
Goal is to identify tools, techniques, environments and
practices to minimize the impact of distribution
7. End to End
Patterns of Distributed Teams
Allocate a complete work package to a co-located team for end to end delivery.Preferred
Single
Backlog
Of Work
A
Single
Backlog
Of Work
B
Sydney
End to End
Delivery
Team
Melbourne
End to End
Delivery
Team
Pune
End to End
Delivery
Team
Sydney
Analysis
Melbourne
Build
Pune
QA
Dispersed “team”
× Not
recommended
pattern.
Build capability in
each location and
try to move to
preferred model
Build capability in
each location and
try to move to
preferred model
8. On-Boarding and Induction
New joiners should learn by
actively participating in the
project rather than reading
documentation about it
3 Circles of training
There is no substitute for learning
about another culture than through
first hand experience.
Agile
fundamentals
Technology
Training
Domain
Training
Cultural
Awareness
Training
Way of working
9. Wall Set up and Distributed Social Contracts
Rotating ambassadors
John (Scrum Master)
Desk: +61-123-456-789
Mobile: +61-123-456-7890
Office hours: Mon-Fri, 8am-
6pm PST=8:30pm-6:30am
India time
Share your availability so that the
team knows when to reach you
Teams, especially newly formed
ones, should have a social
contract Display it in a
prominent place for
both on and off shore
teamsThere is no generic social contract
to suit everyone. Each team
should agree one specific to their
needs.
Social
contracts
10. …
Delivery Process
Work Deploy
Update
Progress
Work Deploy
Update
Progress
Daily
Scrum
Work …
Wrap UpReady
Daily
Work
Daily
Work
Daily
Work
Deploy
Sprint
Planning
… Review Retrospective
Run
Sprint
Release
Planning
Sprint Release
DeliverInitiateConcept
11. Lync TV
We use JIRA tool to
synchronize our physical
wall between Shanghai
and Brisbane.
IBM confidential
Agile Ceremonies in distributed team
12. Dashboard
Planning Meeting If Geographically Distributed
Ensure the planning and
estimation is done
together
Groom the backlog continuously
and together with the partner
team
Product
owner
Must Prioritize
Estimate together
Use Confluence Wiki as
much as possible to
exchange ideas, gather
requirements
Sprint NSprint N-1
Melbourne
Mon 3:00 pm
Pune
Mon 9:30 am
13. Daily Scrum If Geographically Distributed
Common Stand up:
Applicable for small teams
Use video over plain audio where possible
Two patterns of stand up
Separate onshore/offshore Stand up:
Separate stand
up local time
Scrum of Scrums
between the leads at
a convenient time
Melbourne
Mon 3:00 pm
Pune
Mon 9:30 am
Melbourne Pune
14. Melbourne
Mon 3:00 pm
Pune
Mon 9:30 am
Review If Geographically Distributed
Use video over plain
audio
Shared responsibility is
critical for success
Set up Reviews at mutually
convenient time
15. Retrospective If Geographically Distributed
Use video over plain audio
A group retro for discussing and
finalizing Top 3 goals for the project at a
convenient time
Each team will run separate retro at
their local time and identify Top 3 items
Tip: Teams could share desktops, use smart boards
Large teams could use this pattern
as well
Ensure to get
security teams’
permission
before using
any online tools
Melbourne Pune
16. Facilitation tips
Get to the meeting 10 minutes
early to set-up & test any
technology needed.
Encourage participation:
- Listen for attempts to speak
- Ask for opinions directly
- Monitor engagement with the topic
Ensure 1 conversation at all times.
Multiple conversations become noise
over telecommunication equipment.
Ensure everyone is on the same page
- Repeat/summarize conversation that
may not have been heard correctly
- Use shared whiteboards to visualize
what is being discussed.
Nominate a co-facilitator
on the remote site. Agree
on signals for when the
discussion isn’t clear or
attention is waning.
17. Measures of effectiveness
We have achieved targeted service level, met expectation in Agile
partnering, and good client satisfaction.
Maturity
Velocity
Quality
Sustainability
Agile maturity assessment tool, quarterly all teams exercise.
Velocity tracking.
Minimizing the number of defects.
A sustainable model – rotation of Scrum Master role – increases
understanding of process and team capability.
18. Rotation model
Core team member:
Deep understanding of the technology and
application of his team, able to lead the
others to success
Other team member:
Good understanding of the technology and
application, able to complete tasks with
help from core team members
Core team
members
40%
Non-core
team
members
60%
Core team
members
Non-Core team
members
Team1
Core team
members
Non-Core team
members
Team 2
Rotation type 1:
non-core team member rotation
Frequency: 3 months
Percentage: Max 30% of the team
Rotation type 2:
core team member rotation
Frequency: 6 months
Percentage: Max 10% of the team
Individual
Team
structure
Rotation
Model
Cross
Domain
Cross
Skill
Cross
Role
IBM confidential
19. Hand offs in Geographically Distributed Teams
Melbourne team leaving
late
Pune team arriving early
Minimize hand offs Find ways to get more time for
interaction between onshore/offshore
Overlap time 1.5 Hrs
Typical day
Melbourne
Pune
9 AM 5 PM
10 AM 6 PM
Overlap time 3.5 Hrs
Pattern: Come early/Leave Early
Melbourne
Pune
10 AM 7 PM
10 AM 6 PM
Overlap time 3.5 Hrs
Pattern: Come early/Leave Early
Melbourne
Pune
9 AM
5 PM
8 AM 4 PM
20. Common Smells & Antipatterns
Lots of rework
Testing is done only in one
location
Offshore teams not included in
discussions/meetings
Lack of shared vision
Low energy/morale in offshore
team
Too much of email
communication and lack of in
person communication
Poor communication
tools/technologies
Us and them mentality
Remote teams don’t have
access to customersMultiple teams in same city