What Is the Best Way To Build a Virtual Team?
stoolpigeon writes "The department I work in is growing and including new members that live quite far apart. Right now most people are in the same office but new members are in Singapore and South Africa, with more coming from other places. I would be interested in Slashdotters' recommendations for software, practices, services and anything else that can help build strong virtual teams."
Try to have a quick team meeting meeting every day on Skype/VOIP, if possible. People can start to stray "off message" if left to themselves too long (not through laziness, or anything). If they are in the same office, that can is normally regulated.
Lots of small targets as well as an overall project target.
Do try to have face to face meetings occasionally.
America, Home of the Brave.
Frosty fucking piss.
Constant communication is important. Getting each member of the team to have their voice heard in a call each day reminds everyone that they're dealing with Real People(tm) and not just names behind e-mail addresses. If you have a travel budget, try and get 1 person to the bigger team now and then. This can be a PITA with visa requirements for South African's - not sure about your Singapore staff.
A chat and email solution is one aspect.
But we humans can convey more information via spoken language and mimics. An audio and video connection for interacting with the team member across the globe is important.
Use IM with integrated Audio and Video, and which enables desktop sharing for collaborative working.
To stitch further the sense of a team despite of the distance, you can extend the office with the view of the other offices' common room filmed from a camera onto a video wall. Of course there is a privacy issue, and not everybody is comfortable with it. It is worth a try
When do we get the connected rooms across several rooms from Dan Simmons' Hyperion???
Keeping a team together across extremely disparate timezones in a gigantic PITA. I wish you luck.
So, there's two categories of things you need. You need equipment/services to make it possible. And you need to create a sense of "team" among the members, which is harder to do when you're not in the same room.
Stuff:
-campfirenow.com. A web-chat for multiple users, where you can see what you missed while you weren't logged in.-
-Webcams. There's still such a thing as body language.
-Project management software. We use fogbugz to track dev projects. Whatever you industry is, you might want something similar, because you can't just lean over and explain the issues to your team members. Also, it's good to have a record of issues so you don't forget.
-Various kinds of shared desktop software. You'll want to be able to show people things, instead of just typing out descriptions.
-Extra desks. We have extra desks for team members who work from home. If they come in, they won't be homeless, sitting on a tripod, and working on a 10 year old machine.
Teambuilding:
-Try to meet for socials now and again, wherever you are in the world. Paintball/Steak/Strippers, depends on what people want to do, but don't skimp on money. You don't want people to feel like they're just sitting in front of their computer taking orders from a web page.
-Sometimes, you'll need people to actually work together. Looming deadlines and important launches will benefit from flying people in to work face-to-face.
-Generally, the more life-like contact, the better. I've seen offices where remote users were on webcam, able to join in the banter.
If your an american and your giving american jobs to people offshore, your a traitor to your country,.
Seriously, i would go for Google Apps for Business. Whats not included by default, you add as an app.
Hivemind harvest in progress..
Seems my copy-paste skills have degraded.
Hivemind harvest in progress..
As someone who manages distributed teams, I think the most important thing is for people to work together in person for a short time regularly.
If a new person joins a team, fly them over to work with the rest of the team for a few weeks. Fly them over again next year for a while.
This sounds expensive, but in my experience the way in which it engenders trust, and facilitates better communication and collaboration across your skype, webcam, irc, messenger, campfire etc channels once they go back is invaluable
What are you trying to achieve, how are your teams split up, what kind of collaboration is required. South Africa will have the downside of expensive broadband (due to Telkom monopoly), but it is better than it was a few years ago.
For video conferencing you can do small teams / groups with software like Oovoo, skype etc, or you can buy a decent dedicated system like Lifesize (now owned by Logitech). There are other more well known names in vid conf as well, but that you can just search to find them. Google docs (or M$ road if you want) will give you mail/storage/collaboration on documents.
A WAN optimiser (Riverbed etc) or at least some form of caching on either side if you want to go the VPN route will also improve performance. As mentioned by other posts, the most important thing is plenty of communication between different locations. Some form of decent intranet with regular updates, plans, comment posting etc would also not hurt...
Well, first use git or mercurial. Then set up an in person meeting of the team at least once at the beginning of the project. A lecturer at UCLA told me that projects are 70% more likely to succeed if people meet face to face once. I don't have a link to the original research that claims this, though.
I'm assuming you're taking about software teams.
- Make sure the usual stuff is in place: Bug tracking, version control, build servers,...
- Agree on a common language. In this world and age, English would be a good choice. All documentation, email communication, variable names, comments etc. are to be written in that language.
- Different time zones can cause wasting a lot of time. Have team members from different areas work on different modules/parts of the project so that you don't need to depend on each other *too* much.Do have occasional meetings (ugh) to stay on track. Where you must have more interdependency between different parts of the project, try to have those bits worked on by time zones that are closer together to avoid wasting time. But the physical separation can also help encourage modular code.
- Make sure you have some kind of instant messaging in place to contact these team members in real time.
- When working in international teams, network availability will become an issue - you must have your network infrastructure under control. If you have one version control repository or bug tracking system and the network is unavailable to a remote location, their work may grind to a halt. Redundant network connections help. Also, if you can cater for "offline" working by running periodic syncs, that could be very helpful.
- Finally, agree on which software to use and make sure everybody in the team can use it. Using Visual Source Safe as version control system is probably a bad idea if some of the team members are running on Linux.
There is no reason this should not work. As someone said earlier, a chat and email solution are a necessity.
I work for a virtual team. Roughly 50% of the team work in the building where I work, but the rest are scattered all over the country, The first thing that happens in virtual teams is that people lose track of each others' skills. For something that would take five minutes to find from a team mate, I have at times spent hours finding the information from other teams, because I didnt know someone had worked on that before. Then we started sending out emails to the team - At First these would start with elobarate apologies for sending out emails to tne entire team - slowly people realized that it was effective, and the apologies are being cut down. If a culture is set where such emails are not seen as offensive, then it helps a lot. However, There are elitist techies in every team who somehow snigger when an email is sent to all the team. If such attitudes can be kept minimal, it works.
posting anonymous on purpose, most of my team do follow slashdot
Use tools like Webex/GoToMeeting/OCS where you can have an integrated A/V meeting and use local telco numbers to control costs. Be aware about the telco plan of the vendor (included or not and at what cost per minute). Webex used to charge for the telco minutes but I don't know what they do these days. GoToMeeting is free as far as I know but check to make sure.
Set up a collaboration environment like BaseCamp (if it's for Project Management) or MS Team Studio, Atlassian JIRA/Confluence if it's for development work.
If possible implement a way to easily work on documents together (either in-house or externally with something like Google Docs/Office 365 depending on what's allowed by company security policy).
Heavily promote the use of these tools and train people in effectively using them. Some people have difficulty starting up with these tools and end up not using them to initiate anything.
http://virtualize.wordpress.com/
virtual(a): existing in essence or effect though not in actual fact; "a virtual dependence on charity"; "a virtual revolution"; "virtual reality"
So are you actually looking for the best way to create a team that does not exist but does produce an outcome? I think you are already there :-)
Or are you looking for software to support the communication between teammembers in such a way that they really feel to be a part of a team? Then I would look for software that is already integrated with the way of working of your team members (msn, skype, email, subversion) etc
- In Memoriam: Jeroen de Bruin (1972-2004), bye bro
If the members of your team are globally distributed, I'd drop conference calls for many decision-making meetings. Whilst you may have staff that are happy to partake in a conference call at 7pm local time, they will get frustrated with not being as fresh as others where the meeting is being held at 10am their time. For those that are tired, having already worked a full working day, it will prove very difficult for them to efficiently express their side of an argument. Look at how the open source community solve this - discussions are carried out over a number of days via email, with plenty of time available for each contributor to reply and formulate their answers.
Many of the software/practices/etc. for a team are very different depending on what they're doing, and there's no sense of that in the question. For teams of spread out developers working together, you need strong version control and issue tracking software. Teams doing support will need ways to collaborate on a shared knowledgebase. The right software is very dependent on the job.
The only general thing all projects like this need is good communications software. You're going to want simple text chat sometimes, shared multi-party voice calls others, and small video conferences others. Skype is the only thing I've found that does a reasonable job on all of these things at once. I now have calls linking people in 7 countries with chat and/or audio. You can do better for each specific requirement with other software though.
Also, you really need to get as many team members as possible together at least once a year. You can blow through all sorts of unproductive things people have been hung up in a single good dinner with your co-workers.
Okay, so my methods might sounds a little unorthodox, but the key point is that your team will be working together day in and day out on projects, and if they're geographically spread out they will not have the same in-office experiences that they would if everyone was 1 cubicle away.
Getting everyone together around a speakerphone for a conference call isn't a bad place to start, but if all you do around it is talk shop (and I mean just talk shop, no distractions allowed, etc...), I worry about the cohesiveness of your team.
Getting everyone to log in to a multiplayer game and shoot each other (or some cooperative thing, if you like) might seem like a waste of time to your boss, but even an hour or two a month could really engender greater feelings of community. Or have a birthday party and send a small version of the cake along to the people overseas so that they can join in with everyone else. Having a bit of a repor with other members of the team can really draw you together and make you more willing to help each other out so that the overall project will succeed.
And besides, who doesn't want to shoot their coworkers, from time to time?
coding is life
Why are my new team members so far apart?
Maybe you're putting a bandaid over a symptom, rather than solving the problem.
Now, trust comes in many forms but the most important one requires that you actually know the people involved. Contrary to popular websites marketing, you never really know someone until you've spent time in their presence and you can't do that via email, "friending" them or even across a video connection. You actually, really, do have to be in the same room as them: see how they talk naturally, know their interests, strengths, weaknesses, dislikes, aspirations and find some common ground.
So, bringing them to your country gets a little bit of the way. But you really need to get people out to them - so they're the home team, too. If your people aren't willing to do this, then they don't really have much in the way of commitment to a global team - they're probably either doing it simply to have a "follow the sun" support operation, or so they can pay the foreigners paltry rates. A truly global team is not a cost-saving measure or something to be done on the cheap. It requires money, time and effort to make it work. You do all have passports, don't you?
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I am in the UK, and work with a team in Finland, India, Czech Republic, Germany, Lithuania and Sweden... I work with no-one else in the UK. Communicating regularly and often around work topics is a given, both in group meetings and just by following up with IM or a quick call. I make the assumption that you have an appropriate toolkit, such as Office Communicator / Lync, and LiveMeeting or whatever you prefer, but you need something to chat, speak, video call and conference with.
The real challenge is really getting to know someone virtually: by that I mean not just what they do, and what their work strengths and weaknesses are, but also what they enjoy away from work and what their personal situation is. This is the sort of stuff that gets discussed at lunch, making a drink, or whatever, that simply doesn't often get considered when working virtually.
It's difficult because you can't force it, but on the other hand it does pay dividends as you actually do end up building a real camaraderie. I end up just chatting on IM with colleagues to see if they had an interesting weekend, and take it from there.
I also like to be reminded of where the team is, and in what timezone, and what they look like: I have a world map printed on my wall with photos of the team pinned to it. (Well, a powerpoint slide printed!). It helps cement someone in your mind, I find.
One thing that helped put the icing on the cake is a one-off, physical meeting. Yes, this is expensive, and yet it takes a week out of everyone's schedule practically, but the value in building relationships with colleagues and making friends of colleagues really cannot be over-stated.
Another potential communication issue worth considering is that native English speakers tend to speak fast, and use odd colloquialisms from time to time. Recognise this, slow down, and explain colloquialisms: you'll find non-native English speaking colleagues greatly appreciate this, and will often start a chat to question word use, constructions, sayings, colloquialisms or whatever which is a great way to build a better relationship, too. It's also fascinating to find the literal translations in many languages as the expression for 'you're pulling my leg' in Russian translates to English as literally 'you are hanging noodles off my ears'.
Most of all, have fun, and built a relationship of trust.
All of the above regarding regular communication... ...plus a private Quake 2 server for periodic tournys.
Just make sure the server is hosted in each office each time for lag balancing purposes.
All collab tools suck, they are either too monolithic and inflexible or they are feature anaemic and lack integration options. Just ensure you have a good document revision system (and workflow and revision processes are followed) and you should be able to slog it through using the variety of woeful collab tools available like the rest of us.
screen + irssi + ip phones + fogbugz / (redmine if you want to be free) + git.. solved.
One of our C-levels installed Lifesize kit in our inter-continental offices last year - for about $10,000 an end. So far I've failed to see how it's any better than "ordinary" video conferencing through IM-like software such as Skype, but he loves being able to point a big remote control at a big Sony screen and push buttons to make stuff happen. Sure, the high-def video from the pan-tilt-zoom cameras is pretty but the sound is so bad we're still using the Polycom spiders we've had all along to make international calls in parallel.
... I can tell you that our upload speeds generally suck. So - you can get data onto your workstation fairly quickly (ADSL is between 4 and 10 mbps, depending if your' on the exchange and with the faster 3G packages you can get close to 20 mbps) but uploading data rarely goes over 512 kbps. Also the cost of data is still fairly high, especially 3G.
So - think about this when you are continuously syncing data up and down stream :-).
When you're remote everyone needs to feel valuable, cared for by the organisation and spared annoyances.
Let the flames be thrown at me for this one: I actually like Sharepoint to keep on the same page as a team. ~
Look Here, you can buy wholesale designer brands products from china
===== http://www.chinadesignerwholesale.com ====
Wholesale Brands shoes(adidas shoes,nike shoes,air jordan shoes etc.) ( $34.99 – 42.99)
Wholesale designer shoes(Gucci shoes, YSL shoes,coach shoes,LV shoes etc.) ( ,l v,Gucci ,d&g) $44.99
45.99-69.99)
Wholesale designer Handbags(Coach
Wholesale Tshirts (Polo ,Gucci,ed hardy,) $19.99
Wholesale designer Jean(Gucci,True Religion,ed hardy,coogi) $49.99
Wholesale designer Sunglasses(Oakey,coach,gucci,fendi) $16.99
Wholesale New era cap $10.99
Wholeslae designer Bikini (Ed hardy,polo) $21.99
Accept Payment : paypal, credit card, Western Union, MoneyGram
You buy more than USD100, free shipping for you.
IRC ftw. - Fast, textbased, privte chat when needed, multiple chatchannels for different groups.
And you don't have graphical smilies or video, so no one will fall for the temptation of laggy video conferencing.
- To understand recursion, we must first understand recursion -
1. UK ENGLISH IS NOT INTERNATIONAL ENGLISH. AMERICAN ENGLISH IS NOT INTERNATIONAL ENGLISH.
Avoid slang and colloquialisms if anyone new is in the conversation. Think HARD about what might be slang or idiom. Be particularly careful to avoid phrases where the meaning is the opposite of the individual words.
Learn what "mistakes" are common in speakers from particular countries and learn how to go around them. Often non-native speakers will use academically correct English which sounds imperative and aggressive to idiomatic speakers. e.g. "I'll have John look at that" is perfectly natural American English but sounds imperialist even to English English speakers. I've noticed Indian staff often do the opposite and what should be "you must, otherwise this project is doomed" becomes "if you don't mind when you can get around to it if it's not too much trouble."
2. Remember cultural references are not universal, despite Coca-Cola Co's best efforts. Watch out for this when drawing analogies, especially with TV shows, social situations, and personal money.
3. Be patient. It's not anyone's fault that you were born 9000 miles apart. If a communication doesn't make sense or seems offensive on first sight, check.
4. Quick phone meeting every day is essential. Try and find a slot that isn't the end of day for anyone (can be tough to do that depending what timezones are involved.) And I do mean quick - 15 mins - and have a tight agenda e.g. "UK hotspot/news, India hotspot news, Singapore hotspot/news." Be careful about what "today" and "tomorrow" means in practice. "End of tomorrow" is probably "first thing the day after tomorrow" for someone on the call.
5. Unified Comms is great if used properly, but do remember it's not face to face conversation and works on different assumptions. Instant messaging is particularly dangerous because written English and spoken English do not operate on the same set of assumptions; but in IM it's tempting to mix it up. I ran two similar projects in a bank two years apart; the second time, we had Office Communicator and it made the whole thing a HELL of a lot easier. I was astounded by how useful it was.
6. In a virtual team, it's very likely that not everyone in the team will be in the team full-time. Be aware of that and don't assume that "four hours work" means that it will be done the same afternoon. Ask.
7. Notice how far down this list technology is...
"... and more and more now there are all kinds of electronic goodies available" -- Pink Floyd 1972
Two words: Google Wave.
HAHAHA..
Just kidding. All you need is irc. And maybe a task tracking program.
Glad I could help.
This is of course, assuming you're trying to solve the problem of not being able to get everyone into the same room. Also things differ quite a bit based on what type of work your team does. Since you're asking slashdot, I'm assuming your team is technical like ours. Here's what worked:
I'm working with a small team with members in three different timezones, up to 8 hours apart. That makes any of the immediate-mode forms of communication, like Skype and IRC, difficult as it always requires someone to make themselves available outside of normal working hours.
What we've been doing is using a team blog in which each team member writes a brief summary of what they did each day, raises flags on potential issues, etc. Email is used for more extensive temporal discussions.
We're running on two-week agile cycles, so once every two weeks we have a half-hour teleconference in real-time, which helps to keep people from drifting too far apart.
We use Code Collaborator for code reviews. It's got a couple of minor annoyances but on the whole is working pretty nicely for us.
-deane
Oops, nasty 90s flashback.
I have been working with such setup since 2006, being myself the only team member in the country. There are 3 key aspects to consider very carefully. ... . Cisco showed me something called virtual presence. It is like a window to the coffee corner of an other office. Looks like a toy, but really helps to see you are not alone, and not so far from one another.
- Some people just don't have the discipline. All team members must be predictable in terms of when they work, how to get in touch them, if/what/when they will deliver. It is a lot harder to track what remote team members are doing, and it gets really painful after a short time.
- Have the right tools. You must be able to talk, chat, share screen, have voice conference,
- You must meet once, and build a relationship. You must meet in case there is a problem. Some policies enforce regular meetings. It's good if you have the budget, because it allows people to organize in advance and look forward to when they will resolve such or such issue.
http://connectnow.acrobat.com
It's like facebook - but for business.
...such as the "basic" Skype (or with a Group Video subscription, gives you a little facetime, or to give a bit more of an immersive feel, SecondLife has a good few island plots (such as Bluepill) that demonstrate the value of CVEs.
Operation Guillotine is in effect.
As is known to all, digital radiography represents the largest medical imaging technology in the past 10 years, which is widely used in medical fields. Guangzhou Yueshen Import and Export Company follows the era’s need and provides the advanced digital radiography system to meet international standard. After 10 years development, the company has become one the world's leading medical x-ray machine exporters with advanced medical x-ray technology to meet customer needs.
I use Taskwise to manage my team, simple and easy www.taskwise.com - free web based app with a desktop client for the power users.
Comment removed based on user account deletion
http://www.novell.com/products/vibe-cloud/ this post looks like spam, but give it a try!
Google Apps + Skype
A couple of suggestions from someone who has done that over 5 years.
* Do *have* a mailing list. Nothing beats it reach.
* Have a good ticketing system. We used to let people who are online to pick up tickets from any geo and work on it unless it is something that requires hands on , in which case, we used to pass it on to the local contact.
* Use a good text based chatting solution. Video / audio solutions are good, but text is better for a lot of things, like small talk , sharing links or a way to avoid misunderstanding or misinterpretation that could happen in speaking. I generally prefer IRC for group chat. Setup a proxy server for IRC like https://code.google.com/p/dircproxy/ or have some form of logging and you could let users catch up with whatever happened on the channel while they are away.
* Arrange their timings, such that atleast one person from each geo will have atleast a hours overlap with a person from the geo closest to him. EG:
* Have video meetings r meetings over the phone atleast once a week.
* Get them to put their pictures, phone nos., and responsibilities on a intranet / address book.
* Have weekly meetings in any medium and if you can't have everyone to have their say, let one person from each geo each week talk about any issues they have or something good they did that week.
* Other collaborative software that is good to have : wiki , version control, Calendar (egroupware / google / exchange) , pastebin (share code / error snippets).
I'm currently reading a book about that topic, and although it is mainly focused on software development (while mine is system and network administration), you learn a lot about building distributed teams - even if you do not plan to go all agile. Highly recommended reading for your problem.
Jutta Eckstein (2010): Agile Software Development with Distributed Teams, Dorset House (New York), ISBN: 978-0-932633-71-2
http://www.jeckstein.com/distributed-teams/
And I've been to several remote teams
- Have email and preferably shared calendar. Google Apps can do that for you
- Task management. ScrumDo has positively surprised me
- Wiki: Redmine instead of Trac
Code-wise, if you need for programmers, IMHO nothing beats git-svn.
SVN: easy to setup server, centralized, plenty of tools, etc
Git is killer for the client though. Other 'less wise' clients can use tortoise svn
how long until
I've worked in a virtual team for over 10 years and the short answer is that making it work takes work. Most engineers are solitary and it takes a lot of communication to keep a virtual team together. I wrote a book about it. The One Minute Commute. It is available free.
1. Blog your progress. Whatever you did today, blog it. Let people know what you did that worked, or what was faster (Nginx vs. Apache), or what wasn't (ColdFusion?). Don't reinvent the wheel, use WordPress, regardless of whether you like PHP/MySQL or not.
2. Use a subscription/payment management company. You're just a small group of nerds, not accounts receivable clerks. Fastspring, Plimus are free; Chargify, Subsify, Cheddar Getter, BrainTree, Spreedly charge; and Zuora is expensive.
3. Use Google Docs and Slideshare to share documents.
4. Chat. Don't just rely on email. Emails can often read like "this way or the highway". Be collaborative. You can often accomplish more with 15-30min collaboratively as opposed to composing and responding to long emails. Skype, Jabber, SIP
5. Take notes on what you did. Made a server configuration or a setting change in your CMS, your compiler, or whatever? Copy and paste from xterm so you don't have to guess about those commandline switches next time. Take screenshots and make them available to others. Zim, Projly, DokuWiki.
6. Have a phone numbers. If not bog-standard landline phones, take advantage of Google Voice and SkypeOut and SkypeIn (people can call your Skype line on a normal phone number). I realize Google Voice might not be available in South Africa yet.
7. Someone mentioned version control. Use git if you're a cool kid. Or svn if you're old and busted. Read the RedBean book. I've had success in having non-tech colleagues using graphical clients like TortoiseSVN (integrates into Windows Explorer).
8. Write tests. Any member of your team, sitting anyplace, should be able to push a button and run all your tests. Tests document how you're supposed to use a given method, class, etc., especially valuable when you're so far flung. Use JUnit, PHPUnit, FooUnit for your language. Write the tests before you develop, and you're doing Test Driven Development.
9. If you're writing tests, that implies loose coupling, which might require dependency injection. Can be difficult to climb that mountain, but it's worth it when you can just run a test and be sure your project works.
10. Development processes: Scrum, Extreme Programming. UML lets you communicate graphically about objects.
I'm not a lawyer, but I play one on the Internet. Blog
Honestly, the chance of a virtual team becoming a real team is much lower than for a team at a single site. No matter the technology, the chances are stacked against you. In my observation a lot of virtual teams have to improve to reach a dysfunctional level.
Less than 1/3 of the virtual teams i know have reached any status resembling a real team (e.g. partitioning the work, fail-over in case of illness/vacation, successful handovers inside the team, cooperation, load sharing). If you take social aspects into consideration, the rate is even lower.
From the technical side, the best effect has been a permanent open chat with all present team members and an internal Wiki. In all cases, this has improved the situation.
CU, Martin
I personally work at a virtual company, and aside from a neighbor which also works there, I have rarely met my coworkers in person. We use WebEx in order to have online meetings, and work on things together. We use Groopex Integrated Conferencing to integrate WebEx with our corporate site to easily schedule meetings and launch them. We use Google Apps to share various office documents around. We use MediaWiki to keep track of current projects, todo lists, documentation, and other important information. Lastly, for source code, we use various version control system with nice web frontends so the managers can see that we actually work on things.
For quick conversation with coworkers, we have an IRC server, and if we really need someone else urgently, we just pick up this archaic technology known as the "telephone".
You can be an insane coder too, read: Insane Coding
Producing Open Source Software (http://producingoss.com/) has some good descriptions of tools and practices used by open source projects. It's a bit of cultural anthropology: a lot of the ideas are obvious if you've been doing the open-source thing for awhile, but you may not have thought about how to express them. The Art of Community (http://www.artofcommunityonline.org/) covers some of the same ground.
Kalbies-tu Lietuviskai? As gyvanau Lietuve, 3 m. (nuo 2000 iki 2003), bet as iskeliau a JAV (USA) ir gyvaneu Amerikoje dabar.
Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
I don't know of any products that would do this but some one should make it. If you build an office in a computer game but integrate web cams or xbox kinects so you got real time real life images of your workmates, then display it on a projector or an extra screen. This way you get all the advantages of working in an office team, while being able to relax on a boat next to a Caribbean island (which has good wifi). Also depending on your business a great way for clients or contractors from any where in the world to communicate with the whole team. Given 5 years and light weight good res video glasses, (or eventually holograms and hacking of the optic nerve) this will be even more feasible.
Rocket Surgeon.
I'm a developer and I've been working remotely from other people for the last 12 years. Nowadays, I rarely work on a project that has co-located people. We may occasionally meet each other in person, if we happen to be onsite at a client's location, but we never have physical team meetings just to meet. I haven't physically met any of my managers in ten years. What I've noticed about successful remote teams is that they adhere to a process, they have good project managers, and they've got kick ass coders who know how to keep to a schedule and know how to produce effective written communication. We tend to arrange work to take advantage of differences in time zones, so that one person or team can pick up where another left off. The project I'm on now has coders in the US, in four time zones, and the test team is in China. The testers test while the coders sleep. This sometimes isn't possible, and late evening or early morning meetings are sometimes necessary, but this is the exception, not the rule. The company I work for is a Lotus shop as far as online group collaboration tools go. We use Lotus Notes (please, no rants, it's not perfect but it works), Lotus SameTime (instant messaging), Lotus Live (desktop sharing). Lotus Connections (wikis and sharing documents), and IRC. Quite a few of my co-workers have toll free conference numbers that we use for group meetings.
In 1999, when I first started working from home it was difficult. Most of the people worked together at the same physical location and the way that they approached working on a team reflected this. For instance, it used to be that when everyone was co-located, and only one or two of the team members were remote, a lot of information was not communicated to the remote people in an effective and timely manner. I've found that good communication skills are more important on distributed teams. As time has gone on, and more and more of the company works remotely from one another, it has become much easier to work in distributed teams.
I've come to prefer working on distributed teams. On longer projects I make it a point of getting to know my team members as more than just resources. This means that meetings are not always all business. Sometimes we discuss the weather, each other's home life, and other non-work related items. When people know more about each other and spend time casually chatting they tend to back each other up more. We cover for each other on vacation and emergency situations. Working from home leaves me a lot of flexibility in my schedule. No one cares if I take an hour for lunch and go for a bike ride. Mid afternoon naps in the recliner are great. What's important to the company is that my work is delivered on schedule and that it works as promised.
Distributed teams can and do work very well.
Try to adopt Yammer or some other micro-blogging platform, and encourage people write often, preferably once a day what they are up to. For techier types, IRC works better, of course.
Unless your team members are going to be shifting a lot then have a good kickoff with everyone in one place. Yes it may be expensive but it builds that initial bond so when everyone returns to their respective countries they have an established familiarity with the rest of the team.
Don't be afraid to change the makeup. If someone isn't working out (and you can) remove or replace them. Not everyone gels with everyone. Conversely just because people don't like each other doesn't mean they won't be good team members.
Encourage casual communications, IM, etc. Don't push meaningless formal meetings.
-Xen
I've been working from cuba for a spanish company for almost a decade now. we also have had people working on india and buenos aires.
- phone is overrated, keep always in touch with im
- use trac or similar ticketing software for all your projects
- always reflect in your tickets discussions relative to how to solve a problem, never let the only reference to a task be in just an email or a chat log.
- keep tickets simple and small.
- somebody on the team has to spend time reading tickets and prioritizing them
- use git or svn
- tests
I find instant messaging to be invaluable, even when everybody's located in the same physical office.
You can create a permanent chat room on Skype that your team can be in all the time. Skype allows notifications based on keyword, so you can filter out the chatter that's not important to you. Very, very handy feature -- especially since VoIP is just a click away.
I currently work on several multi-site research projects, and the biggest lesson we've learned is that when you do conference calls EVERYONE should be prepared to offer a summary of what they've been working on and how it's going. Additionally, have one person who's sole job is to get task lists from everyone and to check off status updates on that master list so that nothing is accidentally left out.
Before we implemented that in our conference calls, it would basically be the senior people talking to each other while the junior team members basically tuned out and just waited to be told what to do. Additionally, many little things fell through the cracks - people were worried about mentioning delays or issues that came up with their task lists because they felt like it wasn't important enough to bring up at the meeting.
After, we found that people were more likely to contribute to the meetings in general, and we found that we were addressing potential problems before, rather than after, they caused issues. Additionally, people were less likely to stray from their tasks because they knew that every week they'd be asked about everything on their plate so they'd need to be on point.
Finally, as a good demonstration of leadership, ALWAYS try to have the inconvenient timezone be the one the senior members of the team are in. If someone's going to get screwed with an 11pm conference call, make sure it's the most senior person/people. That's why they pay you the big bucks.
Since I can't tell them apart, I treat all ACs as the same person.
Communicate in text as often as possible, especially on the more technical discussions. I was on an international bridge the other day and a good 20% of the communication was people having to repeat themselves to over come accents and language barriers. It would have been so much easier to have been in IRC.
The answer is you have to be agile. It has to be a team effort where dysfunction is caught by the team, not by you. Distributed scrum works well for this. With distributed scrum, the tool is very important. Trac/Agilo, Pivotal, JIRA/Greenhopper, etc. You need to make sure that you motivate everyone toward a goal and make the success of the team more important than the success of any individual.
Make sure you have a real-time communication mechanism, jabber, IRC, mumble, etc so that people don't feel isolated. Distributed teams can absolutely work well. You should definitely schedule some sort of face to face interaction at regular intervals to encourage team building and planning for larger projects/problems.
~B
The company I work for currently has more than 50% of its employees working remotely. We actually provide easy to use, affordable solutions for collaboration -- in particular HD video conferencing using a SVC (scalable video coding) which is incredible for dealing with low bandwidth or variable bandwidth situations. You can check out the information and even get demos of the technology @ www.corocall.com
What I think you mean is a remote, distributed team. In a Virtual Team, everyone will report to managers other than yourself ... and the challenge is to ensure that their Managers set their goals appropriately ... meaning aligned with your goals ;> That's an interesting set of challenges, but different than (but may/often coexist with) remote/distributed team issues.
I've been part of, or leading distributed teams on and off since the 1980's. The technical details change; but the core issues are innate.
1. Strive to have a single team; not a group of smaller teams. This has various ramifications, see below, but it's something to keep in mind in many different contexts (single manager, etc.).
2. Good written communications are vital. Even if everyone is a native speaker in the shared language, what isn't written down "didn't happen". twikis blogs, memos, what really matters is that the documents are clear, regularly updated,and located in a "central repository" where anyone on the team can find them.
3. Make everyone remote! That is avoid having clusters of offices where the intra-geo communication is "live in person" and the others are remote. If everyone is "on the same level playing field" people develop the "right reflexes" if they have a group they talk with around the whiteboard or coffee urn, those discussions will be valued differently, and some fraction may not be reflected to others.
4. Other points notwithstanding, do have periodic in person sessions (whole team is nice; but even having smaller batches visiting and having the "local" team meet in person for the event). Ideally, kick off major efforts with a whole team in person meeting. Getting everyone on "the same page" and doing the initial work partitioning collectively gives good value.
5. Openess: all work that could be observed locally, should be observable remotely!
6. Trust is vital; easy to lose, hard to regain. But without trust, subgroups will work defensively and increasingly less productively.
7. Perceptions are critical to maintaining trust. So good "traffic volume", "traffic quality" and "response time". ... your remote coworkers may well be working late (or at least will notice) if you don't deign to respond early in your shift to something urgent.
7.1 Be timely in your responses. IM/IRC, whatever is great and if people are timezone aligned are must have tools. However, even with email (to handle timezone skew) responded early in your shift
8. Write minutes for all phone conferences. Watch the video "Meetings Bloody Meetings" by John Cleese.
Experience says that the specific tools are not critical ... anything faster than 300baud, and virtual punch cards can work (yes, early IBM "email" was often a virtual print to someone else's virtual card reader) can be made to work. Focus on the people and their interactions ... and pick tools which everyone, everywhere on your team can be comfortable with. That's far more important than all singing, dancing spiffy technology.
Bit by bit.
Seriously.
It really depends on the individuals and what you're trying to do, but too many organizations fool themselves into thinking: this virtual team stuff better be cheap and not involve much travel, because I'm counting on it being cheap. For some teams, what you'll gain spending full days in the same place together regularly, including going to meals, etc., will be tremendously more valuable than what you can ever achieve remotely. For others, where everyone is on the same page and easily understands each other and the job's needs, well fine not so much travel is needed, maybe none.
My point is: don't count on not needing contact just because you don't want to budget for it. If you need it, whether to get your actual group planning right, or to build trust, or just to take the measure of who can do what and work with whom, then something big is likely to be lost of you don't arrange for it. BTW: just sending just a manager doesn't always do it either. Sometimes teams need to really spend time with each other.
And yes, the carbon footprint for travel like this is awful. But then again, that's one of the reasons for building a team that's centralized in the first place. You don't have to tradeoff face-to-face contact for travel time, cost, expense and pollution.
My only suggestion is to learn to communicate with them the way they prefer it to happen. I've recently been paired up with a bunch of cell-phone addicts, whereas I'm an email junkie. Just getting these guys to check email once before phoning me first thing in the morning has been maddening.
"Tongue tied and twisted, just an Earth bound misfit
Lots of folks have said good things about weekly meetings, good software, and etc. As a telecommuting veteran, I have found that it is extremely helpful to be consistently available. Whatever hours you (or anyone) work, whenever you are, be consistent. Everyone on the team should know the hours that Johnny and Jill are online and available for chat - without having to look at a spreadsheet or calendar to see if they have changed things up this week. Being busy and/or in a meeting is fine - that happens no matter what the environment. But folks should 'just know' when people are around.
Our tools in rough order of use:
HipChat
Email
Skype
gcal
The other thing(s) those projects also have in common are, not needing to meet a budget, not needing to meet a schedule, etc... etc... They're also (largely) worked on in people's spare time - they wouldn't reliably be available for a phone call in the first place.
make sure y'all have webcams and the software to show the video wall of all connected users. i work remotely myself, and i can't tell you how much more PRESENT i feel at meetings when i can see the participants in the office meeting room, plus any other remote users. Just being able to see who's talking helps in a way that's difficult to describe, everyone will definitely notice the difference.
I recommend using skype with webcams. Try to download business package, it has good features. Also try other programs. Try and you will find the best choice.
...sure, they're not very productive, but instead of firing them I can just change heads.
My 5 flower shops (small towns) don't use version control ... or do any programming. We outsourced that technical crap to India.
We talk on regular phones daily and combine orders when possible (roses).
We do have a corporate website with a wiki where we share ideas. We have a real document management system for different advertisements, but we outsource most of that design work too, so usually there is just the final assets in the system.
Fengoffice is an open source web environment that is could be good for some ways of collaboration, specially in sparse teams. You can install it in your own server or use it as an online service in the company website.
Hope this helps. The big problem I've found with conference calls is they have no sense of presence. I've been working in the virtual world space at Venuegen.com for the past 3 years now, and Enterprise virtual worlds are damn near as good if not better in many ways as actually being in an office with someone. With 3d positional sound and photos mapped to avatar face geometry you see your coworkers in the room and hear them with respect to your position. No one ever has to ask "who just joined us" as you can see their face or look at their name. Whats more is everyone can bring up their desktop and share it, just like if you were in a room walking around the table and looking at peoples laptops. If you simply must see their face you can always webcam in too.
Honestly, virtual worlds do have a long way to go for the consumer, but this kind of tech will enable many of the positive attributes (getting the team together, regular meetings, better than conference calls, content collaboration, chat, schedule handling, etc) mentioned in previous comments for businesses.
Good luck!
p.s. there is a mac port available, and we are running on Linux in the office... just need to work out some details for installation.
Hopefully it's obvious that you should treat your virtual workers well.
I was on a team of a few people that worked in one office and we worked virtually for another office. We weren't treated well and our moral suffered. We just didn't care about the work that much.
Once instance of getting crap from them was we would often lose connectivity to their office. The problem was on their end, but they took a week for them to fix it. Then we were asked, "Why are you a week behind?" When the same thing happened but to those that were physically in that office, it was fixed almost instantly.
With team moral low, they decided to have some team building. But they made us take a week out of our lives and go to them. Yeah, that didn't improve things.
Fuck off home, then.
Make sure you block Monster and Dice at the firewall.
From my experience:
1. Be sure to have some voice call with each member *at least* once a week, be it a 1-to-1 call or a small conference. We're in the digital age but human contact is very important for the morale of the team! For the same reason I also recommend getting together, as in a real meeting, once or twice a year. You'd surely think about the cost, yet I'm quite sure getting a well-jelled team is going to produce better results and easily overcome the travel / accommodation bills.
2. Use a developer-friendly tool to organize tasks, code and information. We picked up redmine (http://www.redmine.org), it's a nice container for tickets/tasks, wiki / news / forums, etc. And for the "talk perl to me" guys, the code it's one click away. If you're not into software development, the same concept applies: the key point is to have a central tool to store what's going on (as other posters suggested) and what needs to be done. Commercial alternative: jira (http://www.atlassian.com/software/jira/) + related offerings.
3. Somebody has to be in charge. At least one person will need to spend a good chunk of his day working *for* the team. Call it project manager, team leader, dept. head, whatever. Be ready to sacrifice a person workday for the team wellness, do not underestimate the coordinator role.
Technologies such as Skype, WebEx, Telepresence, and others will help, but a methodology is still needed. Look into Agile and particularly SCRUM. I guarantee that it will help!
Make sure everyone on your team has clear goals and objectives that advance those of your organization. Engage can help http;//engage.calibreapps.com
I have led virtual teams for many years. A very effective and cheap way to hold the team together is something PHYSICAL. A T-Shirt, a Mug, bumper sticker etc.
When I did this the first time (it was a mug with our team logo) - I was surprised about the positive effect it had.
Contact VOMI. They also have a 90-Day Virtual Organization Academy Program for corporate executives at http://shortlinks.virtualorganizationinstitute.com/yvadn
They are all about virtual organization management. You can learn more at http://www.virtualorganization.net/ and at http://www.virtualorganizationinstitute.com/
... ritualization of asynchronous interaction, ... structured, living documentation of as much as possible and reasonable for everybody in the team, ... cultural development which leads to strong team cohesion despite distance and lack of face2face contact ... having motivated team members which are not lazy.
(might use webcams or play something informal online together),