Is Agile even possible in a distributed environment? Well, not if you do not want that.
Of course, Agile is much easier in a collocated environment where all team members are in the same room. But even here, Agile is simple, but not easy.
Distributed environment makes Agile hard just because of one very important aspect. Agile is about people and interactions. It is in DNA of Agile. Once people are not thinking about others in the team, once they do not actively work on collaboration and communication, Agile will not help to improve things.
Today’s world offers us a lot of technologies that can overcome problems with the distance. But it is still necessary to want to talk, explain, understand, listen and provide feedback even with those tools.
In ScrumDesk we have sprint planning over Skype. We have our work tracked in ScrumDesk tool itself, but that doesn’t mean we do not need to talk. We use Slack for chat and integration with other tools to stay informed. But we also discuss problems, ideas, and solution in chat rooms. Our team is very distributed one, but that doesn’t stop us in pair programming over Skype, or code review with Git pull-request capability.
But, for important sessions, we try to meet in person. Because brainstorming is much more efficient in person.
Backlog refinement or release planning sessions are better to be done in person. Invest few bucks into travelling. It is once per 2-3 months. But do travel to all locations, rotate locations so everybody feels a pain of travelling. So you are equal. And you can understand the culture, habits, and environment of your team members as well.
Later, with all those tools, the life will be much easier. Because you already will understand the language, mimics, and limits of your colleagues.
We observed many teams working great in an agile environment. The limit is not the distance, the limit is willingness to support each other, understanding of the vision, be sticky to promises given, be disciplinned, transparent and responsible person.