This turned up in one of the LinkedIn groups I'm part of - what practices should you have as a team lead in a distributed team (assuming people work from home, for example)?
- Have a shared skype chat for the whole team, and always have someone senior enough available to answer important or administrative questions.
- Get the team together once every x days/weeks, and in that time, make people work as much together as possible.
- on skype, show your true status, so people know when you are or are not available. When you are available, answer. if you are not, set status to busy.
- Set fixed times when people are expected to be working. These times should be acceptable by everyone. Don't Ask people to work in crazy hours because that is what you do
- If you are not going to be online for a few days (such as vacation), mention it clearly, when you will be away and for how long.
- Let people know when you come back..!
- To keep people focused and not stuck, it's good to have a virtual daily standup meeting when everyone is online.
- If that is not possible, have daily one on one on skype for a few minutes about today's and yesterday's progress with each team member.
- Hold code reviews on commits to make sure quality is up to par. If you are not available to do code reviews, make the time to do it, and teach others how to review code, so you don't become a bottleneck.
- Give people access to ask questions directly with the customer if possible. If it's not possible, and you are the only contact to the customer, make sure you are not a bottleneck, or at least try to add people in the project to conversations you have with the customer, so they get a feel for what the project is envisioned like to them.