Working with an agile team remotely

Pour la version en français, cliquer ici.

As a product owner at Linagora, I coordinate the development of a new helpdesk software on OpenPaaS with our technical team based in Vietnam. In this article, I would like to share the tools and practices I use with my geographically dispersed agile team.

In normal agile projects, people rely heavily on physical communication and materials to organize tasks and share ideas. For remote agile projects, we have to communicate exclusively through digital alternatives.

Remote collaboration comes with its own challenges

Centralize code on a software forge

At Linagora, we use Gitlab CE to manage our projects. Git version control is essential nowadays to collaborate on code. Once a contribution is submitted, it can be reviewed separately by others without fearing conflict with ongoing work. We use effectively the issue tracking feature to manage our tasks using kanban-style dashbard. Labels allow to categorize tasks and estimate the complexity.

A screenshot of Gitlab

Plan with an online collaborative spreadsheet

We use Sheets to communicate backlog information in a standardized way. User stories are written in the format "As a [role], I want to [goal] because [why]". Each user story has a description on "How to test" and a link to a visual mockup. Tasks for the current sprint are prioritized and updated daily for the burndown chart.

An example of product backlog. Source : Victorpalau.net

Visualize better with mockups

Moqups is a great tool to explain business ideas visually with the team. Creating and discussing over wireframes help detect potential complications early on and adjust the development accordingly. A simplee way to express concepts, is to use pen and paper and send aphoto with a phone.

A screenshot of Moqups

Make the most of communications tools

For our sprint meetings, we usually use Hangouts. The screensharing feature comes in handy at time to demo a feature or share a working document. In case, it’s notpossible to show or attend live, we can also record screen videos in advance.

For asynchronous communication, we have Mattermost, an open source alternative to Slack. It’s an enterprise-grade communication messaging tool very popular among developers. We use it to ask and answer specific questions missed in the meetings. Features such as group messaging, pinned posts, reply threads allow to follow up better the conversation.

A screenshot of Mattermost

Conclusion

Working as a product owner with a development team remotely is possible using only digital tools. The strategy is to formalize different types of information with adequate collaborative web applications, thus saving time in the understanding process :

  • Application business with mockups and video demos
  • Project planning and monitoring through spreadsheets
  • Software development and testing using a code repository

This will enable to have quality meeting time for reviewing, discussing and deciding the coming actions in a remote team. Finally, chat helps cover the remaining use cases.