Agenda Collocation What is Distributed Agile? Is it really Agile? Why? What does it require? Challenges Overcoming challenges Distributed Scrum Avoidance Misconceptions Success Stories Final Thoughts Q & A
Collocation
Alleviates communication issues when it comes to meetings, pair programming, etc.
Good fit for methodologies like Crystal Clear
Ideal, but not always possible
What is Distributed Agile?
Teams or team members are not collocated
Do not necessarily have to be geographically dispersed
Is it really Agile? Our highest priority is to satisfy the customer
through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Is it really Agile? Build projects around motivated individuals. Give
them the environment and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Is it really Agile? Continuous attention to technical excellence and
good design enhances agility.
Simplicity--the art of maximizing the amount of work not done--is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Why?
Complete software projects faster with improved quality
Deliver success Save money Reduce risk Tap into a talent pool that is not
available locally
Why?
The problem is getting worse instead of better. We have less success and more failure.
34%
51%
15%
2003
SuccessOver BudgetFailure
32%
44%
24%
2009
SuccessOver BudgetFailure
STANDISH CHAOS REPORT
What does it require?
Bring everyone together at the beginning
ExperienceIf you haven’t tried Distributed Agile, try
Agile first. Training & Certification
A trained individual should be responsible for coaching the rest of the team.
Business analysts may need to job shadow subject matter experts.
What does it require?
Your existing tools can still be utilized but you may require additional ones.e.g. IM, Video Conferencing, Webcams, etc.CI is a must
Consider 3rd party services to host infrastructure to alleviate latency
May require a small team that is solely responsible for integration (depending on the size of the project).
What does it require?
IterationsStart with month long sprints and adjust
accordingly Strong Scrum of Scrums
Possibly a weekly meeting which must be attended in person
Travel preparationsVisas, passportsImmunizations
Challenges
CommunicationMisinterpretationDelayed responsesDifferent languages
CoordinationDuplication of effort, re-workOpposite time zones
Project and process managementDifficult to determine progressDifficulty synchronizing work between sites
Challenges
TechnicalIncompatible data formats, standards, etc.
Domain knowledge Product vision Blame Game
Overcoming challenges
CommunicationUse simple language and slow downAgree on Agile terms and practicesTake advantage of collaboration toolsDon’t rely on email aloneDedicated rooms and equipment so team is
able to meet on an ad-hoc basis Coordination
Overlap working hoursIncorporate a team calendarProject shutdown (everyone takes vacation)
Distributed Scrum
Isolated ScrumsTeams are isolated across geographies. In
most cases off-shore teams are not cross-functional and may not be using the Scrum process.
Used by most outsourced development efforts.
Outsourced teams typically abandon Scrum and fall back to Waterfall.
Distributed Scrum
Distributed Scrum of ScrumsScrum teams are isolated across
geographies and integrated by a Scrum of Scrums that meets regularly across geographies.
Promotes sub-team unity as opposed to team unity.
Best practice recommended by the Scrum Alliance.
Distributed Scrum
Totally Integrated ScrumsScrum teams are cross-functional with
members distributed across geographies.The project is integrated into a single whole.Single code base.Retain core knowledge.Recommended for experienced Agile teams
at multiple locations.
Avoidance
Fixed Price Model Non-Software Development projects
e.g. upgrades/migrations Minimal User Involvement Lengthy Internal Processes Perfection Large Dispersed Team Older Technologies Non-Agile Teams
Misconceptions
By performing daily scrums we’re being Agile
Being Agile means you accept all changes
Agile does not require documentation Agile/Scrum/Extreme Programming (XP)
are synonymous Distributed Agile is always the best
approach
Success Stories
Eclipse “Callisto”Simultaneous release of 10 Eclipse toolsets262 committers12 countries72,000 resolved bugzilla entries6 million LOC
Success Stories
BMC software7 teams, 135 people in 4 cities (Texas,
Calif., Pune India)4X faster time to market4.5 months for 600 stories & 596K LOCteam was 2X larger than average study
teamsame defect rate for level of effortindividual team productivity up 20-50%
Success Stories Jeff Sutherland – Xebia
Teams of peers split between Netherlands and IndiaBrought entire Indian team to Netherlands for 2
iterationsRotating travel schedule between sitesPair-programming across continentsHeavy use of video conferencingFull XP practices, high quality (95% defects found in
iteration)15 function pts/dev/month vs. Cohn‟s reported 6-person
colocatedteam results of 16 function pts/dev/monthConclusion: fully distributed Scrum more valuable than
localized
Final Thoughts Maximize face time
Travel when necessary Distributed Agile is not a good fit for all
organizations Re-evaluate and take corrective action
at the end of each sprint DASD is not simply an extension of
Agile, but rather a complex undertaking that involves Agile
Final Thoughts Distributed Agile is gaining worldwide
acceptance.Many success storiesIt was addressed in a few sessions at Agile
Alliance 2011.○ Distributed Scrum: Why some teams make it
work well and others don't○ Distributed 3d Conference Ready Rooms
Top Related