In Agile Development with a Remote Team, your People are the Key
Tafara Pulse | August 14th, 2017
Many software development teams strive for co-location of team members, regardless of whether they’re utilizing agile principles or not. Having people working together in the same office offers advantages in communication, spontaneity, logistics and collaboration. But a lot has changed in how and where people work since the agile manifesto was developed, one of the primary tenets of which is face to face communication (which many people read as co-location).
Conversely, our team of developers, designers, testers and project managers at Palador is dispersed around the US and the world, which offers its own set of benefits to us and our clients, but has also expanded several of our core team competencies. If you also work with a remote agile team, there are many ways in which you should see your team grow as you get more comfortable with working with your people, no matter where they are.
The Key: The 3 P’s
It’s not location, location, location; it’s people, people, people. Every recruiter worth their commission will tell you that, assuming someone is qualified for the job, fit is almost always more important than knowledge. Knowledge can be gained over time, but the right fit…you either have it or you don’t. For me personally, it is a true gift to be able to work with our teams at Palador because as a firm, the people who fit best are those who are curious, driven, accountable and highly competent in their roles. And I love those people. Here are the most important characteristics of everyone on our team:
Without those three traits, our remote teams would be doomed from the start.
Flexibility doesn’t mean that we’re all constantly available to meet any time of the day or night. It does mean working with a higher level of adaptability and openness in the process. Because we can’t just walk over to someone’s desk to have a conversation, we work based on an assumption that we may need to be flexible in when, how and with whom we meet. We also assume a required level of flexibility in what our current priorities are and how our resources are allocated across projects – consistent with the agile methodology but all the more important when your team has to find ways to work around drastically different time zones and availability. True flexibility is also closely tied to an expanded level of communication.
Communication is the ultimate opportunity for improvement in working remotely. You’ll find your communication has to come up to par real quick if, for example, you haven’t communicated everything your team halfway around the world needs as their day starts and yours ends – especially if they are left with questions and you’re fast asleep in the middle of the night. In practice here’s what an expanded level of communication looks like:
- Ask all the questions: everyone, from project managers to testers, has to get good at asking questions, test assumptions early, get extra curious from the perspective of their role.
- Say all the things: even if you think you’re on the same page, go ahead and send that summary email. Put extra detail into each user story. And even if you communicated something by email, make sure it gets documented in whichever project management tool you’re using – you’ll be glad later that you did. Communicate early and often – it’s better to over communicate than to work on assumptions that may turn out to be faulty. Finally, if things aren’t going the way you thought they were going to, speak up. Don’t suffer in silence – either someone else is thinking the same thing or there is an unknown expectation that should be voiced. Either way, progress and fixes only happen in communication.
- Use all the tools: it’s easy to fall into the habit of communicating by email with remote teams, but face to face, or ear to ear, interaction is so important and most effective. Get into the practice of frequently using your tool of choice (skype, google hangout, phone, zoom meeting, etc.) We also use Skype messenger and Slack for questions and updates for the team and clients.
We never know where the next great idea is going to come from, so we rely on a high level of creativity from people in all roles. We are also a relatively small team, so leaving creativity to just a few would limit us in best serving our clients. So, we work with an expectation that everyone on any project team is operating at the peak of creativity and innovation, whether it’s design, coding, testing, strategy or client interactions.
In remote teams, creativity starts with listening – to clients and to each other – to determine where there is space for a creative solution. Creativity is also supported and encouraged in an environment where each team member knows their role and responsibilities, and is willing to be held accountable for their work. When parameters of your role are well defined, you can spend less time worrying about where you have discretion or decision making power, and focus more time on creative solutions for developing the best possible software.
The Takeaway on Remote Teams
There are benefits to having co-located teams. But there is definitely an upside to remote teams as well. What you’ll find is that your competency in specific areas, such as flexibility, communication and creativity, has to expand in order to most successfully work with remote teams. If you can translate those expanded competencies into the work you do for your clients, those clients should notice no difference in whether your team is sitting at the same table or halfway around the world from each other.