Tuesday, 26 March 2013

Testers- Distributed teams_Team Work


A very nice write up by LISA CRISPIN. I found it interesting. Hope my visitor also will find it helpful.


Over the years I've worked in a variety of distributed
team scenarios. In the early '90s, before helpful tools
such as instant messaging, video chat and screen sharing
were common, Back in the ‘80s and ‘90s, I
worked on a testing team that was many time zones
away from the development teams. In the early 00s, I
worked on cross-functional agile teams who were
spread across three locations, with our customers in
only one of them. I’ve been the remote tester working
from home. More recently, I worked on a mostly
co-located team where a senior developer was on the
other side of the world in India. Currently, most of my
team is in either the Denver or the San Francisco office,
but a few testers and programmers work from home.
In all of these cases, I was able to contribute plenty of
value as a tester, the teams successfully delivered

In all of these cases, I was able to contribute plenty of
value as a tester, the teams successfully delivered
quality software, and we all have enjoyed working
together, even when we aren't physically together. Here
are some tips my teams and I have used successfully.
Experiment with them on your own distributed team.

Face time is everything

Get your distributed team together in one physical
location as often as possible. Our team tries to get at
least a majority of members together every six weeks.
Even once a year is better than nothing. This is
invaluable in building personal relationships and trust,
so that the team can really jell, and be able to "swarm"
to tackle any obstacles that appear.
In additional to physical face time, you need virtual face
time. Use video for all meetings and for pairing. It's
worth the investment to outfit each team or remote team

member with a good quality camera, microphone,
speakers and headsets, along with the necessary
internet bandwidth. I don't know what is so magical
about being able to see each other, but it IS magical.

Pair up
The value of pairing for testing is a whole other article,
but you need to gather your courage and give it a good
try. Pair with another tester, no matter where she is
located. Pair with a programmer, pair with a business
stakeholder, just make sure you pair at least part of
every day. Two sets of eyes and two brains are better
than one for thinking up test cases and scenarios, for
spotting irregularities, for having the discipline to
pursue them appropriately. And once you get over the
hump of actually trying it, you'll see it's much more fun
than working by yourself. Be sure to use video and
screen-sharing.

Meet early and often

Have a stand up every day, at a time when everyone can
join it. If time zones make this just impossible, at least
one team member in one location should get up in the
middle of the night to join a stand up for people in a
far-away timezone, then share the information with the
team. Have smaller brief, daily meetings as appropriate.
For example, my team has a full team stand up at 9:05
a.m. which some remote people join. Then at 10:05,
there's another stand up for a sub-team which has
several team members one time zone later. After that
stand up, we have a testing and support "hangout". Each
of these meetings takes only about ten minutes, but it
keeps us all on the same page, and helps us get the most
productivity and enjoyment out of every day.
Use tools that promote collaboration
Use wikis to share information that can help multiple
team members. Keep them well-organized - hire a
technical writer to make sure everyone can find what
they need in this valuable knowledge base. Use
automation tools that encourage testers and
programmers to pair on automation tasks. For example,
choose a test automation framework where non-programmer
testers can specify tests, and the
programmers on the team write the fixtures to automate
the tests. Implement a CI that keeps build and test
results highly visible, and make sure everyone on the
team, regardless of location, takes responsibility to keep
those builds green.

Use retrospectives

Like all meetings for distributed teams, it can be hard
to find a time when everyone can meet virtually, but it
is worth the trouble. Use a shared document online,
such as in Google Drive, to allow each team member to
type their "happy", "puzzled", or "sad" observations.
Make sure each team member has the opportunity and
feeling of safety to contribute. Group and discuss issues,
get a consensus on what the biggest problem is, and
come up with one or two experiments to chip away it.

By LISA CRISPIN


Lisa Crispin is the co-author, with Janet Gregory, of Agile Testing: