Good teams know how to collaborate well. When your team is spread all over the country or perhaps the world, this can be hard to do. Let's pick up where we left off with my last article and talk more about the interpersonal skills we need to keep remote teams glued together. I'll also discuss some support tools that make it easier to implement these real-life disciplines within a remote technical team.
Play To Your Strengths
A few years ago, I worked with a developer who was primarily back-end and had no real exposure to front-end tools. He tried to work through some front-end user stories, but he struggled. Once the Scrum Master realized this, they were able to shift the dev to tasks that better suited him. Occasionally he would still pair with one of the front-end developers to grow his skills.
Knowing our team’s strengths is important. We can’t simply treat people as interchangeable. We have to realize where individuals function best and then work hard to put them there.
We play to our strengths by first attempting to understand what we do well and what we need help with. An article from the Harvard Business Review says that we must ask for feedback and then recognize patterns. Similar to the back-end developer we discussed earlier, we need to have a clear understanding of our skills in order to collaborate well as a team.
Learn From Others
“Everyone you will ever meet knows something you don’t.” -Bill Nye
As we go through our careers, it's important to remember how much we can learn from others. If we can learn from others’ experiences, we can save time instead of repeating our own and others' mistakes.
Ask good questions
Many years ago as a junior developer, I worked with an experienced engineer. His name was Cory, and I remember asking him a lot of questions. Of course, I asked some dumb ones at first, but as Cory continued to share a lot with me, I became more insightful.
Be willing to share
Another person I worked with, let’s call him Gary, didn’t document anything. He also wouldn't tell anyone where code and scripts were. He also didn't care for anyone working on his code. Needless to say, Gary was a nightmare for his co-workers. Eventually, he was let go, and we had to reverse engineer his work to learn what he had done with his code.
If you are willing to share, you are worth more to your organization. You must help develop others so you can take on more responsibility yourself. Working as a team is not a zero sum game. As we give and share more with other developers, everyone's value rises.
Clarify Task Management
Managing tasks when your team is in different locations and time zones can be taxing. The first thing you want to keep track of is who is working on what task. From there, you need to be able to understand their progress. Having one place to track all this data is a must.
Documenting everything that happens in a remote team can clear up miscommunication, as well as gain an understanding of what tasks are completed. It's important that we detail the work and define what "Done" really means. Many agile teams outline their own “Definition of Done,” so no one's quibbling over completeness if we need unit testing or a deployment to an environment.
Offer Targeted Help
One of the potential pitfalls of a remote team is that occasionally people can fall through the cracks. As assignments come and go, it's important to keep a pulse on individuals. If you see someone struggling with certain activities, you may need to pair them with someone who can help.
A few years ago, we had a new developer on our team that struggled to learn a new database framework we recently added. We realized this after he had twice missed his sprint goal tasks, and our tracking software noted they were both database framework tasks. We got him paired with a senior developer for a few sprints, and thanks to some shared tips and a few developer tools, our new teammate became more productive.
Good task management systems can help you spot trends and diagnose problems quickly.
Of course, to incorporate these interpersonal skills -- asking good questions, sharing knowledge, smoothing out task management -- you're going to need some tools to make things easier for a remote team.
Hackpad is a simple way to capture, share, and organize knowledge with your team. It has three main pieces: a pad, collection, and a workspace. The pad is an “editable content page;” think of just a simple sheet of paper. The collection is the label you put on a group of pads to help organize them. The workspace is where your team can work together on a collection of content.
Hackpad could be a great tool for developers to share notes and ideas as they begin to design solutions with remote team members. You can share code and images with it, as well as search easily through shared info on the pads. You can vary security so that team members can work collaboratively, or you can make documents public for guests to view.
Overall, Hackpad seems to be more collaborative than Evernote tries to be. It has native apps for iOS and Android, as well as its web application, and it's free for private workspaces up to five users.
Huddle advertises itself as a cloud-based collaboration software for companies and governments. It's a Sharepoint alternative for large organizations, but in my opinion, Huddle makes sharing files much easier than Sharepoint. It also helps collaboration by handling version control better than most. You can restrict users to certain documents and create approval processes for the changes.
Huddle is designed with the less-is-more principle, so the interface is quite simple. You can create whiteboards to review an application design in Huddle, a powerful feature for your remote team to leverage. It lets you set up folders and subfolders to organize your whiteboards, discussions, or other file types.
There can be a bit of a learning curve at first, so it might take some time to get used to.
Trello has an interface that is quickly understood. It incorporates a series of boards to keep track of projects. A board can hold several cards that correspond to smaller tasks per project. And within each card, you can create lists of items to track progress and organize the project. It' easy to attach files and images to cards, add due dates, and color code labels for more organization.
Most items on the boards are drag and drop, so you can easily reorganize cards as a project changes or things are re-prioritized. It's set up for real-time collaboration, key for remote teams. The basic features are free.
If you like the Kanban style of management, Trello is a nice system that you will intuitively understand.
Obviously there's a lot more to keeping a remote team cohesive than just good communication (though that's an important place to begin). Sharing knowledge and managing tasks are challenging enough for teams with a common workspace. When teams are spread around the globe, we have to approach these issues even more intentionally, with the correct tools and a mindset that's always open to improving the process.
Stay up to date
We'll never share your email address and you can opt out at any time, we promise.