• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Bringing Effectiveness and Sanity  to Highly Distributed Agile Teams

Bringing Effectiveness and Sanity to Highly Distributed Agile Teams



Virtual teams get a bad press - especially in agile world. Anyone who has ever worked in geo-distributed teams know how difficult and ineffective such teams usually are. However due to various good ...

Virtual teams get a bad press - especially in agile world. Anyone who has ever worked in geo-distributed teams know how difficult and ineffective such teams usually are. However due to various good reasons most of the global companies still distribute their teams across geographies. And some of them do it with very good results...

Wojciech has been working in geographically distributed teams and/or for remote customers in Germany, Switzerland, Singapore, Israel, United States, Australia and Canada for 12 years. Some of these teams were far from perfect, whereas the others were very effective and really successful. Despite changing tools or technologies and evolving agile practices, the most important factor in an agile geo-distributed team has remained the same for years - the human.

This presentation covers these values, principles and practices which have proven to be the most important in creating highly productive agile software development culture in geographically distributed environment - including such extreme situations were team members live on the opposite side of the globe (like Australia, Europe and the North America). It also describes how proper tooling not only enables effective remote collaboration, but also provides several advantages over collocated teams.



Total Views
Views on SlideShare
Embed Views



2 Embeds 3

http://twitter.com 2
https://twitter.com 1



Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Better great people abroad, than average locally
  • Better great people abroad, than average locally
  • Cross-functional teams
  • Video over just voice – sleeping warning. 2 – 4 people work best. Avoid more than 7, unless it an announcement
  • Giora Morein Ambassadors and Carrier Pigeons One visitor vs many at a time Cities matter Frequency of meetings Company apartments Atlassian secondmends
  • No sense of responsibility. Us-them approach
  • Also domain knowledge here, devs there Turning developers into „coders” or „programmers” Destroys trust, hampers productivity
  • Communication, travel, management, etc. - overhead Poor workers – poor results Smart workers – they will know how much you earn and get frustrated pretty soon Great people are not cheap regardless of the country, cheap workforce fallacy Esher Derby – train people and they will go, but don't train and they will stay...
  • Remote teams are different Planning is different, dynamics is different It's easy to get disconnected Allocate extra budget for travels
  • Too many F2F meetings – lower efficiency, being a host to often is tiresome, costly Too many virtual meetings – frustration Our rule – max. 1 – 2 virtual meetings a week (with as few participants as possible) Max. 1 - 3 F2F meetings a year More participants => video conf
  • (support, questions from other teams)
  • (support, questions from other teams)

Bringing Effectiveness and Sanity  to Highly Distributed Agile Teams Bringing Effectiveness and Sanity to Highly Distributed Agile Teams Presentation Transcript

  • Wojciech Seliga Bringing Effectiveness … and Sanity to Highly Distributed Agile Teams
    • 27 years of programming (started in pre-school)
    • 8 years with „big international corporations”
    • 8 years with agile
    • 4 years with Spartez
    • 4 years with Atlassian
    • 12 years in geographically distributed teams and/or with remote customers
    About me
  • Do NOT do it, unless ... Distributed agile is difficult Distribution is a huge burden
  • 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
  • Questionable reasons to go distributed
    • Cheaper workforce (hidden overhead)
    • No office space
    • Desire to be „global”
    • Building remote empires
    Photo by dan4th
  • Strive at executing projects using co-located teams. Divide Globally & Conquer Locally
  • Do's
  • Empower all sides Photo by epSos.de
  • There are people who make things happen, there are people who watch things happen, and there are people who wonder what happened James Lovell
  • Skilled & flexible people
    • Agile really reveals problems, remoteness amplifies it
    • Linchpins
    • Self-organisation
    • Passion (wild hours)
    • Domain knowledge
    • Communication
    • Responsibility
    Photo by Helmut
  • 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
  • Face to Face Photo by AndYaDontStop
  • Get to know your remote peers
    • Cultural differences
    • Put names to the faces
    • Responsibilities
    • Strengths and weaknesses
  • Virtual Meetings
    • Iteration planning
    • Release planning
    • Iteration summary & demo
    • Stand-up - once or twice a week
    • Daily progress available online
    • Keep it short
    Photo by Ha-Wee
  • Human bridges
    • Ambassadors
    • Touring rock stars
    • Visiting professors
    • Paratroopers
    • Foreign exchange worker
    • Bottleneck problem
    Photo by noticelj
  • Good communication tools
    • Video conferencing
    • Skype
    • Screen-sharing
    • IM (chat rooms)
    • Issue tracker
    • Wiki
    • CI (!)
    • And more...
  • Code review
    • Disseminate knowledge
    • Build trust
    • Alleviate anxiety
    • Guest programming
    • Post commit vs. pre-commit
    • DVCS and pull requests
  • Rotating the pain Photo by appaji
  • Good fences make good neighbours
    • Projects
    • Subsystems
    • Plugins
    • Vertical components
    • Interfaces
    • Clients / Servers
    • Platforms
    Photo by Hryck
  • Dont's Or how to destroy your geo-distributed endeavour
  • Micro-management Photo by Peter Ito
  • Bottleneck Proxies Icons courtesy of iconka.com
  • Initial Proxies - Dispatchers Icons courtesy of iconka.com
  • They vs. us Syndrome
  • Managers here, subordinates there Photo by Lord Mariser
  • Architects here, developers there Photo by kioan
  • Cheaper workforce abroad Photo by wildphotons
  • Ignoring the fact of remoteness Photo by donata ramonaite
  • Meeting overdose Photo by Steve Smith
  • 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
  • Takeaways
    • Avoid distributed if you can
    • Agile amplifies problems
    • Assign your best people
    • Let people build trust
    • Empower all locations
    • Understand risks
    • Take advantage
    Photo by Edinburgh Blog
  • Questions? e-mail: wojciech.seliga@spartez.com