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

26
Creating effective highly distributed agile teams 19h time difference 3 continents Wojciech S eliga

Upload: agileee

Post on 16-May-2015

832 views

Category:

Documents


3 download

DESCRIPTION

Talk by Wojciech Seliga done at Agile Eastern Europe 2010.

TRANSCRIPT

Page 1: 10h time-difference-creating-effective-highly-distributed-teams

Creating effective highly distributed agile teams

19h time difference3 continents

Wojciech Seliga

Page 2: 10h time-difference-creating-effective-highly-distributed-teams

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

Page 3: 10h time-difference-creating-effective-highly-distributed-teams

Distributed agile is difficult

Do NOT do it, unless ...

Page 4: 10h time-difference-creating-effective-highly-distributed-teams

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

Page 5: 10h time-difference-creating-effective-highly-distributed-teams

5

Invalid reasons to go distributed

● Cheaper workforce (hidden overhead)

● No office space● Desire to be „global”

Photo by dan4th

Page 6: 10h time-difference-creating-effective-highly-distributed-teams

6

Do's

Page 7: 10h time-difference-creating-effective-highly-distributed-teams

7

Skilled & flexible people

● Agile really reveals problems, remoteness amplifies it

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

Page 8: 10h time-difference-creating-effective-highly-distributed-teams

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

Page 9: 10h time-difference-creating-effective-highly-distributed-teams

9

Face to Face

Photo by AndYaDontStop

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

10

Get to know your remote peers

● Cultural differences● Put names to the

faces● Responsibilities● S trengths and

weaknesses

Page 11: 10h time-difference-creating-effective-highly-distributed-teams

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

Page 12: 10h time-difference-creating-effective-highly-distributed-teams

12

Human bridges

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

worker

Photo by noticelj

Page 13: 10h time-difference-creating-effective-highly-distributed-teams

13

Good communication tools

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

Page 14: 10h time-difference-creating-effective-highly-distributed-teams

14

Code review

● Disseminate knowledge

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

commit

Page 15: 10h time-difference-creating-effective-highly-distributed-teams

15

Rotating the pain

Photo by appaji

Page 16: 10h time-difference-creating-effective-highly-distributed-teams

16

Good fences make good neighbours

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

Photo by Hryck

Page 17: 10h time-difference-creating-effective-highly-distributed-teams

17

Dont's

Page 18: 10h time-difference-creating-effective-highly-distributed-teams

18

Micro-management

Photo by Peter Ito

Page 19: 10h time-difference-creating-effective-highly-distributed-teams

19

Managers here, subordinates there

Photo by Lord Mariser

Page 20: 10h time-difference-creating-effective-highly-distributed-teams

20

Architects here, developers there

Photo by kioan

Page 21: 10h time-difference-creating-effective-highly-distributed-teams

21

Ignoring the fact of remoteness

Photo by donata ramonaite

Page 22: 10h time-difference-creating-effective-highly-distributed-teams

22

Cheaper workforce abroad

Photo by wildphotons

Page 23: 10h time-difference-creating-effective-highly-distributed-teams

23

Meeting overdose

Photo by Steve Smith

Page 24: 10h time-difference-creating-effective-highly-distributed-teams

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

Page 25: 10h time-difference-creating-effective-highly-distributed-teams

25

Takeaways

● Avoid distributed if you can

● Agile amplifies problems

● Assign your best people

● Understand risks● Take advantagePhoto by Edinburgh Blog