Tools and Techniques for the Distributed Agile Team
The Agile Manifesto asserts that co-location & face-to-face communication are essential components to a successful software development team. However, with today’s technology, co-location is just a click away.
In this post, we’ll discuss online tools for the following Agile techniques:
- Pointing Poker
- Teamwork in general
When searching for tools, we needed something easy, useful, and of course, free. For our team, that included Microsoft Office as it was already a company standard.
Note that neither myself, nor Keyhole Software is affiliated with any of the tools listed.
I hate to admit it, but our scrums have been a lot more productive since we switched to a video conference versus a standard voice conference meeting. I hated the idea of being on video, but the added team comradery alone is worth the extra hassle and equipment.
Some of the tools we reviewed:
- Lync/Skype for Business
- Firefox Hello
- Google Hangouts
The Winner: Lync/Skype for Business
We decided to go with Lync because it was the only “free” tool that allowed more than one person’s video feed to be shown at one time. Most of the tools researched either only allowed two participants total or would allow multiple participants but only display the current speaker.
Lync will show 5 videos at once in one row, with the rest of the participants shown as anonymous blue & white heads across the bottom. We had hoped to find a “Brady Bunch” / “Hollywood Squares” type of display, but this is only available for a fee.
- Eye contact is extremely important in all conversations, and that is no different in a video call. If possible, make sure you are facing in the same direction of the camera. If you are looking at a different monitor, or down at notes, it appears that you are not paying attention or even sleeping! It is easy to tell when someone is reading or distracted. It is helpful to put the videos of the other participants on the same monitor/direction of your camera.
- Eat, drink and chew gum at your own risk. Videos will often freeze-up for a second or two and you could be seen with a mouthful.
- When possible, use the same meeting id or link for all meetings so that members can easily join the conversation.
- Many people have problems with echo on the audio. The sound comes out of the speaker and directly back into the microphone and everyone’s ears start bleeding. The best solution for most situations is a headphone / microphone combination – but you will still need to make sure that the attached speakers & mic are turned off.
- Keep your microphone muted if you are not speaking. We quickly learned to communicate through hand signals and head nods to speed things up. You can tell someone is ready to talk, when they start stumbling to find the unmute button ☺.
- Be patient. Everyone will work out their technical difficulties within a week or two.
- Expect distractions: cats on desks, kiddos combing Mom’s hair. As long as the distraction is minimal, go with it. The team could always use a good smile.
When a team is located in the same place, Pointing Poker is done with a deck of cards. Each player shows their card at the same moment and then discusses until a consensus is reached.
At first, we attempted to use Lync’s Messenger feature, but having everyone enter in their vote at once was more than Lync could handle. Plus, it was easy for anyone to “cheat” and not make a selection until they saw posts from other players.
We then tried using Lync’s Video as a tool, by having everyone hold up a card, or a number of fingers to indicate their vote. This didn’t work well, because we could only see 5 people at a time (using Lync). Others had to start talking so that their image would make it to the top 5. It was annoying to say the least.
Some of the tools we reviewed:
- PlanningPoker.com by Mountain Goat Software
- PointingPoker.com by Matt Ruwe
- Planning Poker for Hangouts by nearsoft
The Winner: PointingPoker.com
PointingPoker.com has as simple, uncluttered interface and the ability to vote stories without importing a bunch of data. The author supplies the tools for free, but asks for $10 donation if you find the product useful.
- Everyone should have access to the website to vote, even if they are in the same co-located conference room. Most mobile devices work well at least for the voting; some of the summary areas can be hidden by adverts.
- PointingPoker.com allows the player to change his or her vote as the discussion progresses until a consensus is reached. Many view this as a “cheat” as each player should be prepared to discuss their vote before re-voting. Personally, I think changing your vote as the discussion continues is an effective time saver. This will work as long as all players are willing to speak up when they feel strongly one way or another.
- Appoint one person to clear & show votes at the appropriate times. This person should also put a Task # or short description at the top of the screen so everyone knows what is currently being voted on.
- Have someone share their screen to show the user story currently being voted.
- If you use TFS or other Project Management software, provide a query that will list all the stories to be voted so that players can follow along and lookup information as needed.
One of the key components of the Retrospective is the ability to express thoughts anonymously. At first, we designated one person to receive emails from everyone and compile a list, but this was less than ideal.
A search for an online solution found only one option. Fortunately, it was a good one.
The Winner: PointingPoker.com/Retro
There are two modes to this tool:
- Entry Mode
- Review Mode
In Entry Mode, everyone can enter their thoughts with a check box indicating they choose to be anonymous. In this mode, all entries are hidden except for the ones entered by the current player. In Review Mode, all of the entries are listed in plain text.
- Throughout the sprint, keep a running list of things you’d like to say in the Retrospective. Sticky Notes on the Windows platform is a quick and easy solution.
- Open the online Retrospective session early to allow team members to post their thoughts ahead of time. (Don’t open it too early though, or you will risk losing some entries.)
- Keep one person in charge of the “Entry Mode” and “Review Mode” options. Each note should be read aloud to the team and then discussed.
Many are concerned with the effectiveness of teamwork in a distributed environment. In reality, it is no different than a co-located environment. In my experience, both types of teams use some type of Instant Messenger – even when the developers are back-to-back in the same room!
- Sharing screens and allowing another person to walk you through your code or giving them control is a great way to share knowledge and get passed those “what the…?” coding moments.
- Keep in mind that an Instant Message and shared screen can be used with multiple team members at once. This is a great tool when smaller teams are working on the same code base.
- Be real. Don’t be afraid to share a funny picture of yourself, kids or pets. As long as this is done only once in a while, it helps others remember that you are not just words on a screen.
Tell me about your experiences
What tools and techniques does your distributed team use? Join in on the discussion in the comment section below.
— Donna Beger, firstname.lastname@example.org