One of the founding principles of Agile development (from www.agilemanifesto.org) is that “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.” But we all know that development teams are increasingly distributed—often across the globe.
At Sococo we use JIRA, GreenHopper and Confluence to structure and track work and capture content relevant to our product development process. In the end, nothing replaces a real-time, face-to-face conversation. Sometimes it’s a scheduled meeting (e.g., daily stand-ups) or an impromptu meeting to work through complex tasks—from sprint planning and backlog prioritization to a pair of programmers working on a card together.
Our challenge is that only 5 of our 25 developers are colocated on a good day.
It’s not uncommon for us to have our several scrum teams made up of people scattered across dozens of physical locations. Our product is designed to address this fundamental challenge of modern work: getting and keeping teams unified and in sync, even when they’re physically apart.
During a typical standup, one of our Program Managers will be sharing both the Rapid Board and Confluence on screen. As we go around the room discussing status and blockers, we all refer to the same source materials: the Rapid Board showing current work and Confluence with notes from yesterday and today providing continuity and accountability day to day. Following along is stone simple—it should be, standups are supposed to be short and to the point.
Naturally, we need a place to do breakout conversations. Sococo Team Space has the ability to mirror a typical physical development space—a larger room to hold standups, several breakout rooms, and private offices each equipped with audio, video, chat, and application sharing. This lets us continue to resolve blockers or questions raised in standup without holding up the rest of the team.
Team Space is always on, but because heads downtime is so important to developer productivity, it’s easy to signal that to teammates—using over a dozen states of ‘presence’ (e.g., listening, talking, muted, viewing screen shares, etc.). With that said, spontaneity is baked into the architecture of the product. I can find our Server Platform Lead on the office ‘map’ and click on his location to be instantly connected so that we can resolve problems much faster than firing off an email.
The office map is designed to fit our needs as a development team. We have the ability to put a feature or platform team in one place. Our developers can also sit together in war rooms hammering out a particular feature that might require our server and client team to work together interactively to debug quickly and make progress, rather than trading emails. Some teams have taken it a step farther, actually designing agile workflows into their maps: starting with a planning space, moving to a feature space, and ending in a demo/retrospective room—with dedicated spaces for the product owners and a scrum master.
By combining a persistent place to put content (JIRA, GreenHopper, and Confluence) with the ability to bring our people together for real-time communication on a daily basis, our distributed team feels like a collocated team—and that’s priceless.