achieving the full potential of your distributed agile team (agileaus 2013)
DESCRIPTION
Achieving the Full Potential of Your Distributed Agile Team. A workshop for those working in complex environments. Given at Agile Australia 2013TRANSCRIPT
Achieving the Full Potential of Your Distributed Agile Team
A workshop for those working in complex environments
Scalable. Flexible. Open.
Dipesh PalaAgile Capability Lead
Kurt SolarteAgile Practice Lead
@KurtSolarte
au.linkedin.com/in/ksolarte
@DipeshPala
au.linkedin.com/in/dipeshpala
Morning AgendaTopic1. Background and Introductions 9:00
Social Contract
2. Why are we distributed?
Group Discussion: Why are you distributed?
BREAK 10:30
3. Types of Distribution 11:00
Exercise: What are your greatest challenges?
4. Choosing Communication and Collaboration Methods
Demo: Collaboration with Rational Team Concert
5. Time Zone Issues
Exercise: Picture with 2 sentences
LUNCH 12:30
Afternoon Agenda Topic
LUNCH 12:30
Exercise - Mini Farm 1:30
BREAK 3:00
6. Language and Culture Issues 3:307. Dealing with Teleconference Dysfunctions8 . Tips for Distributed Agile ActivitiesOpen Discussion
Close 5:00
Part 1:
Background and Introductions
Our Social ContractWe, as a team, agree that:
we will…
•
•
And we will not…
•
•
Our Social ContractAnyone breaching this social contract will be rewarded with an opportunity to enlighten the rest of the team with a small motivational talk. The topic of the talk will be randomly picked by the individual from “the jar” that will be pre-populated with a selection of topics.
All team members are requested to submit a topic by placing a stick-note with the talk title in “the jar”. You can continue submitting the random topics as you come up with them in the future.
Each talk should be no less that 30 seconds and to a maximum of 2 minutes in duration.
Our Expectations
Agile Scaling Factors
Agile Community Survey Circa 2007
Members from 7 Business Units responded -- SWG, STG, GBS, GTS, CHQ, Research, Learning Members in 12 countries (India, China, US, Netherlands,
Sweden, Germany, Italy, Ireland, UK,Brazil, Mexico and Canada) provided feedback98 projects were represented
What is Your Greatest Challenge?
#1 Challenge for IBM Teams was…?Working as a distributed team!
Note: This is just one unit, IBM Software Group
CanadaToronto,Ottawa
Montreal, Victoria
EdinburghLondon / StainesMilton Keynes
Haifa Rehovot
ChinaBeijing
Shanghai Yamato
Taiwan
ParisPornichetBeaverton
KirklandSeattle
Foster CitySan FranciscoSVL/San Jose
AlmadenAgoura Hills
IrvingEl SegundoCosta MesaLas Vegas
AndoverBedford, MABedford, NHLexington
WestboroughWestford
Cambridge
CorkDublinGalway
IndiaBangalore
PuneHyderabadGurgaon
Cairo
Rome
Gold CoastSydney Canberra
Fairfax Raleigh
CharlotteLexington, KY
AtlantaBoca Raton
TampaPerth
KrakowWarsaw
Sao Paulo
Malaysia
Delft
Stockholm
PittsburghPoughkeepsieSomers
Rochester, MNBoulderDenver
Lenexa, KATucsonPhoenixAustinDallas
Boeblingen
HursleyWarwickYork
SouthburyNew York CityPrinceton
Example Mid-Size Team
338 Members World Wide
China 40
Westford 22Dublin 10
India 20
Sydney 44
Raleigh 79
Boeblingen 123
Core TeamUS 101Germany 123China 40Sydney 44Dublin 10India 20Total 338
We turned to the broader Agile community for discussion…
…and to the creators of Scrum for
validation of adherence
to spirit
Agile transformation
is a culture change
“Culture reflects the realities of people working together every day…
…a set of values, practices, and traditions that define who we are as a group.”
--Frances Hesselbeim
Uwe Kils) http://www.ecoscope.com/iceberg/
Of course, Agile provides us with values, practices, traditions…
Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
Agile ManifestoValues
Satisfy the Customer
Our highest priority is to satisfy the customer
through early and continuous deliveryof valuable software.
Welcome Change
Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
Deliver Frequently
Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
Business + Development
Business people and developers must work
together daily throughout the project.
Trust the Team
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
F2F Communication
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working Software
Working software is the primary measure of progress.
Sustainable Pace
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Technical Excellence
Continuous attention to technical excellence
and good design enhances agility.
Simplicity
Simplicity--the art of maximizing the amount
of work not done--is essential.
Self Organizing
The best architectures, requirements, and designs
emerge from self-organizing teams.
Reflections
At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.
Embrace the values and principles to fully benefit
Part 2:
Common Reasons for Distributed Teams
Group Discussion:
Why are you distributed?
Do you consider it a “valid” reason?
Distribution - Why & How
Access to New Markets2012 Gartner CEO and Senior Business Executive survey:
Expansion into new markets or geographies was one of top three 2012 priorities.
Cost Reduction
“In Asian countries, labor cost is very low. In India, the labor wages are less than 50% of their equivalent labor in USA and other European countries.”*
*Fabriek, Matthias, Reasons for success and failure in Offshore Software development projects, Department of Information and Computing Sciences, Utrech University, The Netherlands, August, 2007.
Growth Country
2012 Cost Index
% Cost Advantage
China 74.2 25.8%
India 74.7 25.3%
Mexico 79.0 21.0%
Russia 80.3 19.7%
Brazil 93.0 7.0%
KPMG’s Competitive Alternatives survey
Expanding for Innovation and Thought Leadership
“Multinational companies
produce more ideas than purely domestic counterparts.”
Chiara Criscuolo "Why Are Some Firms More Innovative? Knowledge Inputs, Knowledge Stocks, and the Role of Global Engagement"* April 2004
Telecommuting and Convenience
“30 percent of workers in India, Mexico, and Indonesia claim to telecommute regularly, and one in ten overall work from home every day.”*
*http://www.reuters.com/article/2012/01/24/us-telecommuting-idUSTRE80N1IL20120124
Speed to Market with “Follow the Sun”
“We conclude that there was an approximate10% reduction in development duration - rather thanthe theoretical 50% of FTS.”
Erran Carmel, et al. Follow The Sun Software Development: New Perspectives, Conceptual Foundation, and Exploratory Field Study
AcquisitionsAs of June 6, 2011 IBM had invested more than $14 billion in 24 acquisitions to expand just its analytics capabilities.
Microsoft has acquired approximately 148 companies.
Cisco has acquired approximately 153 companies.
Access to Needed Skills
Improved Tools for Distance Collaboration• High-speed Internet• Voice Over IP• Video Conferencing• Whiteboards• Electronic Meeting Tools• Electronic Whiteboards• Collaborative editing tools• Chat• Email• Blogs• Forums• Social Networking• Mobile/Smartphone• ALM Tools…
Part 3:
Types of Distribution
Types of Geographical Distribution
* Greater opportunity for language and cultural differences.
Collocated
Collocated part-time
Distributed with overlapping work hours*
Distributed without overlapping work hours*
Increasing Challenge
Isolated Scrum Teams
Deliverable A:Cross-Functional Scrum Team (3-9 Team Members)
Deliverable C:Cross-Functional Scrum Team (3-9 Team Members)
Deliverable B:Cross-Functional Scrum Team (3-9 Team Members)
Sutherland and Schoenheim, Fully Distributed Scrum, 2008
IBM Global Business Services Examples
Distributed Scrum of Scrums
Scrum of Scrums1. What did your team do yesterday?2. What will your team do today?3. What blockers do you have?4. What blockers might you throw in another team’s way?
Sutherland and Schoenheim, Fully Distributed Scrum, 2008
IBM ResearchTechnology Integrationand IBM Global Business Services Examples
Totally Integrated Scrum (with Scrum of Scrums)
Deliverable A:Cross-Functional Scrum Team (3-9 Team Members)
Deliverable B:Cross-Functional Scrum Team (3-9 Team Members)
Deliverable C:Cross-Functional Scrum Team (3-9 Team Members)
Scrum of Scrums
Sutherland and Schoenheim, Fully Distributed Scrum, 2008
Large-scale Product Development Examples
Feature Teams
Team is aware of how their work addresses the needs of end users.
Dependencies are reduced. Handoffs are reduced. Planning is easier. Design issues are found and
corrected earlier.
Administer user accounts
Administer Web server accounts
Bill for services
Administer email accounts
Feature teams work on customer-centric capabilities delivered as features in the final product.
Component TeamsWhere teams are focused primarily on “layers” or components rather than features:
Limited understanding of problem Increased dependencies Delays for feature teams Bottleneck for feature teams that use the
components Slower to detect and correct design flaws Creates risk
Feature:Administer
user accounts
Component Team:
Database TeamComponent Team:
Web Services Team
Component Team:Billing System Team
Feature:Administer
Billing details
Component Teams
Exercise:
What is the greatest challenge that your Distributed teams (might) face?
Challenges & Tips
Part 4:
Choosing Your Method for Communicating and Collaborating
Strive for the Richest Communication Channel Possible
Nonverbal CommunicationEdward T. Hall (1959), a renowned social anthropologist, argued that in a normal conversation:
“More than 65 percent of social meaning occurs through the nonverbal channel.”
Critical Tools for Distributed Team Communication1 •Conference phones and headsets
2 •Screen sharing
3 •Instant messenger
4 •Video conferencing
5 •Agile Project Management (Electronic Storyboard)
6 •Lifecycle Management
That Was Basic Communication…
What About Collaboration?
Silo’d teams; disconnected data
Important discussions are lost to email -project records are missing the “real reason” for decisions
Unified team shares linked data
ALM environment tracks what is important for delivering
“Am I blocking others” “Are others waiting for
my approval”
www
Collaborating in Real-time and in Context of Project Work
Team Awareness Shows team members and their online
status Discussions kept with work for all time
Change Awareness Automatically links to changes if
mentioned in chat
Drag and drop any work item or query into chat
Avoid Duplication Find potential duplicates Subscribe team members Move / Copy work between projects
Rational Team Concert
Part 5:
Dealing with Time Zone Issues
Approaches to Time Zone Issues
Use a Liaison
Whole teamConsistent Date/time
Whole teamAlternating
Meeting Times
Documentation(and chat)
Using documentation
Anyone who cannot attend documents their answers in an e-mail or wiki
The Scrum Master reads their answers in the meeting
BUT… Lack of opportunity for Q&A Less rich communication vehicle People don’t always read about what team mates are doing Reduces the whole team experience Reduces peer pressure
Meeting via instant messaging (form of documentation)
Transcript of session produce notes for the meeting Makes the meeting easier for non-native speakers
BUT… Complete loss of non-verbal communication Difficult to gauge if everyone is paying attention Depends on the Scrum Master to start on time Hard to follow if the meeting is not structured
Instant Messaging
Taking a Liaison Approach Team schedules the meeting at
two different times Team members attend at the
meeting time most convenient to them
One team member serves as a liaison and attends both meetings
Liaison communicates information from the other meeting
47
Taking a Liaison ApproachPros
Better for sustainable pace
Allows for a degree of visibility on everyone’s work
Can be better than docs because people can ask questions.
Richer communication medium.
ConsThe liaison is basically “playing telephone”The liaison may not present all the detailsRisk of fracturing of the teamNegative impact on “whole team” viewNegative affect on the work-life balance of the liaison
Exercise: Describe this in 2 sentences…
(in 1 min)
3 Important Questions
What days/times work best for you (including hours outside of normal hours)?
Which days/times are okay?
Which days/times are off limits?
1
2
3
Even if you have fancy tools… ask!
Or, you can alternate meeting times for whole team Team identifies two different times
for the meeting Team alternates the time used for
the daily scrum at a set frequency (every day, every week)
Everyone is encouraged to attend Anyone who cannot attend
documents their answers in an e-mail or wiki
The Scrum Master reads their answers in the meeting
52
Alternating Meeting Times
Pros
Everyone shares equally in the compromise
Aligns best with interactive spirit of Scrum and Agile
Verbal communication
Opportunity for Q&A
Greater pressure to deliver on commitments
Cons
Challenging for sustainable pace
Some may not be willing to share the pain
Loss of information from members if team members don’t show up during the hours that are bad for them
Distributed Scrum GameMiniature Farm
Game: Miniature Farm
The aim is to create a miniature farm while using the Distributed Scrum Framework.
TimingsEvent Duration
Release Planning / Planning Poker 30 mins
Sprint (including Sprint Planning) 6 mins
Sprint Review 5 mins
Sprint Retrospective 5 mins
Final Production Release (Demo) 5 mins
Miniature Farm – Release Planning (30 mins)
Inputs• Product Backlog• Product Vision• Team Capacity• Risks, Issues, Dependencies
Agenda Product Owner presents the product vision and goals Product Owner reviews key milestones and dates Product Owner presents the first cut of the Product Backlog Team asks questions to understand the stories Team estimates the stories at a high level Team estimates initial capacity/velocity per sprint Team produces a Release Plan Key Risks, Assumptions, Risks and Dependencies are recorded
Miniature Farm – Sprint Planning
Inputs• Product Backlog• Prior velocity• Team capacity• Risks, Issues, Dependencies
Agenda Product Owner proposes the Product Backlog for review Product Owner and Team review and clarify each item Larger Stories are broken down if necessary Team and Product Owner clearly define the Acceptance Criteria for every story Team estimates all resultant stories Team selects the stories they can complete within this sprint Team identifies the Sprint Goal or Theme Product Owner agrees with the order in which work will be completed
The Agile Farm
Part 6:
Language and Culture Issues
Literally Speaking…
Publicity photo from Oprah Winfrey show. Some rights reserved.
What does this mean?
Paul is a bit blue today.
Paul ist blau.
Paul is true blue.
Until Paul is blue in the face.
Communication Tools
Addressing Language Issues
1 • Keep language simple
2 • Say the same thing more than one way
3 • Give everyone a chance to be heard
4 • Use text or verbal as needed
5 • Confirm understanding
6 • Use translator/transcription as needed
Cultural Differences
The meaning of
“Yes”
Cultural Differences
1 • Impacts effectiveness of communication
2• In some cultures, it is
inappropriate for someone to say they do not understand the speaker
3 • Humor does not always translate well
4• Each person interprets
conversation based on their cultural background…
5 • Impact on Holiday Schedules
Part 7:
Dealing with Teleconference Dysfunctions
Teleconference Dysfunctions
Side conversations One person talks too much Lack of understanding Lack of attention Too little information “Us” vs “Them” Assuming commitment
Teleconference TipsMake sure
everyone can dial inWork in meeting
rooms with telephones
Identify the speaker until team becomes
more familiar
Handle missing visual cues
Encourage participation
Limit the side conversations
Mute the linesCheck for
agreement and disagreement
Name a remote team representative
When nothing else works, everyone
dials inEveryone is a
moderator
Part 8:
Tips for Distributed Sprint Activities
Trust and Connection
Get to know each otherCulture, customs,
personality, family, likes, dislikes…
Distributed Planning May have to do planning in two chunks of time
rather than one solid (4-hour) block Will need/want an electronic agile planning tool
to pull stories into the Sprint plan Typically use electronic modeling, drawing
tools and screen sharing. May do some diagrams offline and share electronically.
Easy Planning Poker (Chat, everyone enters the number of story points)
Teams will share files and links to facilitate discussions
Distributed Daily Scrums
Distributed Retrospectives“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”*
Demos
“Rotation” Approach
Example Social Contract We commit to be honest with each other. If we have a concern, a doubt, a worry,
or if we see a problem, we commit to surface it to each other immediately. If we are unhappy about something that has happened, or something that the
other has done, we commit to surface this immediately to each other. We commit not to escalate a problem to upper management without first trying
to work it out with each other. If an escalation does become necessary, we commit to letting each other know in advance, so it doesn't catch anyone by surprise.
We recognise that people make mistakes and have misunderstandings, and that the important thing is to find and fix the mistake or misunderstandings as quickly as we can. For this reason, we commit to each other that there will be no retribution for surfacing a problem or a concern, a mistake or misunderstanding, or for speaking honestly.
Key Takeaways1. Even though one of the primary tenets of The Agile Manifesto is that teams need to be
co-located, it’s no longer required for everything
2. If you’re not co-located, tight collaboration and coordination is imperative. Make sure that everyone is communicating, both in real time and in non-real time
3. Tools are critical, but they are not the only answer. It’s necessary to have good processes in place, and for team members to meet in person as frequently as possible
4. Technology will help bridge most obstacles so code review, wikis, discussion forums, bug tracking, requirement tracking, Continuous Integration and SCM tools are very important
5. Having one integrated platform helps breeding synergy, transparency, productivity and trust increases efficiencies across projects and organisations.
WOWs!, Risks, & Parking
Related Books
Thank YouOur Contact details:
Dipesh PalaAgile Capability Lead
Kurt SolarteAgile Practice Lead
@KurtSolarte
au.linkedin.com/in/ksolarte
@DipeshPala
au.linkedin.com/in/dipeshpala