Tuesday, June 16, 2009

Hyper-Productive Distributed Teams?

Agile and distributed development are not supposed to be able to co-exist. Co-located teams are supposed to be one of the key tenants of Scrum.

If you have this (mistaken) belief, then you need to watch this video and presentation. I actually attended this presentation at Agile 2008 in Toronto. If I remember correctly, there were a few skeptics in the room.

The key points are:
  • Ability to leverage benefits of distributed development
  • Fully transparent teams
  • Seeding new teams with talent from existing teams
  • Automated tests
  • Continuous integration, nightly builds, automated tests, performance testing the whole 9 yards
  • High quality developers in both locations
  • A tight definition of done
  • Travel between the two locations
I think the travel between locations is a key aspect of their success, remember that both "sides" of the teams have to be equal. Equal in "power", information, and influence, and treated equally in terms of inconvenience. The "remote" guys shouldn't always be the ones staying at the office late.

Another important point to distributed Agile, or even Agile in general is that practice doesn't make perfect, practice makes habit.

The presentation wraps up with the potentially explosive statement that distributed Scrum has more value then local Scrum. What do you think?

1 comment:

Steven said...

Distributed development can and does work well within the agile world. We do it today with more than just 2 locations. Our team is split across 2 locations in the US and 1 in Quebec. We use Zed Builds and Bugs for continuous integration and team communication, lots of telephone calls, and (as often as budget allows) face to face meetings to keep everyone in the loop.

It takes work, and a slightly different mindset, but it does accomplish the goal.