Thursday, January 13, 2011

Effective "Distributed Scrum" Practices

When it comes to Distributed Scrum, the Agile Teams can be located in more than one location.

Some of the Agile Teams are also planned in 3 locations based on the nature of the Business.
Majority of the Teams are Designed as:Onsite & Offshore teams, there are also other Business Models where in we have a Combination of: Onsite, Offsite, & and also a Near Shore.
Below are few of the best Practises which will help when dealing with Distributed Scrum Teams.

1. Active colloboration Between Distributed Teams:
a. Daily stand up Meeting.
The time can be decided by your teams as per your project schedules.
If you are Having a offshore Team in India and a Onsite team in US or Europe , fix the Right Timing.
During the stand up meeting an Online Compuer Screen needs to be shared between two teams, where the Time Reduced or the Impediments are noted down.
Or if u have a SIMPLE WALL - Maintain the Post-Its Movements with a LIVE WEB CAM.
b. Pairing of Onsite and Offshore Team members:
Pairing is one of the best effetive ways to complete a User Story.
To get started, the SAME user story can be shared by 2 team members - 1 in onsite and other in Offshore.
Also Pair Programming Between the Onsite and Offshore can be done by a Shared Desk Top.

c. Team Members Available in Comminicators or Other Messengers:
All the Agile Team members need to be in the common Messenger- Ex: MS Communicator, Skype , or others.
Creation of Project Chat Groups.MS Communicator , Skype haave the facility of creating project groups and the members dicussions on those chat groups.

d. Online Tools: for Story Tracking: virtual story-task board.

The onsite and Offshore Team members to have a virtual task board if possible.

A Simple WALL in Onsite with Great Colloborations will do for most of the projects, but the wall will be more visible only to the OnSite teams.
WIKI: for User story descriptions, Arch Diagrams uploading , functional specs , team info , contant numbers, project related info getting added will help a lot.
f. Time Difference & Over Lapping between Agile Teams:

Select the BEST Timings for Overlap between the distributed teams.
2. Distributed Sprint Planning:
a. When it comes to Sprint Planning involve both the teams to-gether.
b. Do not get only the estimations from only one team, get from both the teams.-- THIS WILL HELP IN THE OWNERSHIP OF THE TASKS TAKEN UP.
3. Continuous Builds, Continuos Test Automation , Big Visible Cruises : or Big Visible Information Emittors on Either sides:
a. if you are planning for a CI System in place , there needs to be a Information Emittors in OnSite as well as on the Offshore.Ex: Cruise Control, TFS, Hudson, Team City. etc.,
b. Also the Test's Passed \ Failed info should be configured on the CI topology.
c. Sprint Burn downs and product burndown based on User Stories to be available on a SEPARATE MONITOR for both the teams.
4. During Demo:
a. During Sprint Demo's if both the teams are present they all can Hear the VOICE OF THE CUSTOMER!
5.Web Cams: Having Web Cams in both the ends will be a great tool for colloboration.

Thanks
Senthil