Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am in charge of a group of about 30 software development experts and architects. While these people are co-located in the companies organization chart, they do not really feel as a team. This is due to their work enviroment:

1) The people are spread over eight locations, with a max. distance of about 1000km (this is Europe).

2) The people don't work as team but instead get called as single people (and sometimes small groups) into projects for as long as the projects run.

3) Travelling is somewhat limited as this requires business reasons. Lot is done via phone.

Do you have ideas or suggestions on how I could make these people feeling part of a joint organization where they support others and get supported by others. So that they get to know their peers, build a network, informally exchange information? So that they generally get the feeling of having common ground and derive motivation and job satisfaction?

share|improve this question

migrated from stackoverflow.com Feb 4 '11 at 15:12

This question came from our site for professional and enthusiast programmers.

closed as off topic by Matthieu, Mark Trapp Jan 28 '12 at 19:44

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

    
You're missing a closing parenthesis on the second item on your list. –  Maxpm Feb 4 '11 at 15:23
1  
@HLGEM, I think the parenthesis should be after (and sometimes small groups, not at the end of the sentence. –  rsp Feb 4 '11 at 16:15

7 Answers 7

Face to face time is always the best, but will be difficult with the travelling restrictions you have (presumably money is the issue?).

That being said yearly, or 6 monthly get togethers would be a good idea. If not all of you, maybe smaller groups can meet nearby to each other to reduce travel costs?

But if travel really is not possible, video conference is the next thing. Make sure they all have webcams and Communicator (or alternative).

Community Wiki's (or some other tech) are a good way to share knowledge/best practices.

share|improve this answer
    
I agree completely. An annual in-person meeting and social outing with my last geographically distributed team did wonders. –  JohnFx Feb 4 '11 at 16:12

I'd first strongly recommend at least one face-to-face meeting for EVERYone. I know this can get expensive and difficult, but it can make a huge difference when everyone actually gets together and hangs out for a while. Have asmall work-relatd meeting than a large social meeting. Drinks, dinner, sports, something people can bond over. If it's popular try to make it a yearly thing to give people something to look forward to.

Also try to encourage more conference calls. If people at least can be in on the same discussion at the same time they'll feel closer and more a part of the same group. Maybe even just one status meeting a week as a conference call. And conferencing can be done in IM chats, doesn't even have to be voice calls.

share|improve this answer

The best way to build a team is to get people to work towards a common goal and succeed. Unfortunately, in your company's case this seems to be out of question, at least for now and directly.

Barring that, try to get as many people as possible together face to face (as @Frustrated suggested), as regularly as possible. If physical travelling is not an option, try to set up videoconference or Skype. Let the meetings be informal, just for everyone to introduce him/herself and talk about what they are doing, their problems, recent successes etc. Soon people will start to notice similarities and points of contact, and they will spontaneously start to build a network of relationships. Once people realise they are working on similar things and struggling with similar problems, they start sharing tips and tricks. E.g. two developers in distinct countries may realise that they are working on very similar projects, so they can join their efforts and/or reuse each other's results, thus delivering a better product faster. Or a developer struggling with a new language may get help from an expert in another country.

This in time may help building up a professional community. Support this by providing the technical infrastructure (e.g. mailing lists, forums, Wikis etc.). The underlying idea is that even if people work on distinct projects one by one, they are still working for some common higher level goal, e.g. to maintain the company's IT infrastructure. If you can define this as a sort of "meta-project", and set "milestones" which give people the feeling of succeeding together, you have the foundation for the people to jell into a team.

share|improve this answer

I've found that video conferencing as often as you can helps make the team feel connected. And not just for "meetings", which I try to avoid all together. But even if it's while you're working on problems, just as you would work with someone who's in the same office. Sometimes I'll just video conference with someone on Skype and just leave it connected while working so I can see and hear what's going on over there and they can here. It takes diligence, but it's been a successful strategy for me.

share|improve this answer

What about grouping your large group of 30 into smaller "expertise" groups? 30 is too wide a field of people for a programmer to be interacting with on a daily basis, in my opinion. If you limited their field of view to say, 4 or 5 people and engaged that group in some tight knit collaboration (as you said, most are single person or small group projects) via code reviews, training sessions with the smaller groups, code collaboration, etc.

The next trick would be how to encourage cross-collaboration between these smaller groups. Option one might be shuffling the group members every couple months or so, but if these groups do develop tighter bonds, they may not want to be shuffled around.

share|improve this answer

Start a website or use a similar one like basecamp, I would prefer my own version instead of using a system like basecamp it will not only make it secure but also confidential, but if you are looking for something readymade go for basecamp, Sree

share|improve this answer

You have to model the behavior you want from them. So when someone does something good or interesting, email the rest of the group telling them about it even if they aren't working on the same project. Set up a WIKI so they can share tips and techniques and sample code. When Marie in Paris is working on something that is similar to something Heinz in Berlin worked on, tell her and have her talk to her counterpart for ideas as part of the project process. Share personal news too. When Nigel's wife is pregnant let the rest of the team know (assuming it is OK with Nigel). When Henri gots his Master's, have everyone congratulate him, etc. When talking to people ask a few questions about how they are, what is new with theire families ec. This is the kind of information that comes about naturally when you are co-located but you have to make an effort to ask about when you are not.

Have conference calls for the whole team. If you can make them videoconferences that's even better.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.