The webcast is on agile development is overview of agile being done distributed. In this day and age when outsourcing is the standard and no development is co-located how does a company do agile development. You have license to do what every you want as long as it loosely fits the topic. Please send me the PowerPoint before or right after the presentation.
2. 2
Scaling Agile Practices
Innovation is increasingly being driven by software
Source: Mobile banking: A catalyst for improving bank performance, Deloitte, 2010;
and This Car Runs on Code, Robert Charette, IEEE Spectrum, 2009.
Mobile banking will be
the most widely used banking
channel by 2020, if not sooner
The average 2010 automobile
contains more lines of software
code than a fighter jet
3. 3
Scaling Agile Practices
Source: Numerous sources, see speaker notes for details
2010 Spending in U.S. on governance,
risk and compliance was $29.8 billion
Increasing
Mandates
62% of projects fail to meet
intended schedule
Unpredictability
in Software Delivery
50% of outsourced projects
are expected to under perform
Globally Distributed Software
and Product Supply Chains
Complex, Multi-platform
Systems and Applications
62% of companies have agile projects
requiring integration with legacy systems
30% of project costs are due to rework
and poor execution of requirements
Changing Requirements
and Time to Market
Cost
Reduction
70% budget locked in maintenance and
37% of projects go over budget
2010 Spending in U.S. on governance,
risk and compliance was $29.8 billion
Increasing
Mandates
62% of projects fail to meet
intended schedule
Unpredictability
in Software Delivery
50% of outsourced projects
are expected to under perform
Globally Distributed Software
and Product Supply Chains
Complex, Multi-platform
Systems and Applications
62% of companies have agile projects
requiring integration with legacy systems
30% of project costs are due to rework
and poor execution of requirements
Changing Requirements
and Time to Market
Cost
Reduction
70% budget locked in maintenance and
37% of projects go over budget
Software-driven innovation is challenging
6. 6
Scaling Agile Practices
Agile values Individuals
Interactions
Individuals
Interactions
Respond
to Change
Respond
to Change
Source: www.agilemanifesto.org
Processes
and Tools
Processes
and Tools
Following
a Plan
Following
a Plan
over
We value
That is, while there is
value in the items on
the right, we value the
items on the left more.
Customer
Collaboration
Customer
Collaboration
Contract
Negotiation
Contract
Negotiation
Working
Software
Working
Software
Comprehensive
Documentation
Comprehensive
Documentation
7. 7
Scaling Agile Practices
Agile Framework
XP
• Based on
simplicity,
communication,
feedback,
courage, and
respect
• Start simple and
add complexity
through
refactoring
Scrum SCRUM
• Small teams of 6-9
people
• “Backlog” defined
requirements that
will be addressed
in each Sprint
• Daily 15 minute
Scrum meeting to
discuss work for
the day
Crystal
• Frequent
delivery
• Reflective
improvement
Lean
• Based on 7 core
principles (e.g.,,
• Eliminating waste,
• amplifying learning
• Building Integrity in
from start
• Uses Kanban and
Value stream mapping
to improve team
performance
Feature
Driven
• Develop feature
list
• Plan, Design,
Build by Feature
Test-driven development
Planning game
Pair Programming
Refactoring
Agile Practices - The above methods involve a range of techniques including:
Continuous integration
Design improvement
Small releases
Simple design
Static Analysis
Coding standard
Sustainable pace
Whole team
“Agile” is generally a overloaded term in the industry…
Disciplined
Agile
• People-first,
learning-oriented
hybrid agile
approach to IT
solution delivery.
• It has a risk-value
lifecycle, is goal-
driven, is
scalable, and is
enterprise aware.
Unified
Process
12. 12
Scaling Agile Practices
Why are we distributed?
Speed to Market with “Follow the Sun”
Acquisitions
Access to Needed Skills
Improved Distance Collaboration Tools
Many people work from home even when
they are less than 10 miles from office
“We conclude that there was an
approximate
10% reduction in development
duration -- rather than
the theoretical 50% of FTS.”
Erran Carmel, et al. Follow The Sun Software
Development: New Perspectives, Conceptual
Foundation, and Exploratory Field Study
13. 13
Scaling Agile Practices
Distribution is a major challenge for
Agile teams
338
But many teams still do it.
China
40
Westford
22
Dublin
10
India,20
Sydney
44
Raleigh 79
Boeblingen,
123
Core Team
US 101
Germany 123
China 40
Sydney 44
Dublin 10
India 20
Total 338
Here is an
example from
an IBM
software team
14. 14
Scaling Agile Practices
Dealing with Distribution
Strive for the Richest
Communication Channel Possible
Critical Tools for Distributed Team
Communication
16. 16
Scaling Agile Practices
Edward 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.”
Nonverbal Communication
18. 18
Scaling Agile Practices
Adopt new practices to handling time zone issues
Use a
Liaison
Use a
Liaison
Whole team
Consistent
Date/time
Whole team
Consistent
Date/time
Whole team
Alternating
Meeting Times
Whole team
Alternating
Meeting Times
Documentation
(and chat)
Documentation
(and chat)
19. 19
Scaling Agile Practices
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
DocumentationDocumentation
1
9
20. 20
Scaling Agile Practices
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 MessagingInstant Messaging
21. 21
Scaling Agile Practices
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
2
1
22. 22
Scaling Agile Practices
Taking a Liaison Approach
Pros
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.
Cons
The liaison is basically
“playing telephone”
The liaison may not present
all the details
Risk of fracturing of the team
Negative impact on “whole
team” view
Negative affect on the work-
life balance of the liaison
23. 23
Scaling Agile Practices
Whole Team
Primary roles:
– Stakeholder
– Team Lead
– Product Owner
– Agile Team Member
– Architecture Owner
Secondary/optional roles:
– Domain Expert
– Technical Expert
– Independent Tester
– Integrator
– Specialist
24. 24
Scaling Agile Practices
“Whole Team” Approach
A True Story
Austin, TX
USA Austin at Night by eschipul
St John, NB
Canada
Bangalore
India
http://www.flickr.com/photos/eschipul/5731604153/lightbox/
4:00 a.m.
6:00 a.m.
2:30 p.m.
25. 25
Scaling Agile Practices
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
2
5
27. 27
Scaling Agile Practices
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
28. 28
Scaling Agile Practices
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
30. 30
Scaling Agile Practices
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
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
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
Avoid Duplication
Find potential duplicates
Subscribe team members
Move / Copy work between projects
Rational Team Concert
31. 31
Scaling Agile Practices
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
31
36. 36
Scaling Agile Practices
Distributed Retrospectives
“At regular intervals,
the team reflects on
how to become more
effective, then tunes
and adjusts its
behavior
accordingly.”*
* http://agilemanifesto.org/principles.html
38. 38
Scaling Agile Practices
Summary
There may be good reasons for having distributed teams
Aim for lowest level of distribution possible in a given situation
Choose richest form of communication possible
Foster understanding and collaboration between team members
Actively address language and cultural barriers