Arthur Richards - Distributed Agile

Premise

Summary

How the mobile web engineering team at the Wikimedia Foundation became a successful Scrum team by embracing geographical distribution.

Learning Objectives:

Session attendees will learn:

Best practices and effective tools for fomenting and managing remote collaboration.

Collocation often breeds bad habits and obscures best practices; team distribution, like Scrum or other agile practices, can help highlight those problems.

Feel empowered to embrace rather than fear geographical distribution on an agile team.

Understand the enormous benefits of adopting a 'we are all remote' mindset - freedom, flexibility, diversity, larger hiring pool, resilience, etc.

In addition, session attendees will be asked to think about and discuss the agile principle “the most efficient and effective method of conveying information to and within a development team is face-to-face conversation”.

Summary

Content rating (0-no new ideas, 5 - a new ideas/approach, 9-new ideas): 8

Style rating (0-average presentstion, 5 - my level, 9-I learned something about presenting): 5

Action / Learning

Present idea that “we are all remote” at some stage and that we'd like to ensure we have resilience to handle this

Present idea that collocation often hides problems in the way the team works and is especially problematic for the remote people - they cannot just ask and so waste time waiting / doing things that aren't important

Take advantage of cadence of scrum

Present sample rules

For decisions - If it didn't happen on the mailing list, then it didn't happen

Single source of truth (eg wiki, Jira)

To reduce arguments - always assume good faith (and if you cannot see good faith then you must resolve it with a video chat)

Rule of 3 - decisions had to involve a rep from each discipline (they had 3 on the team)

Use face-to-face time not for work but for fun to help with social cohesion

Use of video chat

Action - see “we are all remote” PDF - John O'Duinn

Presentation

Notes

Wikimedia

Remote people as afterthoughts in the organization Was in San Fransisco moved to Arizona

Communication was harder - remote exposes this Use make an opportunity out of crisis

Workflow tracked on a wiki Poorly described Vague Not in priority order Multiple people work on same thing Multiple people setting priorities Never knew when we were done Endless cycle of context switching

Never new what to do next

Only thing that I had changed was that he had gone remote When local could work around the problems with the process Access gone to change Collocation obscures bad practice on the team

Try agile Agile does not solve problems It helps expose them

Retrospectives All about communication Lack of facilities to deal with it

Distribution exposes communication problems

So what did we do

Scrum rituals became invaluable Became important as virtual face to face Regularity and predictability helped Helped with remote people as could plan for it

Looked at the tools All about facilitating good communication

Task board online Video chat for the team Also relying more text chat as well

Had to equip all the offices in conference rooms (without having to use someone's laptop)

Tools helped but retrospective Create norms - all document

Rules

If it didn't happen on the mailing list, then it didn't happen That way everyone knows the decisions if all not involved Had side effect of reducing conflicts as a result of different understanding of decisions

Single source of truth One place where you can go to get your work done. Reduced context switching and thumb fiddling

Text based comms Meant a lot of arguments broke out Happens things like

So rule was “Always assume good faith.” No matter what you read assume other person is good intention Get on video chat if you have a problem with something you read

Rule of 3 One discipline has a problem, but others Had to be at least one from each discipline on all important decisions

Face to face time from time to time Not just working Helps with bonding, compassion, etc Get together once a quarter Eg went to house of air, trampolines, trampoline dodgeball Believe the help make general comms better

Can be applied to any team

We are all remote Adopt as a mindset for the team - a Marta Stop 2nd class citizens thinking Helps when you are on vacation, sick, travel, work from home etc Even when team is co-located Anyone can be remote. Minimize disruptions as a result of these things happening Created a sense of resilience. Can handle big disaster - work will still go on Gave team a sense of freedom Increased the hiring pool - not just San Fransisco Increased cultural diversity (important for global product like Wikipedia) Coverage - span timezones

Team satisfaction = better product Competitive edge

But agile principles says …

Used as justification But lose out on all the benefits

Don't take out of context

What do the rules really mean - it's just a principle

Cost vs benefit

Lose out on sense of resilience

Technology has changed - video change

Summary

Embrace remoteness Distribution highlights problems

How daily scrum Experimenting with dedicated chat where everyone contributes to asynchronously - answering questions, and also working issues and making comments

Action - see “we are all remote” PDF - John O'Duinn

Arthur@wikimedia.org

Jobs.wikimedia.org