mark rajpal. poll agenda collocation what is distributed agile? is it really agile? why? what...

31
DISTRIBUTED AGILE Mark Rajpal

Upload: roderick-barnett

Post on 27-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

DISTRIBUTED AGILE

Mark Rajpal

Poll

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

What is Distributed Agile?

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)

Overcoming challenges

TravelDetermine when it really is necessary

Overcoming challenges

ComraderyCelebrate holidays, customs

Distributed Scrum

3 ModelsIsolated ScrumsDistributed Scrum of ScrumsTotally Integrated Scrums

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

Q & A