10h time-difference-creating-effective-highly-distributed-teams

Post on 16-May-2015

832 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Talk by Wojciech Seliga done at Agile Eastern Europe 2010.

TRANSCRIPT

Creating effective highly distributed agile teams

19h time difference3 continents

Wojciech Seliga

2

● 26 years of programming● 8 years with „big international corporations”● 7 years with agile● 3 years with Atlassian● 11 years in geographically distributed teams

and/or with remote customers

About me

Distributed agile is difficult

Do NOT do it, unless ...

4

Valid reasons to go distributed

● No local talent available● Specific skills elsewhere● Customers elsewhere● Round the clock team● Great people move

Photo by Linus Bohman

5

Invalid reasons to go distributed

● Cheaper workforce (hidden overhead)

● No office space● Desire to be „global”

Photo by dan4th

6

Do's

7

Skilled & flexible people

● Agile really reveals problems, remoteness amplifies it

● Linchpins● Self-organisation● Passion (wild hours)● Domain knowledge● Communication● ResponsibilityPhoto by Helmut

8

Build trust

● Deliver good stuff on time

● Do not overcommit● Meet deadlines● Be honest● Be transparent● Respect each other● Avoid bad surprises

Photo by rogiro

9

Face to Face

Photo by AndYaDontStop

10

Get to know your remote peers

● Cultural differences● Put names to the

faces● Responsibilities● S trengths and

weaknesses

11

Virtual Meetings

● Iteration planning● Release planning● Iteration summary &

demo● S tand-up - once or

twice a week ● Daily progress

available onlinePhoto by Ha-Wee

12

Human bridges

● Ambassadors● Touring rock stars● Visiting professors● Paratroopers● Foreign exchange

worker

Photo by noticelj

13

Good communication tools

● Video conferencing● Skype● IM (chat rooms)● Issue tracker● Wiki● And more...

14

Code review

● Disseminate knowledge

● Build trust● Guest programming● Post commit vs. pre-

commit

15

Rotating the pain

Photo by appaji

16

Good fences make good neighbours

● Projects● Subsystems● Plugins● Vertical components● Interfaces● Clients / Servers● Platforms

Photo by Hryck

17

Dont's

18

Micro-management

Photo by Peter Ito

19

Managers here, subordinates there

Photo by Lord Mariser

20

Architects here, developers there

Photo by kioan

21

Ignoring the fact of remoteness

Photo by donata ramonaite

22

Cheaper workforce abroad

Photo by wildphotons

23

Meeting overdose

Photo by Steve Smith

24

Advantages of distributed teams

● Someone round the clock ● Less conflicts during commits and fixing tests● Taking over work started in the morning● Code reviewed by next morning● Time to cool-down before responding● Shorter and intensive communication● Fun (new places, new cultures)● Better computing resources utilisation - CI env is yours

25

Takeaways

● Avoid distributed if you can

● Agile amplifies problems

● Assign your best people

● Understand risks● Take advantagePhoto by Edinburgh Blog

26

wseliga@atlassian.com

Questions?

top related